xcode-install 2.6.4 → 2.6.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.github/workflows/ci.yml +36 -0
- data/lib/xcode/install.rb +19 -8
- data/lib/xcode/install/version.rb +1 -1
- data/spec/fixtures/xcode.json +30 -1
- data/spec/fixtures/xcode_63.json +28 -44
- data/spec/fixtures/yolo.json +1 -1
- data/spec/installer_spec.rb +109 -104
- data/spec/json_spec.rb +14 -4
- data/spec/list_spec.rb +18 -5
- data/xcode-install.gemspec +2 -2
- metadata +14 -13
- data/.github/workflows/e2e.yml +0 -47
data/spec/json_spec.rb
CHANGED
@@ -6,9 +6,9 @@ module XcodeInstall
|
|
6
6
|
fixture = Pathname.new('spec/fixtures/xcode.json').read
|
7
7
|
xcode = Xcode.new(JSON.parse(fixture))
|
8
8
|
|
9
|
-
xcode.date_modified.should ==
|
10
|
-
xcode.name.should == '
|
11
|
-
xcode.url.should == 'https://developer.apple.com/devcenter/download.action?path=/Developer_Tools/
|
9
|
+
xcode.date_modified.should == 1_572_613_080
|
10
|
+
xcode.name.should == '9.3'
|
11
|
+
xcode.url.should == 'https://developer.apple.com/devcenter/download.action?path=/Developer_Tools/Xcode_9.3/Xcode_9.3.xip'
|
12
12
|
end
|
13
13
|
|
14
14
|
it 'can parse list of all Xcodes' do
|
@@ -19,7 +19,17 @@ module XcodeInstall
|
|
19
19
|
installer.stubs(:installed_versions).returns([])
|
20
20
|
installer.stubs(:xcodes).returns(seedlist)
|
21
21
|
|
22
|
-
|
22
|
+
versions = [
|
23
|
+
'4.3 for Lion', '4.3.1 for Lion', '4.3.2 for Lion', '4.3.3 for Lion', '4.4.1', '4.5', '4.6.2', '4.6', '4.6.1', '4.6.3',
|
24
|
+
'5.0.1', '5', '5.0.2', '5.1', '5.1.1',
|
25
|
+
'6.0.1', '6.1', '6.1.1', '6.2', '6.3', '6.3.1', '6.3.2', '6.4',
|
26
|
+
'7', '7.0.1', '7.1', '7.1.1', '7.2.1', '7.2', '7.3', '7.3.1',
|
27
|
+
'8', '8.1', '8.2', '8.2.1', '8.3.2', '8.3.3', '8.3',
|
28
|
+
'9', '9.0.1', '9.1', '9.2', '9.3', '9.3.1', '9.4', '9.4.1',
|
29
|
+
'10', '10.1', '10.2.1', '10.2', '10.3',
|
30
|
+
'11', '11.1', '11.2', '11.2.1', '11.3 beta', '11.3', '11.3.1', '11.4 beta', '11.4', '11.4 beta 3', '11.4 beta 2', '11.4.1', '11.5 beta 2', '11.5', '11.5 GM Seed', '11.5 beta'
|
31
|
+
]
|
32
|
+
installer.list.split("\n").should == versions
|
23
33
|
end
|
24
34
|
|
25
35
|
it 'raises informative error when account is not registered as a developer' do
|
data/spec/list_spec.rb
CHANGED
@@ -23,8 +23,9 @@ module XcodeInstall
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def fake_installed_xcode(name)
|
26
|
-
|
27
|
-
|
26
|
+
installed_name = name.split(' ').join('.')
|
27
|
+
xcode_path = "/Applications/Xcode-#{installed_name}.app"
|
28
|
+
xcode_version = name.split(' ').first
|
28
29
|
xcode_version << '.0' unless name.include? '.'
|
29
30
|
|
30
31
|
installed_xcode = InstalledXcode.new(xcode_path)
|
@@ -42,15 +43,27 @@ module XcodeInstall
|
|
42
43
|
it 'lists all versions' do
|
43
44
|
fake_xcodes '1', '2.3', '2.3.1', '2.3.2', '3 some', '4 beta', '10 beta'
|
44
45
|
fake_installed_xcodes
|
45
|
-
installer.list.should == "1\n2.3\n2.3.1\n2.3
|
46
|
+
installer.list.should == "1\n2.3.2\n2.3.1\n2.3\n3 some\n4 beta\n10 beta"
|
46
47
|
end
|
47
48
|
end
|
48
49
|
|
49
50
|
describe '#list_annotated' do
|
50
51
|
it 'lists all versions with annotations' do
|
51
52
|
fake_xcodes '1', '2.3', '2.3.1', '2.3.2', '3 some', '4.3.1 for Lion', '9.4.1', '10 beta'
|
52
|
-
fake_installed_xcodes '2.3', '4.3.1', '10'
|
53
|
-
installer.list.should == "1\n2.3
|
53
|
+
fake_installed_xcodes '2.3', '4.3.1 for Lion', '10 beta'
|
54
|
+
installer.list.should == "1\n2.3.2\n2.3.1\n2.3 (installed)\n3 some\n4.3.1 for Lion (installed)\n9.4.1\n10 beta (installed)"
|
55
|
+
end
|
56
|
+
|
57
|
+
it 'distinguish between beta and official_version' do
|
58
|
+
fake_xcodes '11.4', '11.4 beta'
|
59
|
+
fake_installed_xcodes '11.4'
|
60
|
+
installer.list.should == "11.4 beta\n11.4 (installed)"
|
61
|
+
end
|
62
|
+
|
63
|
+
it 'distinguish each beta versions' do
|
64
|
+
fake_xcodes '11.4 beta', '11.4 beta 3'
|
65
|
+
fake_installed_xcodes '11.4 beta'
|
66
|
+
installer.list.should == "11.4 beta 3\n11.4 beta (installed)"
|
54
67
|
end
|
55
68
|
end
|
56
69
|
end
|
data/xcode-install.gemspec
CHANGED
@@ -27,6 +27,6 @@ Gem::Specification.new do |spec|
|
|
27
27
|
# contains spaceship, which is used for auth and dev portal interactions
|
28
28
|
spec.add_dependency 'fastlane', '>= 2.1.0', '< 3.0.0'
|
29
29
|
|
30
|
-
spec.add_development_dependency 'bundler', '~>
|
31
|
-
spec.add_development_dependency 'rake', '
|
30
|
+
spec.add_development_dependency 'bundler', '~> 1.7'
|
31
|
+
spec.add_development_dependency 'rake', '>= 12.3.3'
|
32
32
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xcode-install
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.6.
|
4
|
+
version: 2.6.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Boris Bügling
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-06-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: claide
|
@@ -56,28 +56,28 @@ dependencies:
|
|
56
56
|
requirements:
|
57
57
|
- - "~>"
|
58
58
|
- !ruby/object:Gem::Version
|
59
|
-
version: '
|
59
|
+
version: '1.7'
|
60
60
|
type: :development
|
61
61
|
prerelease: false
|
62
62
|
version_requirements: !ruby/object:Gem::Requirement
|
63
63
|
requirements:
|
64
64
|
- - "~>"
|
65
65
|
- !ruby/object:Gem::Version
|
66
|
-
version: '
|
66
|
+
version: '1.7'
|
67
67
|
- !ruby/object:Gem::Dependency
|
68
68
|
name: rake
|
69
69
|
requirement: !ruby/object:Gem::Requirement
|
70
70
|
requirements:
|
71
|
-
- - "
|
71
|
+
- - ">="
|
72
72
|
- !ruby/object:Gem::Version
|
73
|
-
version:
|
73
|
+
version: 12.3.3
|
74
74
|
type: :development
|
75
75
|
prerelease: false
|
76
76
|
version_requirements: !ruby/object:Gem::Requirement
|
77
77
|
requirements:
|
78
|
-
- - "
|
78
|
+
- - ">="
|
79
79
|
- !ruby/object:Gem::Version
|
80
|
-
version:
|
80
|
+
version: 12.3.3
|
81
81
|
description: Download, install and upgrade Xcodes with ease.
|
82
82
|
email:
|
83
83
|
- boris@icculus.org
|
@@ -89,7 +89,7 @@ extra_rdoc_files: []
|
|
89
89
|
files:
|
90
90
|
- ".circleci/config.yml"
|
91
91
|
- ".gitattributes"
|
92
|
-
- ".github/workflows/
|
92
|
+
- ".github/workflows/ci.yml"
|
93
93
|
- ".gitignore"
|
94
94
|
- ".rubocop.yml"
|
95
95
|
- ".rubocop_todo.yml"
|
@@ -145,7 +145,7 @@ homepage: https://github.com/neonichu/xcode-install
|
|
145
145
|
licenses:
|
146
146
|
- MIT
|
147
147
|
metadata: {}
|
148
|
-
post_install_message:
|
148
|
+
post_install_message:
|
149
149
|
rdoc_options: []
|
150
150
|
require_paths:
|
151
151
|
- lib
|
@@ -160,8 +160,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
160
160
|
- !ruby/object:Gem::Version
|
161
161
|
version: '0'
|
162
162
|
requirements: []
|
163
|
-
|
164
|
-
|
163
|
+
rubyforge_project:
|
164
|
+
rubygems_version: 2.6.14.4
|
165
|
+
signing_key:
|
165
166
|
specification_version: 4
|
166
167
|
summary: Xcode installation manager.
|
167
168
|
test_files:
|
data/.github/workflows/e2e.yml
DELETED
@@ -1,47 +0,0 @@
|
|
1
|
-
name: "E2E test"
|
2
|
-
on: [pull_request]
|
3
|
-
|
4
|
-
jobs:
|
5
|
-
check_install:
|
6
|
-
strategy:
|
7
|
-
fail-fast: false
|
8
|
-
matrix:
|
9
|
-
os: [macos-latest]
|
10
|
-
xcode: ["10.0", "10.1", "10.2.1", "10.3", "11.0", "11.1", "11.2.1"]
|
11
|
-
|
12
|
-
runs-on: ${{ matrix.os }}
|
13
|
-
env:
|
14
|
-
# It needs AppleID that has disabled 2FA.
|
15
|
-
XCODE_INSTALL_USER: ${{ secrets.XCODE_INSTALL_USER }}
|
16
|
-
XCODE_INSTALL_PASSWORD: ${{ secrets.XCODE_INSTALL_PASSWORD }}
|
17
|
-
steps:
|
18
|
-
# Prepare env
|
19
|
-
- uses: actions/checkout@master
|
20
|
-
- uses: actions/setup-ruby@master
|
21
|
-
with:
|
22
|
-
ruby-version: '2.6'
|
23
|
-
|
24
|
-
# Show env
|
25
|
-
- name: Show macOS version
|
26
|
-
run: sw_vers
|
27
|
-
- name: Show ruby version
|
28
|
-
run: |
|
29
|
-
ruby --version
|
30
|
-
bundler --version
|
31
|
-
|
32
|
-
# Prepare
|
33
|
-
- run: bundle install -j4 --clean --path=vendor
|
34
|
-
- run: bundle exec xcversion update
|
35
|
-
- name: Show installed versions before install
|
36
|
-
run: bundle exec xcversion installed
|
37
|
-
- name: Uninstall installed target Xcode version
|
38
|
-
run: bundle exec xcversion uninstall ${{ matrix.xcode }} || true
|
39
|
-
|
40
|
-
# Exec
|
41
|
-
- run: bundle exec xcversion install ${{ matrix.xcode }}
|
42
|
-
|
43
|
-
# Check
|
44
|
-
- name: Show installed versions after install
|
45
|
-
run: bundle exec xcversion installed
|
46
|
-
- name: Check Xcode installation was successful
|
47
|
-
run: bundle exec xcversion installed | grep "${{ matrix.xcode }}"
|