xcode-installer 0.1.1 → 0.1.3

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 CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- Zjc3Mzg0MjFkODNhOTUzYWFjMDI4ODhiYjRlNmY3YzVlZDNiNjUxOA==
4
+ NTU3MzBhNTViZDU3N2RkYjJmNGM2M2IwN2UyNWM3YTY3NmQxYWU0OA==
5
5
  data.tar.gz: !binary |-
6
- MGY0ODZhMjc1NDlhNmY4YmZlNTQ3YjUzNTZmMWZmNmVlNWRlN2U0MQ==
6
+ MWFkNWU2ZjY2Mjc0Y2EzM2JjYTM5MGMxMjZlZTFhOTg5ZmZiOGJmMg==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- ZDA5YjY0MGE2MWJhMGM1ZTlhNzkyNjJlZDQ1ZDg1Njk1NjViNjQ1ZDI1NDZl
10
- ZGUwM2E0MTFkMDU5Yzg0YjI3ODk3OTVmYzkwMGY5NjAxYzU5ODNhMWM5MTMw
11
- Y2Q0N2I2YWFiMjhkZDljYjc3MWIwMWZmMWEyZGIzMzY2MjkyYjQ=
9
+ N2VlZDg2NDBiNjIwYWMyMDgzODkwNzMwZTIyMWFlYTZjOGQ5YmZmNzUyMWQ4
10
+ MjY2ZTNhZmVlODAzMjY1ZmI5NGEwNjQ5OTIzMzk4Y2U4MzU4MWEwYjY4NjY0
11
+ YjEzYTZkZjhhZjliYmNmYjY0NzU1MzE0MmE1YzBmMzU5ZTZjYmM=
12
12
  data.tar.gz: !binary |-
13
- YTRmMDdhZDRlNGE3ZDE4YTI0OTIzZmVlZTJjYzE2YTcwNTI3YzQ0NmIyY2Qx
14
- ODViZTdkZjhlMmFlZjI0YWFkYTk2ZWUwOGFiNjM2MmRiYWRlNTdmM2I1ODJi
15
- ZGI2ZmFjNmRlMmM1YzU3NTY2ODRiNjI0YzdiYWM2YWRmZDk5YWE=
13
+ MjczZDczYzQ4M2JlMDkxNTkzYTExODQ1YTk5ZWM4NWIyZGVjMmFmMTVmOTUx
14
+ NzQyYTJmZmMyMWVkMjVhMTQzMDllMzkxZGQxNDM0ZGY1MWYyZTg2Y2VhNGNl
15
+ NmFmNTVjYTg1ZDIxYmU3NDM4MjFkNTAzNDFjMWY5M2IyNmM3ZmE=
data/Gemfile.lock CHANGED
@@ -10,7 +10,7 @@ GIT
10
10
  PATH
11
11
  remote: .
12
12
  specs:
13
- xcode-installer (0.1)
13
+ xcode-installer (0.1.1)
14
14
  commander (~> 4.1.2)
15
15
  mechanize (~> 2.5.1)
16
16
  mechanize-progressbar (~> 0.2.0)
data/Rakefile CHANGED
@@ -1,14 +1 @@
1
- require "bundler"
2
- Bundler.setup
3
-
4
- gemspec = eval(File.read("xcode-installer.gemspec"))
5
-
6
- task :build => "#{gemspec.full_name}.gem"
7
-
8
- file "#{gemspec.full_name}.gem" => gemspec.files + ["xcode-installer.gemspec"] do
9
- system "gem build xcode-installer.gemspec"
10
- end
11
-
12
- task :install => ["#{gemspec.full_name}.gem"] do |t|
13
- system "gem install ./#{gemspec.full_name}.gem"
14
- end
1
+ require "bundler/gem_tasks"
@@ -17,8 +17,11 @@ command :'download' do |c|
17
17
  end
18
18
  end
19
19
 
20
- if XcodeInstaller::XcodeVersions::GUI.has_key?(xcode_version)
21
- xcode_url = XcodeInstaller::XcodeVersions::GUI[xcode_version]
20
+ mgr = XcodeInstaller::XcodeVersions::ReleaseManager.new
21
+ release = mgr.get_release(xcode_version, options.pre_release, 'gui')
22
+
23
+ if release
24
+ xcode_url = release['download_url']
22
25
  else
23
26
  puts "No Xcode release with number #{xcode_version}. Use the 'list' command to see a list of known releases."
24
27
  exit
@@ -1,6 +1,6 @@
1
1
  command :'install' do |c|
2
2
  c.syntax = 'xcode-installer install [options]'
3
- c.option '--release STRING', 'Used to specify an old or pre-release version of Xcode. Otherwise, latest GA release of Xcode is installed.'
3
+ c.option '--no-trash', 'Prevents trashing .dmg after install'
4
4
  c.summary = 'Installs xcode from a previous download'
5
5
  c.description = 'NEEDS SOME WORK - Use download and mount .dmg manually for now'
6
6
 
@@ -17,7 +17,7 @@ command :'install' do |c|
17
17
 
18
18
  # Mount disk image
19
19
  mountpoint = '/Volumes/Xcode'
20
- # TODO: get file name from elsewhere (ideally a model object)
20
+ # system "hdid '#{dmg_file}' -mountpoint #{mountpoint}"
21
21
  system 'hdiutil attach -quiet xcode4620419895a.dmg'
22
22
 
23
23
  # Trash existing install (so command is rerunnable)
@@ -13,17 +13,20 @@ command :'list' do |c|
13
13
  show_gui = true if !show_all && !show_gui && !show_cli
14
14
 
15
15
  # latest = XcodeInstaller::XcodeVersions::LATEST
16
- gui_versions = XcodeInstaller::XcodeVersions::GUI
17
- cli_versions = XcodeInstaller::XcodeVersions::CLI
16
+ mgr = XcodeInstaller::XcodeVersions::ReleaseManager.new
17
+
18
+ gui_versions = mgr.get_all('gui')
19
+ cli_versions = mgr.get_all('cli')
20
+ puts cli_versions
18
21
 
19
22
  if show_all || show_gui
20
23
  title = 'Xcode GUI'
21
24
  table = Terminal::Table.new :title => title do |t|
22
25
  t << ['Version', 'Download URL']
23
- gui_versions.keys.each do |version|
26
+ gui_versions.each do |release|
24
27
  t << :separator
25
28
 
26
- row = [version, gui_versions[version]]
29
+ row = [release['version'], release['download_url']]
27
30
  t << row
28
31
  end
29
32
  end
@@ -37,10 +40,10 @@ command :'list' do |c|
37
40
  title = 'Xcode Command-Line'
38
41
  table = Terminal::Table.new :title => title do |t|
39
42
  t << ['Version', 'Download URL']
40
- cli_versions.keys.each do |version|
43
+ cli_versions.each do |release|
41
44
  t << :separator
42
45
 
43
- row = [version, cli_versions[version]]
46
+ row = [release['version'], release['download_url']]
44
47
  t << row
45
48
  end
46
49
  end
@@ -1,10 +1,47 @@
1
+ require 'yaml'
2
+
1
3
  module XcodeInstaller
2
4
  module XcodeVersions
3
5
 
4
6
  # General availability
5
7
  LATEST_GA = '4.6.3'
6
8
  # Developer preview
7
- LATEST_DP = '5-DP'
9
+ LATEST_DP = '5-DP2'
10
+
11
+ class ReleaseManager
12
+ attr_accessor :data
13
+
14
+ def initialize
15
+ super
16
+ # cnf = YAML::load_file(File.join(File.dirname(File.expand_path(__FILE__)), 'config.yml'))
17
+ @data = YAML::load_file(File.join(File.dirname(File.expand_path(__FILE__)), 'xcode-versions.yml'))
18
+ # puts data
19
+ end
20
+
21
+ def get_all(interface_type)
22
+ interface_type ||= 'gui'
23
+ list = data[interface_type]
24
+ return list
25
+ end
26
+
27
+ def get_release(version, include_beta, interface_type)
28
+ version ||= 'latest'
29
+ include_beta ||= false
30
+ interface_type ||= 'gui'
31
+
32
+ list = data[interface_type]
33
+ if version == 'latest' && include_beta
34
+ version = LATEST_DP
35
+ elsif version == 'latest'
36
+ version = LATEST_GA
37
+ end
38
+ list.each { |release|
39
+ if release['version'] == version
40
+ return release
41
+ end
42
+ }
43
+ end
44
+ end
8
45
 
9
46
  GUI = {
10
47
  '5-DP' => 'https://developer.apple.com/devcenter/download.action?path=/wwdc_2013/xcode_5_developer_preview/xcode_5_developer_preview.dmg', # 2013-06-10
@@ -0,0 +1,42 @@
1
+ ---
2
+ gui:
3
+ - version: 5-DP2
4
+ download_url: https://developer.apple.com/devcenter/download.action?path=/Developer_Tools/xcode_5_developer_preview_2/xcode_5_developer_preview_2.dmg
5
+ interface_type: gui
6
+ - version: 5-DP
7
+ download_url: https://developer.apple.com/devcenter/download.action?path=/wwdc_2013/xcode_5_developer_preview/xcode_5_developer_preview.dmg
8
+ interface_type: gui
9
+ - version: 4.6.3
10
+ download_url: https://developer.apple.com/downloads/download.action?path=Developer_Tools/xcode_4.6.3/xcode4630916281a.dmg
11
+ interface_type: gui
12
+ - version: 4.6.2
13
+ download_url: https://developer.apple.com/downloads/download.action?path=Developer_Tools/xcode_4.6.2/xcode4620419895a.dmg
14
+ interface_type: gui
15
+ - version: 4.6.1
16
+ download_url: https://developer.apple.com/downloads/download.action?path=Developer_Tools/xcode_4.6.1/xcode4610419628a.dmg
17
+ interface_type: gui
18
+ - version: 4.6
19
+ download_url: https://developer.apple.com/downloads/download.action?path=Developer_Tools/xcode_4.6/xcode460417218a.dmg
20
+ interface_type: gui
21
+ cli:
22
+ - version: 5-DP
23
+ download_url: https://developer.apple.com/downloads/download.action?path=Developer_Tools/command_line_tools_os_x_mountain_lion_for_xcode_5__june_2013/command_line_tools_mountain_lion_for_xcode_5_june_2013.dmg
24
+ release_date: 2013-06-10
25
+ interface_type: cli
26
+ - version: 4.6.3
27
+ download_url: https://developer.apple.com/downloads/download.action?path=wwdc_2013/command_line_tools_os_x_v10.9_for_xcode_5__june_2013/command_line_tools_os_x_v10.9_for_xcode_5_developer_preview.dmg
28
+ release_date: 2013-06-14
29
+ interface_type: cli
30
+ - version: 4.6.2
31
+ download_url: https://developer.apple.com/downloads/download.action?path=Developer_Tools/command_line_tools_os_x_mountain_lion_for_xcode__april_2013/xcode462_cltools_10_86938259a.dmg
32
+ release_date: 2013-04-15
33
+ interface_type: cli
34
+ - version: 4.6.1
35
+ download_url: https://developer.apple.com/downloads/download.action?path=Developer_Tools/command_line_tools_os_x_mountain_lion_for_xcode__march_2013/xcode461_cltools_10_86938245a.dmg
36
+ release_date: 2013-03-14
37
+ interface_type: cli
38
+ - version: 4.6
39
+ download_url: https://developer.apple.com/downloads/download.action?path=Developer_Tools/command_line_tools_os_x_mountain_lion_for_xcode__january_2013/xcode46cltools_10_86938131a.dmg
40
+ release_date: 2013-02-19
41
+ interface_type: cli
42
+
@@ -1,5 +1,5 @@
1
1
  module XcodeInstaller
2
- VERSION = '0.1.1'
2
+ VERSION = '0.1.3'
3
3
 
4
4
  class UnsuccessfulAuthenticationError < RuntimeError; end
5
5
  end
data/yml.rb ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'pp'
4
+ require 'yaml'
5
+
6
+ puts Dir.pwd
7
+ data = YAML::load( File.open( 'lib/xcode-installer/xcode-versions.yml' ) )
8
+ puts data
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xcode-installer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Chatelain
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-06-15 00:00:00.000000000 Z
11
+ date: 2013-06-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: commander
@@ -94,6 +94,20 @@ dependencies:
94
94
  - - ~>
95
95
  - !ruby/object:Gem::Version
96
96
  version: 0.2.0
97
+ - !ruby/object:Gem::Dependency
98
+ name: bundler
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ~>
102
+ - !ruby/object:Gem::Version
103
+ version: '1.3'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ~>
109
+ - !ruby/object:Gem::Version
110
+ version: '1.3'
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: rspec
99
113
  requirement: !ruby/object:Gem::Requirement
@@ -122,7 +136,7 @@ dependencies:
122
136
  - - ! '>='
123
137
  - !ruby/object:Gem::Version
124
138
  version: '0'
125
- description: A command-line interface for the downloading Xcode
139
+ description: Installs Xcode GUI or command-line
126
140
  email: benchatelain@gmail.com
127
141
  executables:
128
142
  - xcode-installer
@@ -145,9 +159,11 @@ files:
145
159
  - ./lib/xcode-installer/commands.rb
146
160
  - ./lib/xcode-installer/helpers.rb
147
161
  - ./lib/xcode-installer/xcode-versions.rb
162
+ - ./lib/xcode-installer/xcode-versions.yml
148
163
  - ./lib/xcode-installer.rb
149
164
  - ./Rakefile
150
165
  - ./README.md
166
+ - ./yml.rb
151
167
  - bin/xcode-installer
152
168
  homepage: https://github.com/phatblat/xcode-installer
153
169
  licenses:
@@ -172,5 +188,5 @@ rubyforge_project:
172
188
  rubygems_version: 2.0.3
173
189
  signing_key:
174
190
  specification_version: 4
175
- summary: XcodeInstaller
191
+ summary: A gem for installing Xcode
176
192
  test_files: []