xcode-install 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +14 -0
- data/Gemfile +11 -0
- data/LICENSE.txt +22 -0
- data/README.md +87 -0
- data/Rakefile +12 -0
- data/bin/xcode-install +12 -0
- data/lib/xcode/install.rb +146 -0
- data/lib/xcode/install/command.rb +14 -0
- data/lib/xcode/install/install.rb +38 -0
- data/lib/xcode/install/list.rb +27 -0
- data/lib/xcode/install/version.rb +3 -0
- data/spec/fixtures/xcode.json +1 -0
- data/spec/fixtures/yolo.json +1 -0
- data/spec/json_spec.rb +24 -0
- data/spec/spec_helper.rb +13 -0
- data/xcode-install.gemspec +26 -0
- metadata +122 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: f8bbc4de2d24fa4645d941ceec44a782cffbdc9d
|
4
|
+
data.tar.gz: 6a85175f9b418c5c4f6c6e7e34e4fdbd4a3d337d
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 1369f85d45345a4834696a6687d8a5f844e9a9c0aea48af6b01af454c1c33eeb94e6216cdc40616834fab75dd8c7547aa04c1d6c76fbba53b18f8d0d1447c904
|
7
|
+
data.tar.gz: 3ea5f88d064808fddf282df80ad787afd13c39d6959466541e1503aab1123270a66ea527f718b44507e8825aab79ef48ea62a51199fd1cb65da7f41bd73d2b1b
|
data/.gitignore
ADDED
data/Gemfile
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
source 'https://rubygems.org'
|
2
|
+
|
3
|
+
gemspec
|
4
|
+
|
5
|
+
group :development do
|
6
|
+
gem 'bacon'
|
7
|
+
gem 'mocha-on-bacon'
|
8
|
+
gem 'mocha', '~> 0.11.4'
|
9
|
+
gem 'prettybacon', :git => 'https://github.com/irrationalfab/PrettyBacon.git', :branch => 'master'
|
10
|
+
gem 'coveralls', :require => false
|
11
|
+
end
|
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2015 Boris Bügling
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,87 @@
|
|
1
|
+
# Xcode::Install
|
2
|
+
|
3
|
+
Install and update your Xcodes automatically.
|
4
|
+
|
5
|
+
```bash
|
6
|
+
$ gem install 'xcode-install'
|
7
|
+
$ xcode-install install 6.3
|
8
|
+
```
|
9
|
+
|
10
|
+
## Installation
|
11
|
+
|
12
|
+
Add this line to your application's Gemfile:
|
13
|
+
|
14
|
+
```ruby
|
15
|
+
gem 'xcode-install'
|
16
|
+
```
|
17
|
+
|
18
|
+
And then execute:
|
19
|
+
|
20
|
+
$ bundle
|
21
|
+
|
22
|
+
Or install it yourself as:
|
23
|
+
|
24
|
+
$ gem install xcode-install
|
25
|
+
|
26
|
+
## Usage
|
27
|
+
|
28
|
+
XcodeInstall will ask for your credentials to access the Apple Developer Center, they are stored
|
29
|
+
using the [CredentialsManager][1] of [Fastlane][2].
|
30
|
+
|
31
|
+
To list available versions:
|
32
|
+
|
33
|
+
```bash
|
34
|
+
$ xcode-install list
|
35
|
+
6.0.1
|
36
|
+
6.1
|
37
|
+
6.1.1
|
38
|
+
6.2
|
39
|
+
6.3
|
40
|
+
```
|
41
|
+
|
42
|
+
By default, only the latest major version is listed.
|
43
|
+
|
44
|
+
To install a certain version, simply:
|
45
|
+
|
46
|
+
```bash
|
47
|
+
$ xcode-install install 6.3
|
48
|
+
########################################################### 82.1%
|
49
|
+
######################################################################## 100.0%
|
50
|
+
Please authenticate for Xcode installation...
|
51
|
+
|
52
|
+
Xcode 6.3
|
53
|
+
Build version 6D570
|
54
|
+
```
|
55
|
+
|
56
|
+
This will download and install that version of Xcode. It will also be automatically selected.
|
57
|
+
|
58
|
+
## Limitations
|
59
|
+
|
60
|
+
This is a first shot, there are currently some limitations:
|
61
|
+
|
62
|
+
- No cleanup of caches in `~/Library/Caches/XcodeInstall` [#6](/../../issues/6)
|
63
|
+
- No automatic uninstallation [#3](/../../issues/3)
|
64
|
+
- No notion of installed versions [#1](/../../issues/1)
|
65
|
+
- No support for preleases [#5](/../../issues/5)
|
66
|
+
|
67
|
+
I will be addressing those in the future, but feel free to send PRs or report additional
|
68
|
+
bugs and shortcomings.
|
69
|
+
|
70
|
+
## Thanks
|
71
|
+
|
72
|
+
[This][3] downloading script which has been used for some inspiration, also [this][4]
|
73
|
+
for doing the installation.
|
74
|
+
|
75
|
+
## Contributing
|
76
|
+
|
77
|
+
1. Fork it ( https://github.com/[my-github-username]/xcode-install/fork )
|
78
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
79
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
80
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
81
|
+
5. Create a new Pull Request
|
82
|
+
|
83
|
+
|
84
|
+
[1]: https://github.com/KrauseFx/CredentialsManager
|
85
|
+
[2]: http://fastlane.tools
|
86
|
+
[3]: http://atastypixel.com/blog/resuming-adc-downloads-cos-safari-sucks/
|
87
|
+
[4]: https://github.com/magneticbear/Jenkins_Bootstrap
|
data/Rakefile
ADDED
data/bin/xcode-install
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
if $PROGRAM_NAME == __FILE__
|
4
|
+
ENV['BUNDLE_GEMFILE'] = File.expand_path('../../Gemfile', __FILE__)
|
5
|
+
require 'rubygems'
|
6
|
+
require 'bundler/setup'
|
7
|
+
$LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
|
8
|
+
end
|
9
|
+
|
10
|
+
require 'xcode/install'
|
11
|
+
|
12
|
+
XcodeInstall::Command.run(ARGV)
|
@@ -0,0 +1,146 @@
|
|
1
|
+
require "fastlane_core"
|
2
|
+
require "fastlane_core/developer_center/developer_center"
|
3
|
+
require "xcode/install/command"
|
4
|
+
require "xcode/install/version"
|
5
|
+
|
6
|
+
module FastlaneCore
|
7
|
+
class DeveloperCenter
|
8
|
+
def cookies
|
9
|
+
cookie_string = ""
|
10
|
+
|
11
|
+
page.driver.cookies.each do |key, cookie|
|
12
|
+
cookie_string << "#{cookie.name}=#{cookie.value};"
|
13
|
+
end
|
14
|
+
|
15
|
+
cookie_string
|
16
|
+
end
|
17
|
+
|
18
|
+
def download_seedlist
|
19
|
+
# categories: Applications%2CDeveloper%20Tools%2CiOS%2COS%20X%2COS%20X%20Server%2CSafari
|
20
|
+
JSON.parse(page.evaluate_script("$.ajax({data: { start: \"0\", limit: \"1000\", " +
|
21
|
+
"sort: \"dateModified\", dir: \"DESC\", searchTextField: \"\", " +
|
22
|
+
"searchCategories: \"\", search: \"false\" } , type: 'POST', " +
|
23
|
+
"url: '/downloads/seedlist.action', async: false})")['responseText'])
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
module Helper
|
28
|
+
def self.is_test?
|
29
|
+
true
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
module XcodeInstall
|
35
|
+
class Curl
|
36
|
+
COOKIES_PATH = Pathname.new('/tmp/curl-cookies.txt')
|
37
|
+
|
38
|
+
def fetch(url, directory = nil, cookies = nil, output = nil)
|
39
|
+
options = cookies.nil? ? '' : "-b '#{cookies}' -c #{COOKIES_PATH}"
|
40
|
+
#options += ' -vvv'
|
41
|
+
|
42
|
+
uri = URI.parse(url)
|
43
|
+
output ||= File.basename(uri.path)
|
44
|
+
output = (Pathname.new(directory) + Pathname.new(output)) if directory
|
45
|
+
|
46
|
+
command = "curl #{options} -L -C - -# -o #{output} #{url}"
|
47
|
+
IO.popen(command).each do |fd|
|
48
|
+
puts(fd)
|
49
|
+
end
|
50
|
+
result = $?.to_i == 0
|
51
|
+
|
52
|
+
FileUtils.rm_f(COOKIES_PATH)
|
53
|
+
result
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
class Installer
|
58
|
+
attr_reader :xcodes
|
59
|
+
|
60
|
+
def initialize
|
61
|
+
FileUtils.mkdir_p(CACHE_DIR)
|
62
|
+
end
|
63
|
+
|
64
|
+
def download(version)
|
65
|
+
return unless exist?(version)
|
66
|
+
xcode = seedlist.select { |x| x.name == version }.first
|
67
|
+
dmg_file = Pathname.new(File.basename(xcode.path))
|
68
|
+
|
69
|
+
result = Curl.new.fetch(xcode.url, CACHE_DIR, devcenter.cookies, dmg_file)
|
70
|
+
result ? CACHE_DIR + dmg_file : nil
|
71
|
+
end
|
72
|
+
|
73
|
+
def exist?(version)
|
74
|
+
list_versions.include?(version)
|
75
|
+
end
|
76
|
+
|
77
|
+
def install_dmg(dmgPath, suffix = '')
|
78
|
+
xcode_path = "/Applications/Xcode#{suffix}.app"
|
79
|
+
|
80
|
+
`hdiutil mount -noverify #{dmgPath}`
|
81
|
+
puts 'Please authenticate for Xcode installation...'
|
82
|
+
`sudo cp -R "/Volumes/Xcode/Xcode.app" "#{xcode_path}"`
|
83
|
+
`umount "/Volumes/Xcode"`
|
84
|
+
|
85
|
+
`sudo xcode-select -s #{xcode_path}`
|
86
|
+
puts `xcodebuild -version`
|
87
|
+
end
|
88
|
+
|
89
|
+
def list_current
|
90
|
+
majors = list_versions.map { |v| v.split('.')[0] }.select { |v| v.length == 1 }.uniq
|
91
|
+
list_versions.select { |v| v.start_with?(majors.last) }.join("\n")
|
92
|
+
end
|
93
|
+
|
94
|
+
def list
|
95
|
+
list_versions.join("\n")
|
96
|
+
end
|
97
|
+
|
98
|
+
:private
|
99
|
+
|
100
|
+
CACHE_DIR = Pathname.new("#{ENV['HOME']}/Library/Caches/XcodeInstall")
|
101
|
+
LIST_FILE = CACHE_DIR + Pathname.new('xcodes.bin')
|
102
|
+
|
103
|
+
def devcenter
|
104
|
+
@devcenter ||= FastlaneCore::DeveloperCenter.new
|
105
|
+
end
|
106
|
+
|
107
|
+
def get_seedlist
|
108
|
+
@xcodes = parse_seedlist(devcenter.download_seedlist)
|
109
|
+
|
110
|
+
File.open(LIST_FILE,'w') do |f|
|
111
|
+
f << Marshal.dump(xcodes)
|
112
|
+
end
|
113
|
+
|
114
|
+
xcodes
|
115
|
+
end
|
116
|
+
|
117
|
+
def parse_seedlist(seedlist)
|
118
|
+
seedlist['data'].select {
|
119
|
+
|t| /^Xcode [0-9]/.match(t['name'])
|
120
|
+
}.map { |x| Xcode.new(x) }.sort { |a,b| a.dateModified <=> b.dateModified }
|
121
|
+
end
|
122
|
+
|
123
|
+
def list_versions
|
124
|
+
seedlist.map { |x| x.name }
|
125
|
+
end
|
126
|
+
|
127
|
+
def seedlist
|
128
|
+
@xcodes = Marshal.load(File.read(LIST_FILE)) if LIST_FILE.exist? && xcodes.nil?
|
129
|
+
xcodes || get_seedlist
|
130
|
+
end
|
131
|
+
end
|
132
|
+
|
133
|
+
class Xcode
|
134
|
+
attr_reader :dateModified
|
135
|
+
attr_reader :name
|
136
|
+
attr_reader :path
|
137
|
+
attr_reader :url
|
138
|
+
|
139
|
+
def initialize(json)
|
140
|
+
@dateModified = json['dateModified'].to_i
|
141
|
+
@name = json['name'].gsub(/^Xcode /, '')
|
142
|
+
@path = json['files'].first['remotePath']
|
143
|
+
@url = "https://developer.apple.com/devcenter/download.action?path=#{@path}"
|
144
|
+
end
|
145
|
+
end
|
146
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'claide'
|
2
|
+
require "xcode/install/version"
|
3
|
+
|
4
|
+
module XcodeInstall
|
5
|
+
class Command < CLAide::Command
|
6
|
+
require "xcode/install/install"
|
7
|
+
require "xcode/install/list"
|
8
|
+
|
9
|
+
self.abstract_command = true
|
10
|
+
self.command = 'xcode-install'
|
11
|
+
self.version = VERSION
|
12
|
+
self.description = 'Xcode installation manager.'
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
module XcodeInstall
|
2
|
+
class PlainInformative < StandardError
|
3
|
+
include CLAide::InformativeError
|
4
|
+
end
|
5
|
+
|
6
|
+
class Informative < PlainInformative
|
7
|
+
def message
|
8
|
+
"[!] #{super}".red
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
class Command
|
13
|
+
class Install < Command
|
14
|
+
self.command = 'install'
|
15
|
+
self.summary = 'Install a specific version of Xcode.'
|
16
|
+
|
17
|
+
self.arguments = [
|
18
|
+
CLAide::Argument.new('VERSION', :true),
|
19
|
+
]
|
20
|
+
|
21
|
+
def initialize(argv)
|
22
|
+
@installer = Installer.new
|
23
|
+
@version = argv.shift_argument
|
24
|
+
end
|
25
|
+
|
26
|
+
def validate!
|
27
|
+
raise Informative, "Version #{@version} doesn't exist." unless @installer.exist?(@version)
|
28
|
+
end
|
29
|
+
|
30
|
+
def run
|
31
|
+
dmgPath = @installer.download(@version)
|
32
|
+
raise Informative, "Failed to download Xcode #{@version}." if dmgPath.nil?
|
33
|
+
|
34
|
+
@installer.install_dmg(dmgPath, "-#{@version}")
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module XcodeInstall
|
2
|
+
class Command
|
3
|
+
class List < Command
|
4
|
+
self.command = 'list'
|
5
|
+
self.summary = 'List Xcodes available for download.'
|
6
|
+
|
7
|
+
def self.options
|
8
|
+
[['--all', 'Show all available versions.']].concat(super)
|
9
|
+
end
|
10
|
+
|
11
|
+
def initialize(argv)
|
12
|
+
@all = argv.flag?('all', false)
|
13
|
+
super
|
14
|
+
end
|
15
|
+
|
16
|
+
def run
|
17
|
+
installer = XcodeInstall::Installer.new
|
18
|
+
|
19
|
+
if @all
|
20
|
+
puts installer.list
|
21
|
+
else
|
22
|
+
puts installer.list_current
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
{"active":true,"availableInMemberSite":true,"categories":[{"active":null,"dateCreated":1052825460000,"dateModified":1079108316000,"enabled":true,"id":187,"name":"Developer Tools","sortOrder":28}],"dateAvailable":null,"dateCreated":1413472373000,"dateDisabled":null,"dateModified":1413472373000,"description":"This package enables UNIX-style development via Terminal by installing command line developer tools, as well as Mac OS X SDK frameworks and headers. Many useful tools are included, such as the Apple LLVM compiler, linker, and Make. If you use Xcode, these tools are also embedded within the Xcode IDE.","files":[{"active":true,"dateCreated":1413472373000,"dateModified":1413472373000,"fileSize":107698152,"format":{"active":null,"dateCreated":1066327569000,"dateModified":null,"description":"Disk Image","extension":".dmg","id":12},"id":33285,"name":"Command Line Tools for OSX 10.9 for Xcode 6.1","remotePath":"/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","sortOrder":1,"state":"ENABLED"}],"id":21958,"name":"Command Line Tools (OS X 10.9) for Xcode - Xcode 6.1","prerelease":false,"releasedSeed":true,"state":"ENABLED"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{ "data" :[{"active":true,"availableInMemberSite":true,"categories":[{"active":null,"dateCreated":1052825460000,"dateModified":1079108316000,"enabled":true,"id":187,"name":"Developer Tools","sortOrder":28},{"active":null,"dateCreated":4094323200000,"dateModified":1330344208000,"enabled":true,"id":14,"name":"OS X","sortOrder":70}],"dateAvailable":null,"dateCreated":1427400482000,"dateDisabled":null,"dateModified":1427749027000,"description":"This package contains development & debug versions of the OS X kernel and many I/O Kit families for use with LLDB remote (two-machine) kernel debugging. These files contain full symbolic information, unlike the equivalent files in a normal OS X installation. Also included are LLDB macros useful for kernel debugging and DEVELOPMENT (for every day use) and DEBUG (for much more error checking) kernels built with more assertions and fewer compiler optimizations.","files":[{"active":true,"dateCreated":1427399968000,"dateModified":1427749027000,"fileSize":92152909,"format":{"active":null,"dateCreated":1066327569000,"dateModified":null,"description":"Disk Image","extension":".dmg","id":12},"id":36000,"name":"kernel_debug_kit_10.10.2.14C1514","remotePath":"/Developer_Tools/Kernel_Debug_Kit_10.10.2_build_14C1514/kernel_debug_kit_10.10.2.14C1514.dmg","sortOrder":null,"state":"ENABLED"}],"id":24120,"name":"Kernel Debug Kit 10.10.2 build 14C1514","prerelease":false,"releasedSeed":true,"state":"ENABLED"},{"active":true,"availableInMemberSite":true,"categories":[{"active":null,"dateCreated":1052825460000,"dateModified":1079108316000,"enabled":true,"id":187,"name":"Developer Tools","sortOrder":28}],"dateAvailable":null,"dateCreated":1425695047000,"dateDisabled":null,"dateModified":1425943753000,"description":"This is the complete Xcode developer toolset for Mac, iPhone, and iPad. It includes the Xcode IDE, iOS Simulator, and all required tools and frameworks for building OS X and iOS apps.","files":[{"active":true,"dateCreated":1425696402000,"dateModified":1425929405000,"fileSize":2778059898,"format":{"active":null,"dateCreated":1066327569000,"dateModified":null,"description":"Disk Image","extension":".dmg","id":12},"id":35240,"name":"Xcode 6.2","remotePath":"/Developer_Tools/Xcode_6.2/Xcode_6.2.dmg","sortOrder":null,"state":"ENABLED"}],"id":23600,"name":"Xcode 6.2","prerelease":false,"releasedSeed":true,"state":"ENABLED"},{"active":true,"availableInMemberSite":true,"categories":[{"active":null,"dateCreated":1052825460000,"dateModified":1079108316000,"enabled":true,"id":187,"name":"Developer Tools","sortOrder":28}],"dateAvailable":null,"dateCreated":1425715291000,"dateDisabled":null,"dateModified":1425929196000,"description":"This package enables UNIX-style development via Terminal by installing command line developer tools, as well as Mac OS X SDK frameworks and headers. Many useful tools are included, such as the Apple LLVM compiler, linker, and Make. If you use Xcode, these tools are also embedded within the Xcode IDE.","files":[{"active":true,"dateCreated":1425715250000,"dateModified":1425929196000,"fileSize":107722916,"format":{"active":null,"dateCreated":1066327569000,"dateModified":null,"description":"Disk Image","extension":".dmg","id":12},"id":35261,"name":"commandlinetoolsosx10.9forxcode6.2","remotePath":"/Developer_Tools/Command_Line_Tools_OS_X_10.9_for_Xcode__Xcode_6.2/commandlinetoolsosx10.9forxcode6.2.dmg","sortOrder":null,"state":"ENABLED"}],"id":23621,"name":"Command Line Tools (OS X 10.9) for Xcode - Xcode 6.2","prerelease":false,"releasedSeed":true,"state":"ENABLED"},{"active":true,"availableInMemberSite":true,"categories":[{"active":null,"dateCreated":1052825460000,"dateModified":1079108316000,"enabled":true,"id":187,"name":"Developer Tools","sortOrder":28}],"dateAvailable":null,"dateCreated":1425715155000,"dateDisabled":null,"dateModified":1425929191000,"description":"This package enables UNIX-style development via Terminal by installing command line developer tools, as well as Mac OS X SDK frameworks and headers. Many useful tools are included, such as the Apple LLVM compiler, linker, and Make. If you use Xcode, these tools are also embedded within the Xcode IDE.","files":[{"active":true,"dateCreated":1425715007000,"dateModified":1425929191000,"fileSize":185973322,"format":{"active":null,"dateCreated":1066327569000,"dateModified":null,"description":"Disk Image","extension":".dmg","id":12},"id":35260,"name":"commandlinetoolsosx10.10forxcode6.2","remotePath":"/Developer_Tools/Command_Line_Tools_OS_X_10.10_for_Xcode__Xcode_6.2/commandlinetoolsosx10.10forxcode6.2.dmg","sortOrder":null,"state":"ENABLED"}],"id":23620,"name":"Command Line Tools (OS X 10.10) for Xcode - Xcode 6.2","prerelease":false,"releasedSeed":true,"state":"ENABLED"},{"active":true,"availableInMemberSite":true,"categories":[{"active":null,"dateCreated":1056547200000,"dateModified":1079108316000,"enabled":true,"id":247,"name":"Applications","sortOrder":5}],"dateAvailable":null,"dateCreated":1422579460000,"dateDisabled":null,"dateModified":1422580781000,"description":"This SDK contains the files necessary for iTunes Visual Plug-in development for iTunes 10.4 or later, and includes documentation and sample code. Specifically, this SDK contains the files \"iTunesAPI.h\", \"iTunesVisualAPI.h\", and \"iTunesAPI.cpp\" that developers will use to develop their own plug-ins. The sample code is a fully functional Visual Plug-in developed for Mac OS X 10.5.8 and later with Xcode 3.2 and for Windows XP SP3 and later with Microsoft Visual Studio 2013. Both 32-bit and 64-bit versions of iTunes are supported.","files":[{"active":true,"dateCreated":1422579577000,"dateModified":1422580781000,"fileSize":243268,"format":{"active":null,"dateCreated":1079049600000,"dateModified":null,"description":"Zip","extension":".zip","id":5},"id":34442,"name":"iTunes Visual Plug-ins SDK","remotePath":"/Applications/itunes_visual_plugins_sdk/iTunesVisualPlugInsSDK2_0_1.zip","sortOrder":null,"state":"ENABLED"}],"id":22900,"name":"iTunes Visual Plug-ins SDK","prerelease":false,"releasedSeed":true,"state":"ENABLED"},{"active":true,"availableInMemberSite":true,"categories":[{"active":null,"dateCreated":4094323200000,"dateModified":1330344208000,"enabled":true,"id":14,"name":"OS X","sortOrder":70}],"dateAvailable":null,"dateCreated":1422473743000,"dateDisabled":null,"dateModified":1422568829000,"description":"OS X Yosemite 10.10.2 is an update to OS X Yosemite 10.10.","files":[{"active":true,"dateCreated":1422473537000,"dateModified":1422568829000,"fileSize":841144579,"format":{"active":null,"dateCreated":1066327569000,"dateModified":null,"description":"Disk Image","extension":".dmg","id":12},"id":34421,"name":"OS X Yosemite 10.10.2 build 14C109 Delta Update","remotePath":"/OS_X/OS_X_Yosemite_10.10.2_build_14C109/OSXUpdCombo10.10.2.dmg","sortOrder":null,"state":"ENABLED"},{"active":true,"dateCreated":1422473505000,"dateModified":1422568829000,"fileSize":554331370,"format":{"active":null,"dateCreated":1066327569000,"dateModified":null,"description":"Disk Image","extension":".dmg","id":12},"id":34420,"name":"OS X Yosemite 10.10.2 build 14C109 Combo Update","remotePath":"/OS_X/OS_X_Yosemite_10.10.2_build_14C109/osxupd10.10.2.dmg","sortOrder":null,"state":"ENABLED"}],"id":22880,"name":"OS X Yosemite 10.10.2 build 14C109","prerelease":false,"releasedSeed":true,"state":"ENABLED"},{"active":true,"availableInMemberSite":true,"categories":[{"active":null,"dateCreated":1056547200000,"dateModified":1079108316000,"enabled":true,"id":247,"name":"Applications","sortOrder":5},{"active":null,"dateCreated":4094323200000,"dateModified":1330344208000,"enabled":true,"id":14,"name":"OS X","sortOrder":70}],"dateAvailable":null,"dateCreated":1421366600000,"dateDisabled":null,"dateModified":1421366644000,"description":"This is a pre-release build of Apple Remote Desktop 3.8.","files":[{"active":true,"dateCreated":1421366601000,"dateModified":1421366645000,"fileSize":7639949,"format":{"active":null,"dateCreated":1066327569000,"dateModified":null,"description":"Disk Image","extension":".dmg","id":12},"id":34327,"name":"Apple Remote Desktop 3.8.0 Client Manual","remotePath":"/Applications/Apple_Remote_Desktop_3.8_version_3.7.9.2_build_380A78_Seed/Apple_Remote_Desktop_3.8.0_Client_Manual.dmg","sortOrder":null,"state":"ENABLED"},{"active":true,"dateCreated":1421366600000,"dateModified":1421366645000,"fileSize":49785,"format":{"active":null,"dateCreated":1075908502000,"dateModified":null,"description":"PDF","extension":".pdf","id":2},"id":34326,"name":"Apple Remote Desktop 3.8 Seed 4 Release Notes","remotePath":"/Applications/Apple_Remote_Desktop_3.8_version_3.7.9.2_build_380A78_Seed/Apple_Remote_Desktop_3.8_Seed_4_Release_Notes.pdf","sortOrder":null,"state":"ENABLED"},{"active":true,"dateCreated":1421366601000,"dateModified":1421366645000,"fileSize":14190677,"format":{"active":null,"dateCreated":1066327569000,"dateModified":null,"description":"Disk Image","extension":".dmg","id":12},"id":34328,"name":"Apple Remote Desktop 3.8.0","remotePath":"/Applications/Apple_Remote_Desktop_3.8_version_3.7.9.2_build_380A78_Seed/Apple_Remote_Desktop_3.8.0.dmg","sortOrder":null,"state":"ENABLED"}],"id":22783,"name":"Apple Remote Desktop 3.8 version 3.7.9.2 (build 380A78) Seed","prerelease":true,"releasedSeed":false,"state":"ENABLED"},{"active":true,"availableInMemberSite":true,"categories":[{"active":null,"dateCreated":1052825460000,"dateModified":1079108316000,"enabled":true,"id":187,"name":"Developer Tools","sortOrder":28},{"active":null,"dateCreated":1278517398000,"dateModified":1278517398000,"enabled":true,"id":325,"name":"iOS","sortOrder":50},{"active":null,"dateCreated":4094323200000,"dateModified":1330344208000,"enabled":true,"id":14,"name":"OS X","sortOrder":70}],"dateAvailable":null,"dateCreated":1366217744000,"dateDisabled":null,"dateModified":1421170719000,"description":"Logging profiles used to debug iOS issues. Relevant logs should be included when submitting a bug report.\r\n\r\nFor instructions on how to use these profiles, please visit: https://developer.apple.com/bug-reporting/ios/","files":[{"active":true,"dateCreated":1405430193000,"dateModified":1421170725000,"fileSize":6427,"format":{"active":null,"dateCreated":1262956008000,"dateModified":null,"description":"Mobile Configuration","extension":".mobileconfig","id":26},"id":32847,"name":"Bluetooth Logging Profile","remotePath":"/ios/bug_reporter_logging_profiles_ios/bluetoothwirelessproximity.mobileconfig","sortOrder":1,"state":"ENABLED"},{"active":true,"dateCreated":1403687610000,"dateModified":1421170725000,"fileSize":6858,"format":{"active":null,"dateCreated":1262956008000,"dateModified":null,"description":"Mobile Configuration","extension":".mobileconfig","id":26},"id":32780,"name":"Baseband Logging Profile","remotePath":"/ios/bug_reporter_logging_profiles_ios/baseband.mobileconfig","sortOrder":1,"state":"ENABLED"},{"active":true,"dateCreated":1411637606000,"dateModified":1421170725000,"fileSize":3434,"format":{"active":null,"dateCreated":1079049600000,"dateModified":null,"description":"Zip","extension":".zip","id":5},"id":33111,"name":"Bonjour Logging Profile","remotePath":"/ios/bug_reporter_logging_profiles_ios/discoverydlogging.mobileconfig.zip","sortOrder":1,"state":"ENABLED"},{"active":true,"dateCreated":1411637606000,"dateModified":1421170725000,"fileSize":5668,"format":{"active":null,"dateCreated":1262956008000,"dateModified":null,"description":"Mobile Configuration","extension":".mobileconfig","id":26},"id":33110,"name":"Bonjour Logging Profile","remotePath":"/ios/bug_reporter_logging_profiles_ios/discoverydlogging.mobileconfig","sortOrder":1,"state":"ENABLED"},{"active":true,"dateCreated":1405430193000,"dateModified":1421170725000,"fileSize":3652,"format":{"active":null,"dateCreated":1079049600000,"dateModified":null,"description":"Zip","extension":".zip","id":5},"id":32848,"name":"Bluetooth Logging Profile","remotePath":"/ios/bug_reporter_logging_profiles_ios/bluetoothwirelessproximity.mobileconfig.zip","sortOrder":1,"state":"ENABLED"},{"active":true,"dateCreated":1403078049000,"dateModified":1421170725000,"fileSize":5778,"format":{"active":null,"dateCreated":1262956008000,"dateModified":null,"description":"Mobile Configuration","extension":".mobileconfig","id":26},"id":32742,"name":"Multitasking Logging Profile","remotePath":"/ios/bug_reporter_logging_profiles_ios/multitasking.mobileconfig","sortOrder":1,"state":"ENABLED"},{"active":true,"dateCreated":1403078049000,"dateModified":1421170725000,"fileSize":3907,"format":{"active":null,"dateCreated":1079049600000,"dateModified":null,"description":"Zip","extension":".zip","id":5},"id":32743,"name":"VPN Logging Profile","remotePath":"/ios/bug_reporter_logging_profiles_ios/vpn.mobileconfig.zip","sortOrder":1,"state":"ENABLED"},{"active":true,"dateCreated":1403078049000,"dateModified":1421170725000,"fileSize":5596,"format":{"active":null,"dateCreated":1262956008000,"dateModified":null,"description":"Mobile Configuration","extension":".mobileconfig","id":26},"id":32740,"name":"Mail Logging Profile","remotePath":"/ios/bug_reporter_logging_profiles_ios/mail.mobileconfig","sortOrder":1,"state":"ENABLED"},{"active":true,"dateCreated":1403078049000,"dateModified":1421170725000,"fileSize":5114,"format":{"active":null,"dateCreated":1262956008000,"dateModified":null,"description":"Mobile Configuration","extension":".mobileconfig","id":26},"id":32741,"name":"Sync Diagnostics Logging Profile (DA)","remotePath":"/ios/bug_reporter_logging_profiles_ios/dataaccess.mobileconfig","sortOrder":1,"state":"ENABLED"},{"active":true,"dateCreated":1403078049000,"dateModified":1421170725000,"fileSize":3797,"format":{"active":null,"dateCreated":1079049600000,"dateModified":null,"description":"Zip","extension":".zip","id":5},"id":32738,"name":"Mail Logging Profile","remotePath":"/ios/bug_reporter_logging_profiles_ios/mail.mobileconfig.zip","sortOrder":1,"state":"ENABLED"},{"active":true,"dateCreated":1403078049000,"dateModified":1421170725000,"fileSize":9082,"format":{"active":null,"dateCreated":1262956008000,"dateModified":null,"description":"Mobile Configuration","extension":".mobileconfig","id":26},"id":32739,"name":"iCloud Logging Profile","remotePath":"/ios/bug_reporter_logging_profiles_ios/icloudv2.mobileconfig","sortOrder":1,"state":"ENABLED"},{"active":true,"dateCreated":1403078049000,"dateModified":1421170725000,"fileSize":6778,"format":{"active":null,"dateCreated":1262956008000,"dateModified":null,"description":"Mobile Configuration","extension":".mobileconfig","id":26},"id":32736,"name":"AirTraffic Logging Profile","remotePath":"/ios/bug_reporter_logging_profiles_ios/airtraffic.mobileconfig","sortOrder":1,"state":"ENABLED"},{"active":true,"dateCreated":1403078049000,"dateModified":1421170725000,"fileSize":4307,"format":{"active":null,"dateCreated":1079049600000,"dateModified":null,"description":"Zip","extension":".zip","id":5},"id":32737,"name":"Battery Life Logging Profile","remotePath":"/ios/bug_reporter_logging_profiles_ios/systemdebugprofileios8.mobileconfig.zip","sortOrder":1,"state":"ENABLED"},{"active":true,"dateCreated":1403078049000,"dateModified":1421170725000,"fileSize":3752,"format":{"active":null,"dateCreated":1079049600000,"dateModified":null,"description":"Zip","extension":".zip","id":5},"id":32750,"name":"Sync Diagnostics Logging Profile (DA)","remotePath":"/ios/bug_reporter_logging_profiles_ios/dataaccess.mobileconfig.zip","sortOrder":1,"state":"ENABLED"},{"active":true,"dateCreated":1380098578000,"dateModified":1421170725000,"fileSize":4004,"format":{"active":null,"dateCreated":1079049600000,"dateModified":null,"description":"Zip","extension":".zip","id":5},"id":31962,"name":"In-App Purchase Logging Profile","remotePath":"/ios/bug_reporter_logging_profiles_ios/inapppurchaselogging.mobileconfig.zip","sortOrder":1,"state":"ENABLED"},{"active":true,"dateCreated":1403078049000,"dateModified":1421170725000,"fileSize":4495,"format":{"active":null,"dateCreated":1079049600000,"dateModified":null,"description":"Zip","extension":".zip","id":5},"id":32751,"name":"Media Player Logging Profile","remotePath":"/ios/bug_reporter_logging_profiles_ios/mediaplayer.mobileconfig.zip","sortOrder":1,"state":"ENABLED"},{"active":true,"dateCreated":1380098578000,"dateModified":1421170725000,"fileSize":5935,"format":{"active":null,"dateCreated":1262956008000,"dateModified":null,"description":"Mobile Configuration","extension":".mobileconfig","id":26},"id":31961,"name":"In-App Purchase Logging Profile","remotePath":"/ios/bug_reporter_logging_profiles_ios/inapppurchaselogging.mobileconfig","sortOrder":1,"state":"ENABLED"},{"active":true,"dateCreated":1403078049000,"dateModified":1421170725000,"fileSize":8934,"format":{"active":null,"dateCreated":1262956008000,"dateModified":null,"description":"Mobile Configuration","extension":".mobileconfig","id":26},"id":32746,"name":"Media Player Logging Profile","remotePath":"/ios/bug_reporter_logging_profiles_ios/mediaplayer.mobileconfig","sortOrder":1,"state":"ENABLED"},{"active":true,"dateCreated":1403078049000,"dateModified":1421170725000,"fileSize":6143,"format":{"active":null,"dateCreated":1262956008000,"dateModified":null,"description":"Mobile Configuration","extension":".mobileconfig","id":26},"id":32747,"name":"Apple Push Notification Services Logging Profile","remotePath":"/ios/bug_reporter_logging_profiles_ios/apns.mobileconfig","sortOrder":1,"state":"ENABLED"},{"active":true,"dateCreated":1403078049000,"dateModified":1421170725000,"fileSize":3506,"format":{"active":null,"dateCreated":1079049600000,"dateModified":null,"description":"Zip","extension":".zip","id":5},"id":32745,"name":"AirTraffic Logging Profile","remotePath":"/ios/bug_reporter_logging_profiles_ios/airtraffic.mobileconfig.zip","sortOrder":1,"state":"ENABLED"},{"active":true,"dateCreated":1403078049000,"dateModified":1421170725000,"fileSize":4446,"format":{"active":null,"dateCreated":1079049600000,"dateModified":null,"description":"Zip","extension":".zip","id":5},"id":32759,"name":"iAd Logging Profile","remotePath":"/ios/bug_reporter_logging_profiles_ios/iad.mobileconfig.zip","sortOrder":1,"state":"ENABLED"},{"active":true,"dateCreated":1403078049000,"dateModified":1421170725000,"fileSize":6651,"format":{"active":null,"dateCreated":1262956008000,"dateModified":null,"description":"Mobile Configuration","extension":".mobileconfig","id":26},"id":32758,"name":"FaceTime Logging Profile","remotePath":"/ios/bug_reporter_logging_profiles_ios/facetime.mobileconfig","sortOrder":1,"state":"ENABLED"},{"active":true,"dateCreated":1403078049000,"dateModified":1421170725000,"fileSize":6804,"format":{"active":null,"dateCreated":1262956008000,"dateModified":null,"description":"Mobile Configuration","extension":".mobileconfig","id":26},"id":32757,"name":"Messages Logging Profile","remotePath":"/ios/bug_reporter_logging_profiles_ios/imessagev2.mobileconfig","sortOrder":1,"state":"ENABLED"},{"active":true,"dateCreated":1403078049000,"dateModified":1421170725000,"fileSize":5657,"format":{"active":null,"dateCreated":1262956008000,"dateModified":null,"description":"Mobile Configuration","extension":".mobileconfig","id":26},"id":32756,"name":"VPN Logging Profile","remotePath":"/ios/bug_reporter_logging_profiles_ios/vpn.mobileconfig","sortOrder":1,"state":"ENABLED"},{"active":true,"dateCreated":1403078049000,"dateModified":1421170725000,"fileSize":7832,"format":{"active":null,"dateCreated":1262956008000,"dateModified":null,"description":"Mobile Configuration","extension":".mobileconfig","id":26},"id":32755,"name":"Battery Life Logging Profile","remotePath":"/ios/bug_reporter_logging_profiles_ios/systemdebugprofileios8.mobileconfig","sortOrder":1,"state":"ENABLED"},{"active":true,"dateCreated":1403078049000,"dateModified":1421170725000,"fileSize":7956,"format":{"active":null,"dateCreated":1262956008000,"dateModified":null,"description":"Mobile Configuration","extension":".mobileconfig","id":26},"id":32753,"name":"iAd Logging Profile","remotePath":"/ios/bug_reporter_logging_profiles_ios/iad.mobileconfig","sortOrder":1,"state":"ENABLED"},{"active":true,"dateCreated":1403078049000,"dateModified":1421170725000,"fileSize":3270,"format":{"active":null,"dateCreated":1079049600000,"dateModified":null,"description":"Zip","extension":".zip","id":5},"id":32752,"name":"Apple Push Notification Services Logging Profile","remotePath":"/ios/bug_reporter_logging_profiles_ios/apns.mobileconfig.zip","sortOrder":1,"state":"ENABLED"},{"active":true,"dateCreated":1403088258000,"dateModified":1421170725000,"fileSize":28783,"format":{"active":null,"dateCreated":1262956008000,"dateModified":null,"description":"Mobile Configuration","extension":".mobileconfig","id":26},"id":32767,"name":"Wi-Fi Logging Profile","remotePath":"/ios/bug_reporter_logging_profiles_ios/wifiv1.mobileconfig","sortOrder":1,"state":"ENABLED"},{"active":true,"dateCreated":1403088258000,"dateModified":1421170725000,"fileSize":4683,"format":{"active":null,"dateCreated":1079049600000,"dateModified":null,"description":"Zip","extension":".zip","id":5},"id":32766,"name":"Wi-Fi Logging Profile","remotePath":"/ios/bug_reporter_logging_profiles_ios/wifiv1.mobileconfig.zip","sortOrder":1,"state":"ENABLED"},{"active":true,"dateCreated":1403082174000,"dateModified":1421170725000,"fileSize":3714,"format":{"active":null,"dateCreated":1079049600000,"dateModified":null,"description":"Zip","extension":".zip","id":5},"id":32763,"name":"iCloud Logging Profile","remotePath":"/ios/bug_reporter_logging_profiles_ios/icloudv2.mobileconfig.zip","sortOrder":1,"state":"ENABLED"},{"active":true,"dateCreated":1403078049000,"dateModified":1421170725000,"fileSize":3874,"format":{"active":null,"dateCreated":1079049600000,"dateModified":null,"description":"Zip","extension":".zip","id":5},"id":32762,"name":"Multitasking Logging Profile","remotePath":"/ios/bug_reporter_logging_profiles_ios/multitasking.mobileconfig.zip","sortOrder":1,"state":"ENABLED"},{"active":true,"dateCreated":1403078049000,"dateModified":1421170725000,"fileSize":3953,"format":{"active":null,"dateCreated":1079049600000,"dateModified":null,"description":"Zip","extension":".zip","id":5},"id":32761,"name":"FaceTime Logging Profile","remotePath":"/ios/bug_reporter_logging_profiles_ios/facetime.mobileconfig.zip","sortOrder":1,"state":"ENABLED"},{"active":true,"dateCreated":1403078049000,"dateModified":1421170725000,"fileSize":4101,"format":{"active":null,"dateCreated":1079049600000,"dateModified":null,"description":"Zip","extension":".zip","id":5},"id":32760,"name":"Messages Logging Profile","remotePath":"/ios/bug_reporter_logging_profiles_ios/imessagev2.mobileconfig.zip","sortOrder":1,"state":"ENABLED"}],"id":21496,"name":"Bug Reporter Logging Profiles (iOS)","prerelease":true,"releasedSeed":false,"state":"ENABLED"},{"active":true,"availableInMemberSite":true,"categories":[{"active":null,"dateCreated":1016127960000,"dateModified":1330344254000,"enabled":true,"id":87,"name":"OS X Server","sortOrder":73}],"dateAvailable":null,"dateCreated":1254751762000,"dateDisabled":null,"dateModified":1420540443000,"description":"This document contains a unlimited-client Serial Number for use in development and testing of Mac OS X Server v10.6 (Snow Leopard Server). The Serial Number expires on Dec 31, 2015.","files":[{"active":true,"dateCreated":1420540443000,"dateModified":1420540443000,"fileSize":4741,"format":{"active":null,"dateCreated":1075908512000,"dateModified":null,"description":"RTF","extension":".rtf","id":8},"id":33491,"name":"Mac OS X Server v10.6 (Snow Leopard Server) Developer Serial Number","remotePath":"/Mac_OS_X_Server/mac_os_x_server_v10.6_snow_leopard_server_developer_serial_number/10.6_snow_leopard_server_developer_sn_dec_31_2015.rtf","sortOrder":1,"state":"ENABLED"}],"id":20499,"name":"Mac OS X Server v10.6 (Snow Leopard Server) Developer Serial Number","prerelease":true,"releasedSeed":false,"state":"ENABLED"},{"active":true,"availableInMemberSite":true,"categories":[{"active":null,"dateCreated":1278517398000,"dateModified":1278517398000,"enabled":true,"id":325,"name":"iOS","sortOrder":50}],"dateAvailable":null,"dateCreated":1373271190000,"dateDisabled":null,"dateModified":1420450733000,"description":"The restorationArchiveTool along with the StateRestorationDebugLogging and StateRestorationDeveloperMode profiles allow you to see what is happening in your state restoration archives.","files":[{"active":true,"dateCreated":1420450732000,"dateModified":1420450733000,"fileSize":6837,"format":{"active":null,"dateCreated":1262956008000,"dateModified":null,"description":"Mobile Configuration","extension":".mobileconfig","id":26},"id":33488,"name":"StateRestoration DeveloperMode","remotePath":"/ios/restorationarchivetool_for_ios_7/staterestoration_developermodev2.mobileconfig","sortOrder":1,"state":"ENABLED"},{"active":true,"dateCreated":1373271190000,"dateModified":1420450733000,"fileSize":2323,"format":{"active":null,"dateCreated":1075908512000,"dateModified":null,"description":"RTF","extension":".rtf","id":8},"id":30499,"name":"restorationArchiveTool for iOS 7 Readme","remotePath":"/ios/restorationarchivetool_for_ios_7/restorationarchivetool_for_ios_7_readme.rtf","sortOrder":1,"state":"ENABLED"},{"active":true,"dateCreated":1420450732000,"dateModified":1420450733000,"fileSize":4238,"format":{"active":null,"dateCreated":1079049600000,"dateModified":null,"description":"Zip","extension":".zip","id":5},"id":33485,"name":"StateRestoration DebugLogging","remotePath":"/ios/restorationarchivetool_for_ios_7/staterestoration_debugloggingv2.zip","sortOrder":1,"state":"ENABLED"},{"active":true,"dateCreated":1373271190000,"dateModified":1420450733000,"fileSize":25576874,"format":{"active":null,"dateCreated":1066327569000,"dateModified":null,"description":"Disk Image","extension":".dmg","id":12},"id":30502,"name":"restorationArchiveTool","remotePath":"/ios/restorationarchivetool_for_ios_7/restorationarchivetool.dmg","sortOrder":1,"state":"ENABLED"},{"active":true,"dateCreated":1420450732000,"dateModified":1420450733000,"fileSize":6416,"format":{"active":null,"dateCreated":1262956008000,"dateModified":null,"description":"Mobile Configuration","extension":".mobileconfig","id":26},"id":33487,"name":"StateRestoration DebugLogging","remotePath":"/ios/restorationarchivetool_for_ios_7/staterestoration_debugloggingv2.mobileconfig","sortOrder":1,"state":"ENABLED"},{"active":true,"dateCreated":1420450732000,"dateModified":1420450733000,"fileSize":4216,"format":{"active":null,"dateCreated":1079049600000,"dateModified":null,"description":"Zip","extension":".zip","id":5},"id":33486,"name":"StateRestoration DeveloperMode","remotePath":"/ios/restorationarchivetool_for_ios_7/staterestoration_developermodev2.zip","sortOrder":1,"state":"ENABLED"}],"id":21580,"name":"restorationArchiveTool for iOS 7","prerelease":true,"releasedSeed":false,"state":"ENABLED"},{"active":true,"availableInMemberSite":true,"categories":[{"active":null,"dateCreated":1052825460000,"dateModified":1079108316000,"enabled":true,"id":187,"name":"Developer Tools","sortOrder":28},{"active":null,"dateCreated":1278517398000,"dateModified":1278517398000,"enabled":true,"id":325,"name":"iOS","sortOrder":50},{"active":null,"dateCreated":4094323200000,"dateModified":1330344208000,"enabled":true,"id":14,"name":"OS X","sortOrder":70}],"dateAvailable":null,"dateCreated":1417525719000,"dateDisabled":null,"dateModified":1417527326000,"description":"This is a release version of the complete Xcode developer toolset for Mac, iPhone, iPod touch, and iPad. It includes the iOS 8.1 SDK, OS X 10.10 SDK and OS X 10.9 SDK. Xcode 6.1 requires OS X Yosemite or OS X Mavericks.","files":[{"active":true,"dateCreated":1417525719000,"dateModified":1417527326000,"fileSize":2689510545,"format":{"active":null,"dateCreated":1066327569000,"dateModified":null,"description":"Disk Image","extension":".dmg","id":12},"id":33398,"name":"Xcode 6.1.1","remotePath":"/Developer_Tools/xcode_6.1.1/xcode_6.1.1.dmg","sortOrder":1,"state":"ENABLED"}],"id":21985,"name":"Xcode 6.1.1","prerelease":false,"releasedSeed":true,"state":"ENABLED"},{"active":true,"availableInMemberSite":true,"categories":[{"active":null,"dateCreated":1052825460000,"dateModified":1079108316000,"enabled":true,"id":187,"name":"Developer Tools","sortOrder":28},{"active":null,"dateCreated":1278517398000,"dateModified":1278517398000,"enabled":true,"id":325,"name":"iOS","sortOrder":50},{"active":null,"dateCreated":4094323200000,"dateModified":1330344208000,"enabled":true,"id":14,"name":"OS X","sortOrder":70}],"dateAvailable":null,"dateCreated":1417524906000,"dateDisabled":null,"dateModified":1417527295000,"description":"This package enables UNIX-style development via Terminal by installing command line developer tools, as well as Mac OS X SDK frameworks and headers. Many useful tools are included, such as the Apple LLVM compiler, linker, and Make. If you use Xcode, these tools are also embedded within the Xcode IDE.","files":[{"active":true,"dateCreated":1417524906000,"dateModified":1417527295000,"fileSize":178197787,"format":{"active":null,"dateCreated":1066327569000,"dateModified":null,"description":"Disk Image","extension":".dmg","id":12},"id":33395,"name":"Command Line Tools (OS X 10.10) for Xcode 6.1.1","remotePath":"/Developer_Tools/command_line_tools_os_x_10.10_for_xcode__xcode_6.1.1/commandlinetoolsosx10.10forxcode6.1.1.dmg","sortOrder":1,"state":"ENABLED"}],"id":21983,"name":"Command Line Tools (OS X 10.10) for Xcode - Xcode 6.1.1","prerelease":false,"releasedSeed":true,"state":"ENABLED"},{"active":true,"availableInMemberSite":true,"categories":[{"active":null,"dateCreated":1052825460000,"dateModified":1079108316000,"enabled":true,"id":187,"name":"Developer Tools","sortOrder":28},{"active":null,"dateCreated":1278517398000,"dateModified":1278517398000,"enabled":true,"id":325,"name":"iOS","sortOrder":50},{"active":null,"dateCreated":4094323200000,"dateModified":1330344208000,"enabled":true,"id":14,"name":"OS X","sortOrder":70}],"dateAvailable":null,"dateCreated":1417525291000,"dateDisabled":null,"dateModified":1417527295000,"description":"This package enables UNIX-style development via Terminal by installing command line developer tools, as well as Mac OS X SDK frameworks and headers. Many useful tools are included, such as the Apple LLVM compiler, linker, and Make. If you use Xcode, these tools are also embedded within the Xcode IDE.","files":[{"active":true,"dateCreated":1417525291000,"dateModified":1417527295000,"fileSize":107659811,"format":{"active":null,"dateCreated":1066327569000,"dateModified":null,"description":"Disk Image","extension":".dmg","id":12},"id":33396,"name":"Command Line Tools (OS X 10.9) for Xcode 6.1.1","remotePath":"/Developer_Tools/command_line_tools_os_x_10.9_for_xcode__xcode_6.1.1/commandlinetoolsosx10.9forxcode6.1.1.dmg","sortOrder":1,"state":"ENABLED"}],"id":21984,"name":"Command Line Tools (OS X 10.9) for Xcode - Xcode 6.1.1","prerelease":false,"releasedSeed":true,"state":"ENABLED"},{"active":true,"availableInMemberSite":true,"categories":[{"active":null,"dateCreated":1052825460000,"dateModified":1079108316000,"enabled":true,"id":187,"name":"Developer Tools","sortOrder":28},{"active":null,"dateCreated":4094323200000,"dateModified":1330344208000,"enabled":true,"id":14,"name":"OS X","sortOrder":70}],"dateAvailable":null,"dateCreated":1416317087000,"dateDisabled":null,"dateModified":1416317087000,"description":"This package contains development & debug versions of the OS X kernel and many I/O Kit families for use with LLDB remote (two-machine) kernel debugging. These files contain full symbolic information, unlike the equivalent files in a normal OS X installation. Also included are LLDB macros useful for kernel debugging and DEVELOPMENT (for every day use) and DEBUG (for much more error checking) kernels built with more assertions and fewer compiler optimizations.","files":[{"active":true,"dateCreated":1416317087000,"dateModified":1416317087000,"fileSize":91972340,"format":{"active":null,"dateCreated":1066327569000,"dateModified":null,"description":"Disk Image","extension":".dmg","id":12},"id":33383,"name":"Kernel Debug Kit 10.10.1 build 14B25","remotePath":"/Developer_Tools/kernel_debug_kit_10.10.1_build_14b25/kernel_debug_kit_10.10.1_14b25.dmg","sortOrder":1,"state":"ENABLED"}],"id":21976,"name":"Kernel Debug Kit 10.10.1 build 14B25","prerelease":true,"releasedSeed":false,"state":"ENABLED"},{"active":true,"availableInMemberSite":true,"categories":[{"active":null,"dateCreated":1052825460000,"dateModified":1079108316000,"enabled":true,"id":187,"name":"Developer Tools","sortOrder":28},{"active":null,"dateCreated":4094323200000,"dateModified":1330344208000,"enabled":true,"id":14,"name":"OS X","sortOrder":70}],"dateAvailable":null,"dateCreated":1415816984000,"dateDisabled":null,"dateModified":1415816984000,"description":"The signature check application (\"check-signature\") checks OS X application bundles and installer packages to determine if they are correctly signed for distribution and will pass the default Gatekeeper assessment.","files":[{"active":true,"dateCreated":1415816984000,"dateModified":1415816984000,"fileSize":15979946,"format":{"active":null,"dateCreated":1066327569000,"dateModified":null,"description":"Disk Image","extension":".dmg","id":12},"id":33336,"name":"Signature Check","remotePath":"/Developer_Tools/signaturecheck/signaturecheck.dmg","sortOrder":1,"state":"ENABLED"}],"id":21968,"name":"SignatureCheck","prerelease":true,"releasedSeed":false,"state":"ENABLED"},{"active":true,"availableInMemberSite":true,"categories":[{"active":null,"dateCreated":1052825460000,"dateModified":1079108316000,"enabled":true,"id":187,"name":"Developer Tools","sortOrder":28},{"active":null,"dateCreated":4094323200000,"dateModified":1330344208000,"enabled":true,"id":14,"name":"OS X","sortOrder":70}],"dateAvailable":null,"dateCreated":1243945080000,"dateDisabled":null,"dateModified":1414772063000,"description":"CrashWrangler is a set of tools for OS X to determine if a crash is an exploitable security issue, and if a crash is a duplicate of another known crash. The exploitability diagnosis is intended to be used when you have a reproducible test case, but the duplicate detection can be run on any crash log.","files":[{"active":true,"dateCreated":1414772063000,"dateModified":1414772063000,"fileSize":1017408,"format":{"active":null,"dateCreated":1079049600000,"dateModified":null,"description":"Zip","extension":".zip","id":5},"id":33290,"name":"CrashWrangler","remotePath":"/Mac_OS_X/crashwrangler/56876_crashwrangler.zip","sortOrder":1,"state":"ENABLED"}],"id":20390,"name":"CrashWrangler","prerelease":false,"releasedSeed":true,"state":"ENABLED"},{"active":true,"availableInMemberSite":true,"categories":[{"active":null,"dateCreated":1052825460000,"dateModified":1079108316000,"enabled":true,"id":187,"name":"Developer Tools","sortOrder":28}],"dateAvailable":null,"dateCreated":1413473237000,"dateDisabled":null,"dateModified":1413980886000,"description":"The is the release version of the complete Xcode developer toolset for Mac, iPhone, iPod touch, and iPad. It includes the iOS 8.1 SDK, OS X 10.10 SDK and OS X 10.9 SDK. Xcode 6.1 requires OS X Yosemite or OS X Mavericks.","files":[{"active":true,"dateCreated":1413980886000,"dateModified":1413980886000,"fileSize":2689399690,"format":{"active":null,"dateCreated":1066327569000,"dateModified":null,"description":"Disk Image","extension":".dmg","id":12},"id":33289,"name":"Xcode 6.1","remotePath":"/Developer_Tools/xcode_6.1/56841_xcode_6.1.dmg","sortOrder":1,"state":"ENABLED"}],"id":21960,"name":"Xcode 6.1","prerelease":false,"releasedSeed":true,"state":"ENABLED"},{"active":true,"availableInMemberSite":true,"categories":[{"active":null,"dateCreated":1052825460000,"dateModified":1079108316000,"enabled":true,"id":187,"name":"Developer Tools","sortOrder":28},{"active":null,"dateCreated":4094323200000,"dateModified":1330344208000,"enabled":true,"id":14,"name":"OS X","sortOrder":70}],"dateAvailable":null,"dateCreated":1413542118000,"dateDisabled":null,"dateModified":1413542119000,"description":"This package contains development & debug versions of the OS X kernel and many I/O Kit families for use with LLDB remote (two-machine) kernel debugging. These files contain full symbolic information, unlike the equivalent files in a normal OS X installation. Also included are LLDB macros useful for kernel debugging and DEVELOPMENT (for every day use) and DEBUG (for much more error checking) kernels built with more assertions and fewer compiler optimizations.","files":[{"active":true,"dateCreated":1413542118000,"dateModified":1413542119000,"fileSize":91972684,"format":{"active":null,"dateCreated":1066327569000,"dateModified":null,"description":"Disk Image","extension":".dmg","id":12},"id":33288,"name":"Kernel Debug Kit 10.10 GM build 14A389","remotePath":"/Developer_Tools/kernel_debug_kit_10.10_gm_build_14a389/kernel_debug_kit_10.10_14a389.dmg","sortOrder":1,"state":"ENABLED"}],"id":21961,"name":"Kernel Debug Kit 10.10 GM build 14A389","prerelease":true,"releasedSeed":false,"state":"ENABLED"},{"active":true,"availableInMemberSite":true,"categories":[{"active":null,"dateCreated":1052825460000,"dateModified":1079108316000,"enabled":true,"id":187,"name":"Developer Tools","sortOrder":28}],"dateAvailable":null,"dateCreated":1413472780000,"dateDisabled":null,"dateModified":1413472780000,"description":"This package includes additional hardware i/o tools formerly bundled in the Xcode installer. These tools include: Apple Bluetooth Guidelines Validation, Bluetooth Explorer, HomeKit Accessory Simulator, IO Registry Explorer, Network Link Conditioner.prefpane, PacketLogger and Printer Simulator. These graphics tools support running on OS X 10.10 and OS X 10.9.","files":[{"active":true,"dateCreated":1413472780000,"dateModified":1413472780000,"fileSize":9607382,"format":{"active":null,"dateCreated":1066327569000,"dateModified":null,"description":"Disk Image","extension":".dmg","id":12},"id":33286,"name":"Hardware IO Tools for Xcode 6.1","remotePath":"/Developer_Tools/hardware_io_tools_for_xcode__xcode_6.1/hardwareiotools_for_xcode_6.1.dmg","sortOrder":1,"state":"ENABLED"}],"id":21959,"name":"Hardware IO Tools for Xcode - Xcode 6.1","prerelease":false,"releasedSeed":true,"state":"ENABLED"},{"active":true,"availableInMemberSite":true,"categories":[{"active":null,"dateCreated":1052825460000,"dateModified":1079108316000,"enabled":true,"id":187,"name":"Developer Tools","sortOrder":28}],"dateAvailable":null,"dateCreated":1413472373000,"dateDisabled":null,"dateModified":1413472373000,"description":"This package enables UNIX-style development via Terminal by installing command line developer tools, as well as Mac OS X SDK frameworks and headers. Many useful tools are included, such as the Apple LLVM compiler, linker, and Make. If you use Xcode, these tools are also embedded within the Xcode IDE.","files":[{"active":true,"dateCreated":1413472373000,"dateModified":1413472373000,"fileSize":107698152,"format":{"active":null,"dateCreated":1066327569000,"dateModified":null,"description":"Disk Image","extension":".dmg","id":12},"id":33285,"name":"Command Line Tools for OSX 10.9 for Xcode 6.1","remotePath":"/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","sortOrder":1,"state":"ENABLED"}],"id":21958,"name":"Command Line Tools (OS X 10.9) for Xcode - Xcode 6.1","prerelease":false,"releasedSeed":true,"state":"ENABLED"}],"totalCount":398}
|
data/spec/json_spec.rb
ADDED
@@ -0,0 +1,24 @@
|
|
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.dateModified.should == 1413472373000
|
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(:xcodes).returns(seedlist)
|
20
|
+
|
21
|
+
installer.list.should == "6.1\n6.1.1\n6.2"
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'coveralls'
|
2
|
+
Coveralls.wear!
|
3
|
+
|
4
|
+
require 'pathname'
|
5
|
+
ROOT = Pathname.new(File.expand_path('../../', __FILE__))
|
6
|
+
$:.unshift((ROOT + 'lib').to_s)
|
7
|
+
$:.unshift((ROOT + 'spec').to_s)
|
8
|
+
|
9
|
+
require 'bundler/setup'
|
10
|
+
require 'bacon'
|
11
|
+
require 'mocha-on-bacon'
|
12
|
+
require 'pretty_bacon'
|
13
|
+
require 'xcode/install'
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'xcode/install/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "xcode-install"
|
8
|
+
spec.version = XcodeInstall::VERSION
|
9
|
+
spec.authors = ["Boris Bügling"]
|
10
|
+
spec.email = ["boris@icculus.org"]
|
11
|
+
spec.summary = %q{Xcode installation manager.}
|
12
|
+
spec.description = %q{Download, install and upgrade Xcodes with ease.}
|
13
|
+
spec.homepage = "https://github.com/neonichu/xcode-install"
|
14
|
+
spec.license = "MIT"
|
15
|
+
|
16
|
+
spec.files = `git ls-files -z`.split("\x0")
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ["lib"]
|
20
|
+
|
21
|
+
spec.add_dependency "claide", "~> 0.8.1"
|
22
|
+
spec.add_dependency "fastlane_core"
|
23
|
+
|
24
|
+
spec.add_development_dependency "bundler", "~> 1.7"
|
25
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
26
|
+
end
|
metadata
ADDED
@@ -0,0 +1,122 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: xcode-install
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Boris Bügling
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-04-10 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.8.1
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 0.8.1
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: fastlane_core
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: bundler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ~>
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.7'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.7'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rake
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '10.0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ~>
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '10.0'
|
69
|
+
description: Download, install and upgrade Xcodes with ease.
|
70
|
+
email:
|
71
|
+
- boris@icculus.org
|
72
|
+
executables:
|
73
|
+
- xcode-install
|
74
|
+
extensions: []
|
75
|
+
extra_rdoc_files: []
|
76
|
+
files:
|
77
|
+
- .gitignore
|
78
|
+
- Gemfile
|
79
|
+
- LICENSE.txt
|
80
|
+
- README.md
|
81
|
+
- Rakefile
|
82
|
+
- bin/xcode-install
|
83
|
+
- lib/xcode/install.rb
|
84
|
+
- lib/xcode/install/command.rb
|
85
|
+
- lib/xcode/install/install.rb
|
86
|
+
- lib/xcode/install/list.rb
|
87
|
+
- lib/xcode/install/version.rb
|
88
|
+
- spec/fixtures/xcode.json
|
89
|
+
- spec/fixtures/yolo.json
|
90
|
+
- spec/json_spec.rb
|
91
|
+
- spec/spec_helper.rb
|
92
|
+
- xcode-install.gemspec
|
93
|
+
homepage: https://github.com/neonichu/xcode-install
|
94
|
+
licenses:
|
95
|
+
- MIT
|
96
|
+
metadata: {}
|
97
|
+
post_install_message:
|
98
|
+
rdoc_options: []
|
99
|
+
require_paths:
|
100
|
+
- lib
|
101
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
102
|
+
requirements:
|
103
|
+
- - '>='
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
version: '0'
|
106
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
requirements: []
|
112
|
+
rubyforge_project:
|
113
|
+
rubygems_version: 2.0.14
|
114
|
+
signing_key:
|
115
|
+
specification_version: 4
|
116
|
+
summary: Xcode installation manager.
|
117
|
+
test_files:
|
118
|
+
- spec/fixtures/xcode.json
|
119
|
+
- spec/fixtures/yolo.json
|
120
|
+
- spec/json_spec.rb
|
121
|
+
- spec/spec_helper.rb
|
122
|
+
has_rdoc:
|