xcode-install 2.4.2 → 2.4.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7c5dd5a3b77294226cee2517e8c1fdcc61b06e33
4
- data.tar.gz: b6e24762b17103dcefe53bda890d2123ffd8813f
3
+ metadata.gz: 4c43c13e228edd82063837dec15bef00af49fb63
4
+ data.tar.gz: f64ad23b9c1f0170f105a545d6d961bc4aafb11b
5
5
  SHA512:
6
- metadata.gz: e15a742d06e79df749d1fd985e3fe98ac1433284f684c1ffc745b781f53fe219d007ab8a93b0b1c0346da7f59b9f9a599759061680b2ec6e1ca121348a188efe
7
- data.tar.gz: feb6df4ef068d01fa076b45d7b184ffad1277567775f47c1320ac6618f3766e37f59179e029411a811eb28cfc08895f40b688604f28f3f091e54dc56ef4a1cbe
6
+ metadata.gz: 1c879eb96b5d2e6dbe2ee8f804d59453a13885a41a317c3e21dcb78f08d99a67a492f0d90e1365516cd593ff0ebd17e868cf1b78cae097ba7ae0cc1fb442c793
7
+ data.tar.gz: 8c3db34c1552b25f9b37dc30f2776932f57633151978efdfefc02064e79b6306ea9e7b6b7c679dd819f33be1327860791352756c6699c1ac2a29bcdc6f0ed85f
@@ -293,7 +293,12 @@ HELP
293
293
 
294
294
  def list_annotated(xcodes_list)
295
295
  installed = installed_versions.map(&:version)
296
- xcodes_list.map { |x| installed.include?(x) ? "#{x} (installed)" : x }.join("\n")
296
+ xcodes_list.map do |x|
297
+ xcode_version = x.split(' ').first # exclude "beta N", "for Lion".
298
+ xcode_version << '.0' unless xcode_version.include?('.')
299
+
300
+ installed.include?(xcode_version) ? "#{x} (installed)" : x
301
+ end.join("\n")
297
302
  end
298
303
 
299
304
  def list
@@ -589,7 +594,7 @@ HELP
589
594
  end
590
595
 
591
596
  def bundle_version
592
- @bundle_version ||= Gem::Version.new(plist_entry(':DTXcode').to_i.to_s.split(//).join('.'))
597
+ @bundle_version ||= Gem::Version.new(bundle_version_string)
593
598
  end
594
599
 
595
600
  def uuid
@@ -652,6 +657,15 @@ HELP
652
657
 
653
658
  :private
654
659
 
660
+ def bundle_version_string
661
+ digits = plist_entry(':DTXcode').to_i.to_s
662
+ if digits.length < 3
663
+ digits.split(//).join('.')
664
+ else
665
+ "#{digits[0..-3]}.#{digits[-2]}.#{digits[-1]}"
666
+ end
667
+ end
668
+
655
669
  def plist_entry(keypath)
656
670
  `/usr/libexec/PlistBuddy -c "Print :#{keypath}" "#{path}/Contents/Info.plist"`.chomp
657
671
  end
@@ -37,7 +37,10 @@ module XcodeInstall
37
37
  super
38
38
 
39
39
  help! 'A VERSION argument is required.' unless @version
40
- fail Informative, "Version #{@version} already installed." if @installer.installed?(@version) && !@force
40
+ if @installer.installed?(@version) && !@force
41
+ print "Version #{@version} already installed."
42
+ exit(0)
43
+ end
41
44
  fail Informative, "Version #{@version} doesn't exist." unless @url || @installer.exist?(@version)
42
45
  fail Informative, "Invalid URL: `#{@url}`" unless !@url || @url =~ /\A#{URI.regexp}\z/
43
46
  end
@@ -1,3 +1,3 @@
1
1
  module XcodeInstall
2
- VERSION = '2.4.2'.freeze
2
+ VERSION = '2.4.4'.freeze
3
3
  end
@@ -4,7 +4,6 @@ module XcodeInstall
4
4
  describe Command::List do
5
5
  before do
6
6
  installer.stubs(:exists).returns(true)
7
- installer.stubs(:installed_versions).returns([])
8
7
  end
9
8
 
10
9
  def installer
@@ -23,11 +22,36 @@ module XcodeInstall
23
22
  installer.stubs(:xcodes).returns(xcodes)
24
23
  end
25
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
+
26
41
  describe '#list' do
27
42
  it 'lists all versions' do
28
43
  fake_xcodes '1', '2.3', '2.3.1', '2.3.2', '3 some', '4 beta', '10 beta'
44
+ fake_installed_xcodes
29
45
  installer.list.should == "1\n2.3\n2.3.1\n2.3.2\n3 some\n4 beta\n10 beta"
30
46
  end
31
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
32
56
  end
33
57
  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.4.2
4
+ version: 2.4.4
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: 2018-07-06 00:00:00.000000000 Z
11
+ date: 2018-07-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: claide
@@ -160,7 +160,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
160
160
  version: '0'
161
161
  requirements: []
162
162
  rubyforge_project:
163
- rubygems_version: 2.6.8
163
+ rubygems_version: 2.6.10
164
164
  signing_key:
165
165
  specification_version: 4
166
166
  summary: Xcode installation manager.