xcode-install 1.1.0 → 2.0.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.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.rubocop.yml +11 -10
- data/.rubocop_todo.yml +34 -0
- data/.travis.yml +5 -1
- data/Gemfile +1 -0
- data/README.md +28 -15
- data/Rakefile +5 -1
- data/lib/xcode/install/cli.rb +1 -2
- data/lib/xcode/install/install.rb +7 -8
- data/lib/xcode/install/installed.rb +10 -1
- data/lib/xcode/install/select.rb +1 -1
- data/lib/xcode/install/simulators.rb +9 -8
- data/lib/xcode/install/uninstall.rb +5 -4
- data/lib/xcode/install/version.rb +1 -1
- data/lib/xcode/install.rb +116 -61
- data/spec/cli_spec.rb +1 -1
- data/spec/curl_spec.rb +26 -0
- data/spec/fixtures/devcenter/xcode-20160601.html +1872 -0
- data/spec/fixtures/hdiutil.plist +31 -0
- data/spec/fixtures/mail-verify.html +222 -0
- data/spec/install_spec.rb +41 -25
- data/spec/prerelease_spec.rb +7 -0
- data/spec/uninstall_spec.rb +12 -0
- data/xcode-install.gemspec +4 -2
- metadata +39 -24
- data/bin/xcode-install +0 -5
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<plist version="1.0">
|
|
2
|
+
<dict>
|
|
3
|
+
<key>system-entities</key>
|
|
4
|
+
<array>
|
|
5
|
+
<dict>
|
|
6
|
+
<key>content-hint</key>
|
|
7
|
+
<string>GUID_partition_scheme</string>
|
|
8
|
+
<key>dev-entry</key>
|
|
9
|
+
<string>/dev/disk2</string>
|
|
10
|
+
<key>potentially-mountable</key>
|
|
11
|
+
<false/>
|
|
12
|
+
<key>unmapped-content-hint</key>
|
|
13
|
+
<string>GUID_partition_scheme</string>
|
|
14
|
+
</dict>
|
|
15
|
+
<dict>
|
|
16
|
+
<key>content-hint</key>
|
|
17
|
+
<string>Apple_HFS</string>
|
|
18
|
+
<key>dev-entry</key>
|
|
19
|
+
<string>/dev/disk2s1</string>
|
|
20
|
+
<key>mount-point</key>
|
|
21
|
+
<string>/Volumes/XcodeME</string>
|
|
22
|
+
<key>potentially-mountable</key>
|
|
23
|
+
<true/>
|
|
24
|
+
<key>unmapped-content-hint</key>
|
|
25
|
+
<string>48465300-0000-11AA-AA11-00306543ECAC</string>
|
|
26
|
+
<key>volume-kind</key>
|
|
27
|
+
<string>hfs</string>
|
|
28
|
+
</dict>
|
|
29
|
+
</array>
|
|
30
|
+
</dict>
|
|
31
|
+
</plist>
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
|
|
2
|
+
<!DOCTYPE html>
|
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
4
|
+
<head>
|
|
5
|
+
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
|
6
|
+
<meta name="Author" content="Apple Inc." />
|
|
7
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
8
|
+
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7, IE=9">
|
|
9
|
+
<link rel="shortcut icon" href="/favicon.ico" />
|
|
10
|
+
<link rel="icon" href="/favicon.ico" />
|
|
11
|
+
<link rel="mask-icon" href="/apple-logo.svg" color="#333333">
|
|
12
|
+
|
|
13
|
+
<link rel="stylesheet" href="/assets/styles/globalnav.css" type="text/css" />
|
|
14
|
+
<link rel="stylesheet" href="/assets/styles/global.css" type="text/css" />
|
|
15
|
+
|
|
16
|
+
<script src="https://devimages.apple.com.edgekey.net/assets/scripts/lib/jquery/jquery-1.11.0.min.js"></script>
|
|
17
|
+
<script src="https://devimages.apple.com.edgekey.net/assets/scripts/lib/jquery/jquery.retinate.js" type="text/javascript" charset="utf-8"></script>
|
|
18
|
+
<!--[if lt IE 9]>
|
|
19
|
+
<link rel="stylesheet" href="/assets/styles/oldie.css" type="text/css" />
|
|
20
|
+
<script src="/assets/scripts/html5.js"></script>
|
|
21
|
+
<![endif]-->
|
|
22
|
+
<script src="/assets/scripts/lg-search.js"></script>
|
|
23
|
+
<script src="/assets/scripts/global.js"></script>
|
|
24
|
+
|
|
25
|
+
<link rel="stylesheet" href="https://www.apple.com/wss/fonts?family=Myriad+Set+Pro&v=2" type="text/css" />
|
|
26
|
+
|
|
27
|
+
<title>Verify Your Email Address - Apple Developer</title>
|
|
28
|
+
<meta name="omni_page" content="" />
|
|
29
|
+
<meta name="robots" content="noindex, nofollow">
|
|
30
|
+
<style>
|
|
31
|
+
.subnav ul li a {
|
|
32
|
+
color: #0088cc !important;
|
|
33
|
+
}
|
|
34
|
+
.subnav ul li a:hover {
|
|
35
|
+
text-decoration: underline;
|
|
36
|
+
}
|
|
37
|
+
</style>
|
|
38
|
+
</head>
|
|
39
|
+
<body>
|
|
40
|
+
<nav id="globalheader" role="navigation" aria-label="Global Navigation">
|
|
41
|
+
<div id="gh-content" class="gh-content">
|
|
42
|
+
<ul class="gh-menu">
|
|
43
|
+
<li id="gh-menu-icon-toggle" class="gh-menu-icon gh-menu-icon-toggle enhance">
|
|
44
|
+
<button id="gh-svg-icons" class="gh-svg-wrapper">
|
|
45
|
+
<span class="text-replace">Menu</span>
|
|
46
|
+
<svg x="0px" y="0px" width="100%" viewBox="0 0 96 96" class="gh-svg gh-svg-top" enable-background="new 0 0 96 96"><rect width="32" height="4" x="32" y="46" class="gh-svg-rect gh-svg-rect-top"></rect></svg>
|
|
47
|
+
<svg x="0px" y="0px" width="100%" viewBox="0 0 96 96" class="gh-svg gh-svg-bottom" enable-background="new 0 0 96 96"><rect width="32" height="4" x="32" y="46" class="gh-svg-rect gh-svg-rect-bottom"></rect></svg>
|
|
48
|
+
</button>
|
|
49
|
+
</li>
|
|
50
|
+
<li id="gh-menu-icon-home" class="gh-menu-icon gh-menu-icon-home">
|
|
51
|
+
<a href="/">
|
|
52
|
+
<span class="text-replace">Apple Developer</span>
|
|
53
|
+
</a>
|
|
54
|
+
</li>
|
|
55
|
+
</ul>
|
|
56
|
+
<div class="gh-nav">
|
|
57
|
+
<div class="gh-nav-view">
|
|
58
|
+
<ul class="gh-nav-list">
|
|
59
|
+
|
|
60
|
+
<li class="gh-tab gh-nav-developer" data-hires="true"><a class="gh-tab-link" href="/"><span class="text-replace">Apple Developer</span></a></li>
|
|
61
|
+
<li class="gh-tab gh-nav-technologies"><a class="gh-tab-link" href="/platforms/">Platforms</a></li>
|
|
62
|
+
<li class="gh-tab gh-nav-resources"><a class="gh-tab-link" href="/resources/">Resources</a></li>
|
|
63
|
+
<li class="gh-tab gh-nav-programs"><a class="gh-tab-link" href="/programs/">Program</a></li>
|
|
64
|
+
<li class="gh-tab gh-nav-support"><a class="gh-tab-link" href="/support/">Support</a></li>
|
|
65
|
+
<li class="gh-tab gh-nav-account">
|
|
66
|
+
<a class="gh-tab-link gh-account-profile" href="/account/">Account</a>
|
|
67
|
+
</li>
|
|
68
|
+
<li class="gh-tab gh-nav-search">
|
|
69
|
+
|
|
70
|
+
<div id="gh-search" class="gh-search" role="search">
|
|
71
|
+
<form action="/search/index.php" method="get" class="gh-search-form" id="gh-search-form" role="search">
|
|
72
|
+
|
|
73
|
+
<div class="gh-search-input-wrapper">
|
|
74
|
+
<label for="gh-search-input" class="text-replace">Search Apple Developer</label>
|
|
75
|
+
<input type="text" name="q" id="gh-search-input" class="augmented gh-search-input" placeholder="Search Apple Developer" autocomplete="off" autocorrect="off" autocapitalize="off">
|
|
76
|
+
</div>
|
|
77
|
+
|
|
78
|
+
<button disabled type="submit" id="gh-search-submit" class="gh-search-submit gh-search-magnify"><span class="text-replace">Search Apple Developer</span></button>
|
|
79
|
+
<button disabled type="reset" id="gh-search-reset" class="gh-search-reset"><span class="text-replace">Reset</span></button>
|
|
80
|
+
|
|
81
|
+
</form>
|
|
82
|
+
</div>
|
|
83
|
+
|
|
84
|
+
<a class="gh-search-magnify" href="/search/"><span class="text-replace">Search Apple Developer</span></a>
|
|
85
|
+
|
|
86
|
+
</li>
|
|
87
|
+
</ul>
|
|
88
|
+
</div>
|
|
89
|
+
</div>
|
|
90
|
+
</div>
|
|
91
|
+
</nav>
|
|
92
|
+
|
|
93
|
+
<div id="top">
|
|
94
|
+
<!-- SiteCatalyst code version: H.8. Copyright 1997-2006 Omniture, Inc. -->
|
|
95
|
+
<script type="text/javascript">
|
|
96
|
+
/* RSID: */
|
|
97
|
+
var s_account="appleglobal,appleusdeveloper"
|
|
98
|
+
</script>
|
|
99
|
+
|
|
100
|
+
<script type="text/javascript" src="https://www.apple.com/metrics/scripts/s_code_h.js"></script>
|
|
101
|
+
<script type="text/javascript">
|
|
102
|
+
s.pageName= AC && AC.Tracking && AC.Tracking.pageName();
|
|
103
|
+
s.channel="www.us.developer"
|
|
104
|
+
|
|
105
|
+
/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/
|
|
106
|
+
var s_code=s.t();if(s_code)document.write(s_code)</script>
|
|
107
|
+
<!-- End SiteCatalyst code version: H.8. -->
|
|
108
|
+
</div>
|
|
109
|
+
<nav class="subnav">
|
|
110
|
+
<ul>
|
|
111
|
+
<li class="not-link">Michael Ruhl</li>
|
|
112
|
+
<li class="not-link"> | </li>
|
|
113
|
+
<li><a href="/logout/?return=%2F" class="sign-out">Sign Out</a></li>
|
|
114
|
+
</ul>
|
|
115
|
+
</nav>
|
|
116
|
+
|
|
117
|
+
<section class="grid">
|
|
118
|
+
<section class="row padding-top padding-bottom">
|
|
119
|
+
<section class="col-100 text-center">
|
|
120
|
+
|
|
121
|
+
<h2>Verify Your Email Address</h2>
|
|
122
|
+
<p>Your Apple ID cannot be used until your email address has been verified. <br>To verify your email address, please visit
|
|
123
|
+
<a class="return-link" href="https://appleid.apple.com/cgi-bin/WebObjects/MyAppleId.woa/wa/directToSignIn?appId=632">My Apple ID</a>.
|
|
124
|
+
</p>
|
|
125
|
+
|
|
126
|
+
<p><a class="button-blue return-link" href="https://appleid.apple.com/cgi-bin/WebObjects/MyAppleId.woa/wa/directToSignIn?appId=632">Verify Now</a></p>
|
|
127
|
+
|
|
128
|
+
</section>
|
|
129
|
+
</section>
|
|
130
|
+
</section>
|
|
131
|
+
|
|
132
|
+
<footer id="globalfooter" role="contentinfo">
|
|
133
|
+
<nav class="footer-breadory">
|
|
134
|
+
<a href="/" class="home breadcrumbs-home"><span aria-hidden="true"></span><span class="breadcrumbs-home-label">Developer</span></a>
|
|
135
|
+
<section class="breadcrumbs">
|
|
136
|
+
<ol class="breadcrumbs-list">
|
|
137
|
+
<li>Verify Your Email Address</li>
|
|
138
|
+
</ol>
|
|
139
|
+
</section>
|
|
140
|
+
<div id="directorynav" class="directorynav">
|
|
141
|
+
<div id="dn-cola" class="column">
|
|
142
|
+
<h3><a href="/platforms/">Platforms</a></h3>
|
|
143
|
+
<ul>
|
|
144
|
+
<li><a href="/ios/">iOS</a></li>
|
|
145
|
+
<li><a href="/osx/">OS X</a></li>
|
|
146
|
+
<li><a href="/watchos/">watchOS</a></li>
|
|
147
|
+
<li><a href="/tvos/">tvOS</a></li>
|
|
148
|
+
</ul>
|
|
149
|
+
<h3><a href="/resources/">Tools</a></h3>
|
|
150
|
+
<ul>
|
|
151
|
+
<li><a href="/xcode/">Xcode</a></li>
|
|
152
|
+
<li><a href="/swift/">Swift</a></li>
|
|
153
|
+
</ul>
|
|
154
|
+
</div>
|
|
155
|
+
<div id="dn-colb" class="column">
|
|
156
|
+
<h3><a href="/resources/">Resources</a></h3>
|
|
157
|
+
<ul>
|
|
158
|
+
<li><a href="/library/">Documentation</a></li>
|
|
159
|
+
<li><a href="/videos/">Videos</a></li>
|
|
160
|
+
<li><a href="https://forums.developer.apple.com/">Forums</a></li>
|
|
161
|
+
<li><a href="/app-store/">App Store</a></li>
|
|
162
|
+
<li><a href="/safari/">Safari and Web</a></li>
|
|
163
|
+
<li><a href="/education/">Education</a></li>
|
|
164
|
+
<li><a href="/enterprise/">Enterprise</a></li>
|
|
165
|
+
</ul>
|
|
166
|
+
</div>
|
|
167
|
+
<div id="dn-colc" class="column">
|
|
168
|
+
<h3><a href="/programs/">Programs</a></h3>
|
|
169
|
+
<ul>
|
|
170
|
+
<li><a href="/programs/">Developer Program</a></li>
|
|
171
|
+
<li><a href="/programs/enterprise/">Enterprise Program</a></li>
|
|
172
|
+
<li><a href="/programs/ios/university/">iOS University Program</a></li>
|
|
173
|
+
<li><a href="/programs/mfi/">MFi Program</a></li>
|
|
174
|
+
</ul>
|
|
175
|
+
</div>
|
|
176
|
+
<div id="dn-cold" class="column">
|
|
177
|
+
<h3><a href="/support/">Support</a></h3>
|
|
178
|
+
<ul>
|
|
179
|
+
<li><a href="/support/development/">Development</a></li>
|
|
180
|
+
<li><a href="/support/distribution/">Distribution</a></li>
|
|
181
|
+
<li><a href="/support/membership/">Membership</a></li>
|
|
182
|
+
<li><a href="/system-status/">System Status</a></li>
|
|
183
|
+
</ul>
|
|
184
|
+
</div>
|
|
185
|
+
<div id="dn-cole" class="column">
|
|
186
|
+
<h3><a href="/account/">Account</a></h3>
|
|
187
|
+
<ul>
|
|
188
|
+
<li><a href="/account/">Developer Account</a></li>
|
|
189
|
+
<li><a href="https://developer.apple.com/go/?id=certificates-ids-profiles">Certificates, IDs & Profiles</a></li>
|
|
190
|
+
<li><a href="https://itunesconnect.apple.com">iTunes Connect</a></li>
|
|
191
|
+
<li><a href="/terms/">License Agreements</a></li>
|
|
192
|
+
</ul>
|
|
193
|
+
</div>
|
|
194
|
+
</div>
|
|
195
|
+
|
|
196
|
+
</nav>
|
|
197
|
+
<ul class="gf-links piped footer-links">
|
|
198
|
+
<li><a href="/news/" class="first">News & Updates</a></li>
|
|
199
|
+
<li><a href="/bug-reporting/">Report Bugs</a></li>
|
|
200
|
+
<li><a href="/contact/">Contact Us</a></li>
|
|
201
|
+
</ul>
|
|
202
|
+
|
|
203
|
+
<div class="gf-sosumi footer-sosumi">
|
|
204
|
+
<p>Copyright © 2016 Apple Inc. All rights reserved.</p>
|
|
205
|
+
<ul class="piped">
|
|
206
|
+
<li><a href="http://www.apple.com/legal/internet-services/terms/site.html" class="first">Terms of Use</a></li>
|
|
207
|
+
<li><a href="http://www.apple.com/privacy/privacy-policy/">Privacy Policy</a></li>
|
|
208
|
+
</ul>
|
|
209
|
+
</div>
|
|
210
|
+
|
|
211
|
+
<!--<div id="gf-links piped footer-links">
|
|
212
|
+
<ul>
|
|
213
|
+
<li><a href="/cn/" title="Simplified Chinese">简体中文</a></li>
|
|
214
|
+
<li><a href="/jp/" title="Japanese">日本語</a></li>
|
|
215
|
+
<li><a href="/kr/" title="Korean">한국어</a></li>
|
|
216
|
+
</ul>
|
|
217
|
+
</div>-->
|
|
218
|
+
|
|
219
|
+
</footer><!-- globalfooter -->
|
|
220
|
+
|
|
221
|
+
</body>
|
|
222
|
+
</html>
|
data/spec/install_spec.rb
CHANGED
|
@@ -2,37 +2,53 @@ require File.expand_path('../spec_helper', __FILE__)
|
|
|
2
2
|
|
|
3
3
|
module XcodeInstall
|
|
4
4
|
describe Command::Install do
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
describe 'when invoked' do
|
|
6
|
+
before do
|
|
7
|
+
Installer.any_instance.stubs(:exists).returns(true)
|
|
8
|
+
Installer.any_instance.stubs(:installed).returns([])
|
|
9
|
+
fixture = Pathname.new('spec/fixtures/xcode_63.json').read
|
|
10
|
+
xcode = Xcode.new(JSON.parse(fixture))
|
|
11
|
+
Installer.any_instance.stubs(:seedlist).returns([xcode])
|
|
12
|
+
end
|
|
12
13
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
it 'downloads and installs' do
|
|
15
|
+
Installer.any_instance.expects(:download).with('6.3', true, nil).returns('/some/path')
|
|
16
|
+
Installer.any_instance.expects(:install_dmg).with('/some/path', '-6.3', true, true)
|
|
17
|
+
Command::Install.run(['6.3'])
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
it 'downloads and installs with custom HTTP URL' do
|
|
21
|
+
url = 'http://yolo.com/xcode.dmg'
|
|
22
|
+
Installer.any_instance.expects(:download).with('6.3', true, url).returns('/some/path')
|
|
23
|
+
Installer.any_instance.expects(:install_dmg).with('/some/path', '-6.3', true, true)
|
|
24
|
+
Command::Install.run(['6.3', "--url=#{url}"])
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
it 'downloads and installs and does not switch if --no-switch given' do
|
|
28
|
+
Installer.any_instance.expects(:download).with('6.3', true, nil).returns('/some/path')
|
|
29
|
+
Installer.any_instance.expects(:install_dmg).with('/some/path', '-6.3', false, true)
|
|
30
|
+
Command::Install.run(['6.3', '--no-switch'])
|
|
31
|
+
end
|
|
18
32
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
33
|
+
it 'downloads without progress if switch --no-progress is given' do
|
|
34
|
+
Installer.any_instance.expects(:download).with('6.3', false, nil).returns('/some/path')
|
|
35
|
+
Installer.any_instance.expects(:install_dmg).with('/some/path', '-6.3', true, true)
|
|
36
|
+
Command::Install.run(['6.3', '--no-progress'])
|
|
37
|
+
end
|
|
24
38
|
end
|
|
25
39
|
|
|
26
|
-
it '
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
40
|
+
it 'parses hdiutil output' do
|
|
41
|
+
installer = Installer.new
|
|
42
|
+
fixture = Pathname.new('spec/fixtures/hdiutil.plist').read
|
|
43
|
+
installer.expects(:hdiutil).with('mount', '-plist', '-nobrowse', '-noverify', '/some/path').returns(fixture)
|
|
44
|
+
location = installer.send(:mount, Pathname.new('/some/path'))
|
|
45
|
+
location.should == '/Volumes/XcodeME'
|
|
30
46
|
end
|
|
31
47
|
|
|
32
|
-
it '
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
48
|
+
it 'gives more helpful error when downloaded DMG turns out to be HTML' do
|
|
49
|
+
installer = Installer.new
|
|
50
|
+
should.raise(Informative) { installer.mount('spec/fixtures/mail-verify.html') }.message
|
|
51
|
+
.should.include 'logging into your account from a browser'
|
|
36
52
|
end
|
|
37
53
|
end
|
|
38
54
|
end
|
data/spec/prerelease_spec.rb
CHANGED
|
@@ -69,5 +69,12 @@ module XcodeInstall
|
|
|
69
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
70
|
prereleases.last.should == Xcode.new_prerelease('7 GM seed', '/Developer_Tools/Xcode_7_GM_seed/Xcode_7_GM_seed.dmg', nil)
|
|
71
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
|
|
72
79
|
end
|
|
73
80
|
end
|
|
@@ -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
|
data/xcode-install.gemspec
CHANGED
|
@@ -13,13 +13,15 @@ Gem::Specification.new do |spec|
|
|
|
13
13
|
spec.homepage = 'https://github.com/neonichu/xcode-install'
|
|
14
14
|
spec.license = 'MIT'
|
|
15
15
|
|
|
16
|
+
spec.required_ruby_version = '>= 2.0.0'
|
|
17
|
+
|
|
16
18
|
spec.files = `git ls-files -z`.split("\x0")
|
|
17
19
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
|
18
20
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
|
19
21
|
spec.require_paths = ['lib']
|
|
20
22
|
|
|
21
|
-
spec.add_dependency 'claide', '
|
|
22
|
-
spec.add_dependency 'spaceship', '>= 0.
|
|
23
|
+
spec.add_dependency 'claide', '>= 0.9.1', '< 1.1.0'
|
|
24
|
+
spec.add_dependency 'spaceship', '>= 0.25.1', '< 1.0.0'
|
|
23
25
|
|
|
24
26
|
spec.add_development_dependency 'bundler', '~> 1.7'
|
|
25
27
|
spec.add_development_dependency 'rake', '~> 10.0'
|
metadata
CHANGED
|
@@ -1,96 +1,101 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: xcode-install
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 2.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Boris Bügling
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2016-06-28 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: claide
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
|
-
- -
|
|
17
|
+
- - '>='
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
19
|
version: 0.9.1
|
|
20
|
+
- - <
|
|
21
|
+
- !ruby/object:Gem::Version
|
|
22
|
+
version: 1.1.0
|
|
20
23
|
type: :runtime
|
|
21
24
|
prerelease: false
|
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
26
|
requirements:
|
|
24
|
-
- -
|
|
27
|
+
- - '>='
|
|
25
28
|
- !ruby/object:Gem::Version
|
|
26
29
|
version: 0.9.1
|
|
30
|
+
- - <
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: 1.1.0
|
|
27
33
|
- !ruby/object:Gem::Dependency
|
|
28
34
|
name: spaceship
|
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
|
30
36
|
requirements:
|
|
31
|
-
- -
|
|
37
|
+
- - '>='
|
|
32
38
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: 0.
|
|
34
|
-
- -
|
|
39
|
+
version: 0.25.1
|
|
40
|
+
- - <
|
|
35
41
|
- !ruby/object:Gem::Version
|
|
36
42
|
version: 1.0.0
|
|
37
43
|
type: :runtime
|
|
38
44
|
prerelease: false
|
|
39
45
|
version_requirements: !ruby/object:Gem::Requirement
|
|
40
46
|
requirements:
|
|
41
|
-
- -
|
|
47
|
+
- - '>='
|
|
42
48
|
- !ruby/object:Gem::Version
|
|
43
|
-
version: 0.
|
|
44
|
-
- -
|
|
49
|
+
version: 0.25.1
|
|
50
|
+
- - <
|
|
45
51
|
- !ruby/object:Gem::Version
|
|
46
52
|
version: 1.0.0
|
|
47
53
|
- !ruby/object:Gem::Dependency
|
|
48
54
|
name: bundler
|
|
49
55
|
requirement: !ruby/object:Gem::Requirement
|
|
50
56
|
requirements:
|
|
51
|
-
- -
|
|
57
|
+
- - ~>
|
|
52
58
|
- !ruby/object:Gem::Version
|
|
53
59
|
version: '1.7'
|
|
54
60
|
type: :development
|
|
55
61
|
prerelease: false
|
|
56
62
|
version_requirements: !ruby/object:Gem::Requirement
|
|
57
63
|
requirements:
|
|
58
|
-
- -
|
|
64
|
+
- - ~>
|
|
59
65
|
- !ruby/object:Gem::Version
|
|
60
66
|
version: '1.7'
|
|
61
67
|
- !ruby/object:Gem::Dependency
|
|
62
68
|
name: rake
|
|
63
69
|
requirement: !ruby/object:Gem::Requirement
|
|
64
70
|
requirements:
|
|
65
|
-
- -
|
|
71
|
+
- - ~>
|
|
66
72
|
- !ruby/object:Gem::Version
|
|
67
73
|
version: '10.0'
|
|
68
74
|
type: :development
|
|
69
75
|
prerelease: false
|
|
70
76
|
version_requirements: !ruby/object:Gem::Requirement
|
|
71
77
|
requirements:
|
|
72
|
-
- -
|
|
78
|
+
- - ~>
|
|
73
79
|
- !ruby/object:Gem::Version
|
|
74
80
|
version: '10.0'
|
|
75
81
|
description: Download, install and upgrade Xcodes with ease.
|
|
76
82
|
email:
|
|
77
83
|
- boris@icculus.org
|
|
78
84
|
executables:
|
|
79
|
-
- xcode-install
|
|
80
85
|
- xcversion
|
|
81
86
|
- "\U0001F389"
|
|
82
87
|
extensions: []
|
|
83
88
|
extra_rdoc_files: []
|
|
84
89
|
files:
|
|
85
|
-
-
|
|
86
|
-
-
|
|
87
|
-
-
|
|
88
|
-
-
|
|
90
|
+
- .gitattributes
|
|
91
|
+
- .gitignore
|
|
92
|
+
- .rubocop.yml
|
|
93
|
+
- .rubocop_todo.yml
|
|
94
|
+
- .travis.yml
|
|
89
95
|
- Gemfile
|
|
90
96
|
- LICENSE.txt
|
|
91
97
|
- README.md
|
|
92
98
|
- Rakefile
|
|
93
|
-
- bin/xcode-install
|
|
94
99
|
- bin/xcversion
|
|
95
100
|
- "bin/\U0001F389"
|
|
96
101
|
- lib/xcode/install.rb
|
|
@@ -107,6 +112,7 @@ files:
|
|
|
107
112
|
- lib/xcode/install/update.rb
|
|
108
113
|
- lib/xcode/install/version.rb
|
|
109
114
|
- spec/cli_spec.rb
|
|
115
|
+
- spec/curl_spec.rb
|
|
110
116
|
- spec/fixtures/devcenter/xcode-20150414.html
|
|
111
117
|
- spec/fixtures/devcenter/xcode-20150427.html
|
|
112
118
|
- spec/fixtures/devcenter/xcode-20150508.html
|
|
@@ -114,6 +120,9 @@ files:
|
|
|
114
120
|
- spec/fixtures/devcenter/xcode-20150608.html
|
|
115
121
|
- spec/fixtures/devcenter/xcode-20150624.html
|
|
116
122
|
- spec/fixtures/devcenter/xcode-20150909.html
|
|
123
|
+
- spec/fixtures/devcenter/xcode-20160601.html
|
|
124
|
+
- spec/fixtures/hdiutil.plist
|
|
125
|
+
- spec/fixtures/mail-verify.html
|
|
117
126
|
- spec/fixtures/xcode.json
|
|
118
127
|
- spec/fixtures/xcode_63.json
|
|
119
128
|
- spec/fixtures/yolo.json
|
|
@@ -123,6 +132,7 @@ files:
|
|
|
123
132
|
- spec/list_spec.rb
|
|
124
133
|
- spec/prerelease_spec.rb
|
|
125
134
|
- spec/spec_helper.rb
|
|
135
|
+
- spec/uninstall_spec.rb
|
|
126
136
|
- xcode-install.gemspec
|
|
127
137
|
homepage: https://github.com/neonichu/xcode-install
|
|
128
138
|
licenses:
|
|
@@ -134,22 +144,23 @@ require_paths:
|
|
|
134
144
|
- lib
|
|
135
145
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
136
146
|
requirements:
|
|
137
|
-
- -
|
|
147
|
+
- - '>='
|
|
138
148
|
- !ruby/object:Gem::Version
|
|
139
|
-
version:
|
|
149
|
+
version: 2.0.0
|
|
140
150
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
141
151
|
requirements:
|
|
142
|
-
- -
|
|
152
|
+
- - '>='
|
|
143
153
|
- !ruby/object:Gem::Version
|
|
144
154
|
version: '0'
|
|
145
155
|
requirements: []
|
|
146
156
|
rubyforge_project:
|
|
147
|
-
rubygems_version: 2.0.14
|
|
157
|
+
rubygems_version: 2.0.14.1
|
|
148
158
|
signing_key:
|
|
149
159
|
specification_version: 4
|
|
150
160
|
summary: Xcode installation manager.
|
|
151
161
|
test_files:
|
|
152
162
|
- spec/cli_spec.rb
|
|
163
|
+
- spec/curl_spec.rb
|
|
153
164
|
- spec/fixtures/devcenter/xcode-20150414.html
|
|
154
165
|
- spec/fixtures/devcenter/xcode-20150427.html
|
|
155
166
|
- spec/fixtures/devcenter/xcode-20150508.html
|
|
@@ -157,6 +168,9 @@ test_files:
|
|
|
157
168
|
- spec/fixtures/devcenter/xcode-20150608.html
|
|
158
169
|
- spec/fixtures/devcenter/xcode-20150624.html
|
|
159
170
|
- spec/fixtures/devcenter/xcode-20150909.html
|
|
171
|
+
- spec/fixtures/devcenter/xcode-20160601.html
|
|
172
|
+
- spec/fixtures/hdiutil.plist
|
|
173
|
+
- spec/fixtures/mail-verify.html
|
|
160
174
|
- spec/fixtures/xcode.json
|
|
161
175
|
- spec/fixtures/xcode_63.json
|
|
162
176
|
- spec/fixtures/yolo.json
|
|
@@ -166,4 +180,5 @@ test_files:
|
|
|
166
180
|
- spec/list_spec.rb
|
|
167
181
|
- spec/prerelease_spec.rb
|
|
168
182
|
- spec/spec_helper.rb
|
|
183
|
+
- spec/uninstall_spec.rb
|
|
169
184
|
has_rdoc:
|