xcode-install-citrus 2.5.0

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.
Files changed (55) hide show
  1. checksums.yaml +7 -0
  2. data/.circleci/config.yml +33 -0
  3. data/.gitattributes +1 -0
  4. data/.gitignore +16 -0
  5. data/.rubocop.yml +21 -0
  6. data/.rubocop_todo.yml +78 -0
  7. data/Gemfile +12 -0
  8. data/LICENSE +22 -0
  9. data/README.md +198 -0
  10. data/Rakefile +16 -0
  11. data/bin/xcversion +12 -0
  12. data/bin//360/237/216/211 +3 -0
  13. data/lib/xcode/install.rb +761 -0
  14. data/lib/xcode/install/cleanup.rb +14 -0
  15. data/lib/xcode/install/cli.rb +30 -0
  16. data/lib/xcode/install/command.rb +32 -0
  17. data/lib/xcode/install/install.rb +55 -0
  18. data/lib/xcode/install/installed.rb +24 -0
  19. data/lib/xcode/install/list.rb +17 -0
  20. data/lib/xcode/install/select.rb +36 -0
  21. data/lib/xcode/install/selected.rb +12 -0
  22. data/lib/xcode/install/simulators.rb +65 -0
  23. data/lib/xcode/install/uninstall.rb +36 -0
  24. data/lib/xcode/install/update.rb +14 -0
  25. data/lib/xcode/install/version.rb +3 -0
  26. data/spec/cli_spec.rb +16 -0
  27. data/spec/curl_spec.rb +26 -0
  28. data/spec/fixtures/devcenter/xcode-20150414.html +263 -0
  29. data/spec/fixtures/devcenter/xcode-20150427.html +263 -0
  30. data/spec/fixtures/devcenter/xcode-20150508.html +279 -0
  31. data/spec/fixtures/devcenter/xcode-20150601.html +212 -0
  32. data/spec/fixtures/devcenter/xcode-20150608.html +315 -0
  33. data/spec/fixtures/devcenter/xcode-20150624.html +318 -0
  34. data/spec/fixtures/devcenter/xcode-20150909.html +309 -0
  35. data/spec/fixtures/devcenter/xcode-20160601.html +1872 -0
  36. data/spec/fixtures/devcenter/xcode-20160705-alt.html +317 -0
  37. data/spec/fixtures/devcenter/xcode-20160705.html +1909 -0
  38. data/spec/fixtures/devcenter/xcode-20160922.html +878 -0
  39. data/spec/fixtures/devcenter/xcode-20161024.html +663 -0
  40. data/spec/fixtures/hdiutil.plist +31 -0
  41. data/spec/fixtures/mail-verify.html +222 -0
  42. data/spec/fixtures/not_registered_as_developer.json +11 -0
  43. data/spec/fixtures/xcode.json +1 -0
  44. data/spec/fixtures/xcode_63.json +46 -0
  45. data/spec/fixtures/yolo.json +1 -0
  46. data/spec/install_spec.rb +62 -0
  47. data/spec/installed_spec.rb +19 -0
  48. data/spec/installer_spec.rb +101 -0
  49. data/spec/json_spec.rb +32 -0
  50. data/spec/list_spec.rb +57 -0
  51. data/spec/prerelease_spec.rb +108 -0
  52. data/spec/spec_helper.rb +16 -0
  53. data/spec/uninstall_spec.rb +12 -0
  54. data/xcode-install.gemspec +32 -0
  55. metadata +195 -0
data/spec/json_spec.rb ADDED
@@ -0,0 +1,32 @@
1
+ require File.expand_path('../spec_helper', __FILE__)
2
+
3
+ module XcodeInstall
4
+ describe JSON do
5
+ it 'can parse Xcode JSON' do
6
+ fixture = Pathname.new('spec/fixtures/xcode.json').read
7
+ xcode = Xcode.new(JSON.parse(fixture))
8
+
9
+ xcode.date_modified.should == 1_413_472_373_000
10
+ xcode.name.should == 'Command Line Tools (OS X 10.9) for Xcode - Xcode 6.1'
11
+ xcode.url.should == 'https://developer.apple.com/devcenter/download.action?path=/Developer_Tools/command_line_tools_os_x_10.9_for_xcode__xcode_6.1/command_line_tools_for_osx_10.9_for_xcode_6.1.dmg'
12
+ end
13
+
14
+ it 'can parse list of all Xcodes' do
15
+ fixture = Pathname.new('spec/fixtures/yolo.json').read
16
+ installer = Installer.new
17
+
18
+ seedlist = installer.send(:parse_seedlist, JSON.parse(fixture))
19
+ installer.stubs(:installed_versions).returns([])
20
+ installer.stubs(:xcodes).returns(seedlist)
21
+
22
+ installer.list.should == "6.1\n6.1.1\n6.2"
23
+ end
24
+
25
+ it 'raises informative error when account is not registered as a developer' do
26
+ installer = Installer.new
27
+ fixture = Pathname.new('spec/fixtures/not_registered_as_developer.json').read
28
+ should.raise(Informative) { installer.send(:parse_seedlist, JSON.parse(fixture)) }.message
29
+ .should.include fixture['You are not registered as an Apple Developer']
30
+ end
31
+ end
32
+ end
data/spec/list_spec.rb ADDED
@@ -0,0 +1,57 @@
1
+ require File.expand_path('../spec_helper', __FILE__)
2
+
3
+ module XcodeInstall
4
+ describe Command::List do
5
+ before do
6
+ installer.stubs(:exists).returns(true)
7
+ end
8
+
9
+ def installer
10
+ @installer ||= Installer.new
11
+ end
12
+
13
+ def fake_xcode(name)
14
+ fixture = Pathname.new('spec/fixtures/xcode_63.json').read
15
+ xcode = Xcode.new(JSON.parse(fixture))
16
+ xcode.stubs(:name).returns(name)
17
+ xcode
18
+ end
19
+
20
+ def fake_xcodes(*names)
21
+ xcodes = names.map { |name| fake_xcode(name) }
22
+ installer.stubs(:xcodes).returns(xcodes)
23
+ end
24
+
25
+ def fake_installed_xcode(name)
26
+ xcode_path = "/Applications/Xcode-#{name}.app"
27
+ xcode_version = name
28
+ xcode_version << '.0' unless name.include? '.'
29
+
30
+ installed_xcode = InstalledXcode.new(xcode_path)
31
+ installed_xcode.stubs(:version).returns(xcode_version)
32
+ installed_xcode.stubs(:bundle_version).returns(Gem::Version.new(xcode_version))
33
+ installed_xcode
34
+ end
35
+
36
+ def fake_installed_xcodes(*names)
37
+ xcodes = names.map { |name| fake_installed_xcode(name) }
38
+ installer.stubs(:installed_versions).returns(xcodes)
39
+ end
40
+
41
+ describe '#list' do
42
+ it 'lists all versions' do
43
+ fake_xcodes '1', '2.3', '2.3.1', '2.3.2', '3 some', '4 beta', '10 beta'
44
+ fake_installed_xcodes
45
+ installer.list.should == "1\n2.3\n2.3.1\n2.3.2\n3 some\n4 beta\n10 beta"
46
+ end
47
+ end
48
+
49
+ describe '#list_annotated' do
50
+ it 'lists all versions with annotations' do
51
+ 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 (installed)\n2.3.1\n2.3.2\n3 some\n4.3.1 for Lion (installed)\n9.4.1\n10 beta (installed)"
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,108 @@
1
+ require File.expand_path('../spec_helper', __FILE__)
2
+
3
+ module XcodeInstall
4
+ describe Installer do
5
+ def fixture(date)
6
+ File.read("spec/fixtures/devcenter/xcode-#{date}.html")
7
+ end
8
+
9
+ def parse_prereleases(date)
10
+ fixture = fixture(date)
11
+ @result.stubs(:body).returns(fixture)
12
+
13
+ installer = Installer.new
14
+ installer.send(:prereleases)
15
+ end
16
+
17
+ before do
18
+ devcenter = mock
19
+ devcenter.stubs(:download_file).returns(nil)
20
+ Installer.any_instance.stubs(:devcenter).returns(devcenter)
21
+
22
+ @result = mock
23
+ @result.stubs(:body).returns(nil)
24
+ client = mock
25
+ client.stubs(:request).returns(@result)
26
+ Spaceship::PortalClient.stubs(:login).returns(client)
27
+ end
28
+
29
+ it 'can parse prereleases from 20150414' do
30
+ prereleases = parse_prereleases('20150414')
31
+
32
+ prereleases.should == [Xcode.new_prerelease('6.4 beta', '/Developer_Tools/Xcode_6.4_Beta/Xcode_6.4_beta.dmg', '/Developer_Tools/Xcode_6.4_Beta/Xcode_6.4_beta_Release_Notes.pdf')]
33
+ end
34
+
35
+ it 'can parse prereleases from 20150427' do
36
+ prereleases = parse_prereleases('20150427')
37
+
38
+ prereleases.should == [Xcode.new_prerelease('6.4 beta 2', '/Developer_Tools/Xcode_6.4_beta_2/Xcode_6.4_beta_2.dmg', '/Developer_Tools/Xcode_6.4_beta_2/Xcode_6.4_beta_2_Release_Notes.pdf')]
39
+ end
40
+
41
+ it 'can parse prereleases from 20150508' do
42
+ prereleases = parse_prereleases('20150508')
43
+
44
+ prereleases.count.should == 2
45
+ prereleases.first.should == Xcode.new_prerelease('6.3.2 GM seed', '/Developer_Tools/Xcode_6.3.2_GM_seed/Xcode_6.3.2_GM_seed.dmg', '/Developer_Tools/Xcode_6.3.2_GM_seed/Xcode_6.3.2_GM_Seed_Release_Notes.pdf')
46
+ prereleases.last.should == Xcode.new_prerelease('6.4 beta 2', '/Developer_Tools/Xcode_6.4_beta_2/Xcode_6.4_beta_2.dmg', '/Developer_Tools/Xcode_6.4_beta_2/Xcode_6.4_beta_2_Release_Notes.pdf')
47
+ end
48
+
49
+ it 'can parse prereleases from 20150608' do
50
+ prereleases = parse_prereleases('20150608')
51
+
52
+ prereleases.count.should == 2
53
+ prereleases.first.should == Xcode.new_prerelease('7 beta', '/WWDC_2015/Xcode_7_beta/Xcode_7_beta.dmg', '/WWDC_2015/Xcode_7_beta/Xcode_7_beta_Release_Notes.pdf')
54
+ prereleases.last.should == Xcode.new_prerelease('6.4 beta 3', '/Developer_Tools/Xcode_6.4_beta_3/Xcode_6.4_beta_3.dmg', '/Developer_Tools/Xcode_6.4_beta_3/Xcode_6.4_beta_3_Release_Notes.pdf')
55
+ end
56
+
57
+ it 'can parse prereleases from 20150624' do
58
+ prereleases = parse_prereleases('20150624')
59
+
60
+ prereleases.count.should == 2
61
+ prereleases.first.should == Xcode.new_prerelease('7 beta 2', '/Developer_Tools/Xcode_7_beta_2/Xcode_7_beta_2.dmg', '/Developer_Tools/Xcode_7_beta_2/Xcode_7_beta_2_Release_Notes.pdf')
62
+ prereleases.last.should == Xcode.new_prerelease('6.4 beta 4', '/WWDC_2015/Xcode_6.4_beta_4/Xcode_6.4_beta_4.dmg', '/WWDC_2015/Xcode_6.4_beta_4/Xcode_6.4_beta_4_Release_Notes.pdf')
63
+ end
64
+
65
+ it 'can parse prereleases from 20150909' do
66
+ prereleases = parse_prereleases('20150909')
67
+
68
+ prereleases.count.should == 2
69
+ prereleases.first.should == Xcode.new_prerelease('7.1 beta', '/Developer_Tools/Xcode_7.1_beta/Xcode_7.1_beta.dmg', '/Developer_Tools/Xcode_7.1_beta/Xcode_7.1_beta_Release_Notes.pdf')
70
+ prereleases.last.should == Xcode.new_prerelease('7 GM seed', '/Developer_Tools/Xcode_7_GM_seed/Xcode_7_GM_seed.dmg', nil)
71
+ end
72
+
73
+ it 'can parse prereleases from 20160601' do
74
+ prereleases = parse_prereleases('20160601')
75
+
76
+ prereleases.count.should == 1
77
+ prereleases.first.should == Xcode.new('8 beta', '/services-account/download?path=/WWDC_2016/Xcode_8_beta/Xcode_8_beta.xip', '/go/?id=xcode-8-beta-rn')
78
+ end
79
+
80
+ it 'can parse prereleases from 20160705' do
81
+ prereleases = parse_prereleases('20160705')
82
+
83
+ prereleases.count.should == 1
84
+ prereleases.first.should == Xcode.new('8 beta 2', '/services-account/download?path=/Developer_Tools/Xcode_8_beta_2/Xcode_8_beta_2.xip', '/go/?id=xcode-8-beta-rn')
85
+ end
86
+
87
+ it 'can parse prereleases from 20160705 (alternative page)' do
88
+ prereleases = parse_prereleases('20160705-alt')
89
+
90
+ prereleases.count.should == 1
91
+ prereleases.first.should == Xcode.new_prerelease('8 beta 2', '/devcenter/download.action?path=/Developer_Tools/Xcode_8_beta_2/Xcode_8_beta_2.xip', nil)
92
+ end
93
+
94
+ it 'can parse prereleases from 20160922' do
95
+ prereleases = parse_prereleases('20160922')
96
+
97
+ prereleases.count.should == 1
98
+ prereleases.first.should == Xcode.new('8.1 beta', '/services-account/download?path=/Developer_Tools/Xcode_8.1_beta/Xcode_8.1_beta.xip', '/go/?id=xcode-8.1-beta-rn')
99
+ end
100
+
101
+ it 'can parse prereleases from 20161024' do
102
+ prereleases = parse_prereleases('20161024')
103
+
104
+ prereleases.count.should == 1
105
+ prereleases.first.should == Xcode.new('8.1 GM seed', '/services-account/download?path=/Developer_Tools/Xcode_8.1_GM_Seed/Xcode_8.1_GM_Seed.xip', '/go/?id=xcode-8.1-beta-rn')
106
+ end
107
+ end
108
+ end
@@ -0,0 +1,16 @@
1
+ require 'coveralls'
2
+ Coveralls.wear!
3
+
4
+ require 'pathname'
5
+ ROOT = Pathname.new(File.expand_path('../../', __FILE__))
6
+ $LOAD_PATH.unshift((ROOT + 'lib').to_s)
7
+ $LOAD_PATH.unshift((ROOT + 'spec').to_s)
8
+
9
+ ENV['DELIVER_USER'] = 'xcversion'
10
+ ENV['DELIVER_PASSWORD'] = '12345password'
11
+
12
+ require 'bundler/setup'
13
+ require 'bacon'
14
+ require 'mocha-on-bacon'
15
+ require 'pretty_bacon'
16
+ require 'xcode/install'
@@ -0,0 +1,12 @@
1
+ require File.expand_path('../spec_helper', __FILE__)
2
+
3
+ module XcodeInstall
4
+ describe Command::Uninstall do
5
+ describe 'when invoked' do
6
+ it 'raise error when the version is not specified' do
7
+ Command::Uninstall.any_instance.expects(:help!)
8
+ -> { Command::Uninstall.run([]) }.should.raise(Exception)
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,32 @@
1
+ # coding: utf-8
2
+
3
+ lib = File.expand_path('../lib', __FILE__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+ require 'xcode/install/version'
6
+
7
+ Gem::Specification.new do |spec|
8
+ spec.name = 'xcode-install-citrus'
9
+ spec.version = XcodeInstall::VERSION
10
+ spec.authors = ['Boris Bügling']
11
+ spec.email = ['boris@icculus.org']
12
+ spec.summary = 'Xcode installation manager.'
13
+ spec.description = 'Download, install and upgrade Xcodes with ease.'
14
+ spec.homepage = 'https://github.com/neonichu/xcode-install'
15
+ spec.license = 'MIT'
16
+
17
+ spec.required_ruby_version = '>= 2.0.0'
18
+
19
+ spec.files = `git ls-files -z`.split("\x0")
20
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
21
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
22
+ spec.require_paths = ['lib']
23
+
24
+ # CLI parsing
25
+ spec.add_dependency 'claide', '>= 0.9.1', '< 1.1.0'
26
+
27
+ # contains spaceship, which is used for auth and dev portal interactions
28
+ spec.add_dependency 'fastlane', '>= 2.1.0', '< 3.0.0'
29
+
30
+ spec.add_development_dependency 'bundler', '~> 1.7'
31
+ spec.add_development_dependency 'rake', '~> 10.0'
32
+ end
metadata ADDED
@@ -0,0 +1,195 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: xcode-install-citrus
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.5.0
5
+ platform: ruby
6
+ authors:
7
+ - Boris Bügling
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2019-07-16 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: claide
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 0.9.1
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: 1.1.0
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 0.9.1
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: 1.1.0
33
+ - !ruby/object:Gem::Dependency
34
+ name: fastlane
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: 2.1.0
40
+ - - "<"
41
+ - !ruby/object:Gem::Version
42
+ version: 3.0.0
43
+ type: :runtime
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: 2.1.0
50
+ - - "<"
51
+ - !ruby/object:Gem::Version
52
+ version: 3.0.0
53
+ - !ruby/object:Gem::Dependency
54
+ name: bundler
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '1.7'
60
+ type: :development
61
+ prerelease: false
62
+ version_requirements: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - "~>"
65
+ - !ruby/object:Gem::Version
66
+ version: '1.7'
67
+ - !ruby/object:Gem::Dependency
68
+ name: rake
69
+ requirement: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - "~>"
72
+ - !ruby/object:Gem::Version
73
+ version: '10.0'
74
+ type: :development
75
+ prerelease: false
76
+ version_requirements: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - "~>"
79
+ - !ruby/object:Gem::Version
80
+ version: '10.0'
81
+ description: Download, install and upgrade Xcodes with ease.
82
+ email:
83
+ - boris@icculus.org
84
+ executables:
85
+ - xcversion
86
+ - "\U0001F389"
87
+ extensions: []
88
+ extra_rdoc_files: []
89
+ files:
90
+ - ".circleci/config.yml"
91
+ - ".gitattributes"
92
+ - ".gitignore"
93
+ - ".rubocop.yml"
94
+ - ".rubocop_todo.yml"
95
+ - Gemfile
96
+ - LICENSE
97
+ - README.md
98
+ - Rakefile
99
+ - bin/xcversion
100
+ - "bin/\U0001F389"
101
+ - lib/xcode/install.rb
102
+ - lib/xcode/install/cleanup.rb
103
+ - lib/xcode/install/cli.rb
104
+ - lib/xcode/install/command.rb
105
+ - lib/xcode/install/install.rb
106
+ - lib/xcode/install/installed.rb
107
+ - lib/xcode/install/list.rb
108
+ - lib/xcode/install/select.rb
109
+ - lib/xcode/install/selected.rb
110
+ - lib/xcode/install/simulators.rb
111
+ - lib/xcode/install/uninstall.rb
112
+ - lib/xcode/install/update.rb
113
+ - lib/xcode/install/version.rb
114
+ - spec/cli_spec.rb
115
+ - spec/curl_spec.rb
116
+ - spec/fixtures/devcenter/xcode-20150414.html
117
+ - spec/fixtures/devcenter/xcode-20150427.html
118
+ - spec/fixtures/devcenter/xcode-20150508.html
119
+ - spec/fixtures/devcenter/xcode-20150601.html
120
+ - spec/fixtures/devcenter/xcode-20150608.html
121
+ - spec/fixtures/devcenter/xcode-20150624.html
122
+ - spec/fixtures/devcenter/xcode-20150909.html
123
+ - spec/fixtures/devcenter/xcode-20160601.html
124
+ - spec/fixtures/devcenter/xcode-20160705-alt.html
125
+ - spec/fixtures/devcenter/xcode-20160705.html
126
+ - spec/fixtures/devcenter/xcode-20160922.html
127
+ - spec/fixtures/devcenter/xcode-20161024.html
128
+ - spec/fixtures/hdiutil.plist
129
+ - spec/fixtures/mail-verify.html
130
+ - spec/fixtures/not_registered_as_developer.json
131
+ - spec/fixtures/xcode.json
132
+ - spec/fixtures/xcode_63.json
133
+ - spec/fixtures/yolo.json
134
+ - spec/install_spec.rb
135
+ - spec/installed_spec.rb
136
+ - spec/installer_spec.rb
137
+ - spec/json_spec.rb
138
+ - spec/list_spec.rb
139
+ - spec/prerelease_spec.rb
140
+ - spec/spec_helper.rb
141
+ - spec/uninstall_spec.rb
142
+ - xcode-install.gemspec
143
+ homepage: https://github.com/neonichu/xcode-install
144
+ licenses:
145
+ - MIT
146
+ metadata: {}
147
+ post_install_message:
148
+ rdoc_options: []
149
+ require_paths:
150
+ - lib
151
+ required_ruby_version: !ruby/object:Gem::Requirement
152
+ requirements:
153
+ - - ">="
154
+ - !ruby/object:Gem::Version
155
+ version: 2.0.0
156
+ required_rubygems_version: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - ">="
159
+ - !ruby/object:Gem::Version
160
+ version: '0'
161
+ requirements: []
162
+ rubyforge_project:
163
+ rubygems_version: 2.5.2.3
164
+ signing_key:
165
+ specification_version: 4
166
+ summary: Xcode installation manager.
167
+ test_files:
168
+ - spec/cli_spec.rb
169
+ - spec/curl_spec.rb
170
+ - spec/fixtures/devcenter/xcode-20150414.html
171
+ - spec/fixtures/devcenter/xcode-20150427.html
172
+ - spec/fixtures/devcenter/xcode-20150508.html
173
+ - spec/fixtures/devcenter/xcode-20150601.html
174
+ - spec/fixtures/devcenter/xcode-20150608.html
175
+ - spec/fixtures/devcenter/xcode-20150624.html
176
+ - spec/fixtures/devcenter/xcode-20150909.html
177
+ - spec/fixtures/devcenter/xcode-20160601.html
178
+ - spec/fixtures/devcenter/xcode-20160705-alt.html
179
+ - spec/fixtures/devcenter/xcode-20160705.html
180
+ - spec/fixtures/devcenter/xcode-20160922.html
181
+ - spec/fixtures/devcenter/xcode-20161024.html
182
+ - spec/fixtures/hdiutil.plist
183
+ - spec/fixtures/mail-verify.html
184
+ - spec/fixtures/not_registered_as_developer.json
185
+ - spec/fixtures/xcode.json
186
+ - spec/fixtures/xcode_63.json
187
+ - spec/fixtures/yolo.json
188
+ - spec/install_spec.rb
189
+ - spec/installed_spec.rb
190
+ - spec/installer_spec.rb
191
+ - spec/json_spec.rb
192
+ - spec/list_spec.rb
193
+ - spec/prerelease_spec.rb
194
+ - spec/spec_helper.rb
195
+ - spec/uninstall_spec.rb