xcoder 0.1.15 → 0.1.18
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +6 -0
- data/.rbenv-version +1 -0
- data/.rvmrc +1 -1
- data/Gemfile +10 -2
- data/README.md +110 -9
- data/Rakefile +2 -2
- data/bin/xcoder +74 -0
- data/lib/xcode/builder.rb +1 -2
- data/lib/xcode/builder/base_builder.rb +231 -102
- data/lib/xcode/builder/build_parser.rb +146 -0
- data/lib/xcode/builder/project_target_config_builder.rb +2 -2
- data/lib/xcode/builder/scheme_builder.rb +29 -12
- data/lib/xcode/buildspec.rb +286 -0
- data/lib/xcode/configuration_list.rb +24 -24
- data/lib/xcode/deploy/ftp.rb +56 -0
- data/lib/xcode/deploy/kickfolio.rb +18 -0
- data/lib/xcode/deploy/s3.rb +38 -0
- data/lib/xcode/deploy/ssh.rb +43 -0
- data/lib/xcode/deploy/templates/index.rhtml +22 -0
- data/lib/xcode/deploy/templates/manifest.rhtml +31 -0
- data/lib/xcode/deploy/testflight.rb +32 -27
- data/lib/xcode/deploy/web_assets.rb +39 -0
- data/lib/xcode/info_plist.rb +16 -0
- data/lib/xcode/keychain.rb +33 -10
- data/lib/xcode/platform.rb +65 -0
- data/lib/xcode/project.rb +7 -3
- data/lib/xcode/provisioning_profile.rb +38 -2
- data/lib/xcode/scheme.rb +44 -17
- data/lib/xcode/shell/command.rb +79 -5
- data/lib/xcode/terminal_output.rb +116 -0
- data/lib/xcode/test/formatters/junit_formatter.rb +7 -2
- data/lib/xcode/test/formatters/stdout_formatter.rb +34 -25
- data/lib/xcode/test/parsers/kif_parser.rb +87 -0
- data/lib/xcode/test/parsers/ocunit_parser.rb +3 -3
- data/lib/xcode/version.rb +1 -1
- data/lib/xcode/workspace.rb +13 -5
- data/lib/xcoder.rb +33 -31
- data/spec/TestProject/TestProject.xcodeproj/project.pbxproj +1627 -1015
- data/spec/TestWorkspace.xcworkspace/contents.xcworkspacedata +7 -0
- data/spec/builder_spec.rb +87 -71
- data/spec/deploy_spec.rb +63 -0
- data/spec/ocunit_parser_spec.rb +1 -1
- data/xcoder.gemspec +3 -1
- metadata +95 -19
- data/lib/xcode/buildfile.rb +0 -101
- data/lib/xcode/shell.rb +0 -26
- data/spec/deploy_testflight_spec.rb +0 -27
@@ -1,6 +1,13 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
2
|
<Workspace
|
3
3
|
version = "1.0">
|
4
|
+
<Group
|
5
|
+
location = "container:"
|
6
|
+
name = "Workspace Level Group">
|
7
|
+
<FileRef
|
8
|
+
location = "group:../README.md">
|
9
|
+
</FileRef>
|
10
|
+
</Group>
|
4
11
|
<FileRef
|
5
12
|
location = "group:TestProject/TestProject.xcodeproj">
|
6
13
|
</FileRef>
|
data/spec/builder_spec.rb
CHANGED
@@ -1,7 +1,11 @@
|
|
1
1
|
require_relative 'spec_helper'
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
RSpec.configure do |config|
|
4
|
+
config.mock_with :rspec
|
5
|
+
end
|
6
|
+
|
7
|
+
describe Xcode::Builder do
|
8
|
+
|
5
9
|
context "when using a builder built from a configuration" do
|
6
10
|
|
7
11
|
let(:configuration) { Xcode.project('TestProject').target('TestProject').config('Debug') }
|
@@ -9,44 +13,44 @@ describe Xcode::Builder do
|
|
9
13
|
let(:subject) { configuration.builder }
|
10
14
|
|
11
15
|
describe "#build" do
|
12
|
-
|
13
|
-
let(:default_build_parameters) do
|
16
|
+
|
17
|
+
let(:default_build_parameters) do
|
14
18
|
cmd = Xcode::Shell::Command.new "xcodebuild"
|
19
|
+
cmd << "-sdk #{configuration.target.project.sdk}"
|
20
|
+
cmd.env["OBJROOT"]="\"#{File.dirname(configuration.target.project.path)}/Build/\""
|
21
|
+
cmd.env["SYMROOT"]="\"#{File.dirname(configuration.target.project.path)}/Build/Products/\""
|
15
22
|
cmd << "-project \"#{configuration.target.project.path}\""
|
16
|
-
cmd << "-target \"#{configuration.target.name}\""
|
23
|
+
cmd << "-target \"#{configuration.target.name}\""
|
17
24
|
cmd << "-config \"#{configuration.name}\""
|
18
|
-
cmd << "-sdk #{configuration.target.project.sdk}"
|
19
|
-
cmd.env["OBJROOT"]="\"#{File.dirname(configuration.target.project.path)}/build/\""
|
20
|
-
cmd.env["SYMROOT"]="\"#{File.dirname(configuration.target.project.path)}/build/\""
|
21
25
|
cmd
|
22
26
|
end
|
23
|
-
|
27
|
+
|
24
28
|
let(:macosx_build_parameters) do
|
25
29
|
cmd = Xcode::Shell::Command.new "xcodebuild"
|
30
|
+
cmd << "-sdk macosx10.7"
|
26
31
|
cmd << "-project \"#{configuration.target.project.path}\""
|
27
|
-
cmd << "-target \"#{configuration.target.name}\""
|
32
|
+
cmd << "-target \"#{configuration.target.name}\""
|
28
33
|
cmd << "-config \"#{configuration.name}\""
|
29
|
-
cmd
|
30
|
-
cmd.env["
|
31
|
-
cmd.env["SYMROOT"]="\"#{File.dirname(configuration.target.project.path)}/build/\""
|
34
|
+
cmd.env["OBJROOT"]="\"#{File.dirname(configuration.target.project.path)}/Build/\""
|
35
|
+
cmd.env["SYMROOT"]="\"#{File.dirname(configuration.target.project.path)}/Build/Products/\""
|
32
36
|
cmd
|
33
37
|
end
|
34
38
|
|
35
39
|
it "should build the project with the default parameters" do
|
36
|
-
|
40
|
+
PTY.stub(:spawn).with(default_build_parameters.to_s)
|
37
41
|
subject.build
|
38
42
|
end
|
39
|
-
|
43
|
+
|
40
44
|
it "should allow the override of the sdk" do
|
41
|
-
|
45
|
+
PTY.stub(:spawn).with(macosx_build_parameters.to_s)
|
42
46
|
subject.build :sdk => 'macosx10.7'
|
43
47
|
end
|
44
|
-
|
48
|
+
|
45
49
|
end
|
46
|
-
|
50
|
+
|
47
51
|
describe "#testflight" do
|
48
|
-
|
49
|
-
# let(:testflight_parameters) do
|
52
|
+
|
53
|
+
# let(:testflight_parameters) do
|
50
54
|
# ['curl',
|
51
55
|
# "--proxy http://proxyhost:8080",
|
52
56
|
# "-X POST http://testflightapp.com/api/builds.json",
|
@@ -58,144 +62,156 @@ describe Xcode::Builder do
|
|
58
62
|
# "-F notify=True",
|
59
63
|
# "-F distribution_lists='List1,List2'"]
|
60
64
|
# end
|
61
|
-
|
62
|
-
it "should upload ipa and dsym to testflight" do
|
65
|
+
|
66
|
+
it "should upload ipa and dsym to testflight" do
|
63
67
|
subject.build.package
|
64
|
-
|
65
|
-
result = subject.testflight
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
68
|
+
testflight = nil
|
69
|
+
result = subject.deploy(:testflight,
|
70
|
+
:api_token => "api_token",
|
71
|
+
:team_token => "team_token",
|
72
|
+
# :proxy => "http://proxyhost:8080",
|
73
|
+
:notes => "some notes",
|
74
|
+
:lists => ["List1", "List2"]) do |tf|
|
75
|
+
testflight = tf
|
76
|
+
tf.should_receive(:deploy).and_return('result')
|
77
|
+
end
|
73
78
|
result.should == 'result'
|
79
|
+
testflight.should_not==nil
|
80
|
+
testflight.api_token.should=="api_token"
|
81
|
+
testflight.team_token.should=="team_token"
|
82
|
+
testflight.builder.should==subject
|
83
|
+
testflight.lists.should==["List1", "List2"]
|
84
|
+
testflight.notes.should=="some notes"
|
74
85
|
end
|
75
86
|
end
|
76
|
-
|
87
|
+
|
77
88
|
describe "#test" do
|
78
|
-
|
89
|
+
|
79
90
|
let(:configuration) do
|
80
91
|
Xcode.project('TestProject').target('LogicTests').config('Debug')
|
81
92
|
end
|
82
|
-
|
93
|
+
|
83
94
|
let(:iphonesimulator_test_parameters) do
|
84
95
|
cmd = Xcode::Shell::Command.new "xcodebuild"
|
96
|
+
cmd << "-sdk iphonesimulator"
|
85
97
|
cmd << "-project \"#{configuration.target.project.path}\""
|
86
|
-
cmd << "-target \"#{configuration.target.name}\""
|
98
|
+
cmd << "-target \"#{configuration.target.name}\""
|
87
99
|
cmd << "-config \"#{configuration.name}\""
|
88
|
-
cmd
|
89
|
-
cmd.env["
|
90
|
-
cmd.env["SYMROOT"]="\"#{File.dirname(configuration.target.project.path)}/build/\""
|
100
|
+
cmd.env["OBJROOT"]="\"#{File.dirname(configuration.target.project.path)}/Build/\""
|
101
|
+
cmd.env["SYMROOT"]="\"#{File.dirname(configuration.target.project.path)}/Build/Products/\""
|
91
102
|
cmd.env["TEST_AFTER_BUILD"]="YES"
|
103
|
+
cmd.env["ONLY_ACTIVE_ARCH"]="NO"
|
92
104
|
cmd
|
93
105
|
end
|
94
|
-
|
106
|
+
|
95
107
|
let(:macosx_test_parameters) do
|
96
108
|
cmd = Xcode::Shell::Command.new "xcodebuild"
|
109
|
+
cmd << "-sdk macosx10.7"
|
97
110
|
cmd << "-project \"#{configuration.target.project.path}\""
|
98
|
-
cmd << "-target \"#{configuration.target.name}\""
|
111
|
+
cmd << "-target \"#{configuration.target.name}\""
|
99
112
|
cmd << "-config \"#{configuration.name}\""
|
100
|
-
cmd
|
101
|
-
cmd.env["
|
102
|
-
cmd.env["SYMROOT"]="\"#{File.dirname(configuration.target.project.path)}/build/\""
|
113
|
+
cmd.env["OBJROOT"]="\"#{File.dirname(configuration.target.project.path)}/Build/\""
|
114
|
+
cmd.env["SYMROOT"]="\"#{File.dirname(configuration.target.project.path)}/Build/Products/\""
|
103
115
|
cmd.env["TEST_AFTER_BUILD"]="YES"
|
116
|
+
cmd.env["ONLY_ACTIVE_ARCH"]="NO"
|
104
117
|
cmd
|
105
118
|
end
|
106
|
-
|
107
|
-
|
119
|
+
|
120
|
+
|
108
121
|
it "should be able to run the test target on iphonesimulator" do
|
109
|
-
|
122
|
+
PTY.stub(:spawn).with(iphonesimulator_test_parameters.to_s)
|
110
123
|
subject.test :sdk => 'iphonesimulator'
|
111
124
|
end
|
112
125
|
|
113
126
|
it "should allow the override of the sdk" do
|
114
|
-
|
127
|
+
PTY.stub(:spawn).with(macosx_test_parameters.to_s)
|
115
128
|
subject.test :sdk => 'macosx10.7'
|
116
129
|
end
|
117
|
-
|
130
|
+
|
118
131
|
it "should not exit when test failed" do
|
119
|
-
|
132
|
+
PTY.stub(:spawn)
|
133
|
+
|
120
134
|
fake_parser = stub(:parser)
|
121
135
|
fake_parser.stub(:failed? => true)
|
122
|
-
fake_parser.stub(:
|
136
|
+
fake_parser.stub(:close)
|
123
137
|
Xcode::Test::Parsers::OCUnitParser.stub(:new => fake_parser)
|
124
138
|
subject.test
|
125
139
|
end
|
126
|
-
|
140
|
+
|
127
141
|
end
|
128
142
|
|
129
143
|
describe "#clean" do
|
130
144
|
|
131
145
|
let(:default_clean_parameters) do
|
132
146
|
cmd = Xcode::Shell::Command.new "xcodebuild"
|
147
|
+
cmd << "-sdk iphoneos"
|
133
148
|
cmd << "-project \"#{configuration.target.project.path}\""
|
134
|
-
cmd << "-target \"#{configuration.target.name}\""
|
149
|
+
cmd << "-target \"#{configuration.target.name}\""
|
135
150
|
cmd << "-config \"#{configuration.name}\""
|
136
|
-
cmd << "-sdk iphoneos"
|
137
151
|
cmd << "clean"
|
138
|
-
cmd.env["OBJROOT"]="\"#{File.dirname(configuration.target.project.path)}/
|
139
|
-
cmd.env["SYMROOT"]="\"#{File.dirname(configuration.target.project.path)}/
|
152
|
+
cmd.env["OBJROOT"]="\"#{File.dirname(configuration.target.project.path)}/Build/\""
|
153
|
+
cmd.env["SYMROOT"]="\"#{File.dirname(configuration.target.project.path)}/Build/Products/\""
|
140
154
|
cmd
|
141
155
|
end
|
142
156
|
|
143
157
|
|
144
158
|
it "should clean the project with the default parameter" do
|
145
|
-
|
159
|
+
PTY.stub(:spawn).with(default_clean_parameters.to_s)
|
146
160
|
subject.clean
|
147
161
|
end
|
148
162
|
|
149
163
|
end
|
150
164
|
|
151
165
|
end
|
152
|
-
|
166
|
+
|
153
167
|
context "when using a builder built from a scheme" do
|
154
168
|
|
155
169
|
let(:scheme) { Xcode.project('TestProject').scheme('TestProject') }
|
156
|
-
|
170
|
+
|
157
171
|
let(:subject) { scheme.builder }
|
158
172
|
|
159
173
|
describe "#build" do
|
160
|
-
|
174
|
+
|
161
175
|
let(:default_build_parameters) do
|
162
176
|
cmd = Xcode::Shell::Command.new "xcodebuild"
|
177
|
+
cmd << "-sdk iphoneos"
|
163
178
|
cmd << "-project \"#{scheme.build_targets.last.project.path}\""
|
164
179
|
cmd << "-scheme \"#{scheme.name}\""
|
165
|
-
cmd << "-
|
166
|
-
cmd.env["OBJROOT"]="\"#{File.dirname(scheme.build_targets.last.project.path)}/
|
167
|
-
cmd.env["SYMROOT"]="\"#{File.dirname(scheme.build_targets.last.project.path)}/
|
180
|
+
cmd << "-configuration \"Release\""
|
181
|
+
cmd.env["OBJROOT"]="\"#{File.dirname(scheme.build_targets.last.project.path)}/Build/\""
|
182
|
+
cmd.env["SYMROOT"]="\"#{File.dirname(scheme.build_targets.last.project.path)}/Build/Products/\""
|
168
183
|
cmd
|
169
184
|
end
|
170
185
|
|
171
186
|
it "should build the project with the default parameters" do
|
172
|
-
|
187
|
+
PTY.stub(:spawn).with(default_build_parameters.to_s)
|
173
188
|
subject.build
|
174
189
|
end
|
175
|
-
|
190
|
+
|
176
191
|
end
|
177
|
-
|
192
|
+
|
178
193
|
describe "#clean" do
|
179
194
|
|
180
195
|
let(:default_clean_parameters) do
|
181
196
|
cmd = Xcode::Shell::Command.new "xcodebuild"
|
197
|
+
cmd << "-sdk iphoneos"
|
182
198
|
cmd << "-project \"#{scheme.build_targets.last.project.path}\""
|
183
199
|
cmd << "-scheme \"#{scheme.name}\""
|
184
|
-
cmd << "-
|
200
|
+
cmd << "-configuration \"Release\""
|
185
201
|
cmd << "clean"
|
186
|
-
cmd.env["OBJROOT"]="\"#{File.dirname(scheme.build_targets.last.project.path)}/
|
187
|
-
cmd.env["SYMROOT"]="\"#{File.dirname(scheme.build_targets.last.project.path)}/
|
202
|
+
cmd.env["OBJROOT"]="\"#{File.dirname(scheme.build_targets.last.project.path)}/Build/\""
|
203
|
+
cmd.env["SYMROOT"]="\"#{File.dirname(scheme.build_targets.last.project.path)}/Build/Products/\""
|
188
204
|
cmd
|
189
205
|
end
|
190
206
|
|
191
207
|
|
192
208
|
it "should clean the project with the default parameter" do
|
193
|
-
|
209
|
+
PTY.stub(:spawn).with(default_clean_parameters.to_s)
|
194
210
|
subject.clean
|
195
211
|
end
|
196
212
|
|
197
213
|
end
|
198
214
|
|
199
215
|
end
|
200
|
-
|
201
|
-
end
|
216
|
+
|
217
|
+
end
|
data/spec/deploy_spec.rb
ADDED
@@ -0,0 +1,63 @@
|
|
1
|
+
require_relative 'spec_helper'
|
2
|
+
require 'ostruct'
|
3
|
+
require 'xcode/deploy/testflight'
|
4
|
+
require 'xcode/deploy/web_assets'
|
5
|
+
require 'xcode/deploy/ftp'
|
6
|
+
require 'xcode/deploy/ssh'
|
7
|
+
|
8
|
+
describe Xcode::Deploy do
|
9
|
+
|
10
|
+
let :builder do
|
11
|
+
OpenStruct.new(
|
12
|
+
:ipa_path => 'ipa path',
|
13
|
+
:dsym_zip_path => 'dsym path',
|
14
|
+
:bundle_version => '1.0',
|
15
|
+
:bundle_identifier => 'test.bunlde.identifier'
|
16
|
+
)
|
17
|
+
end
|
18
|
+
|
19
|
+
describe Xcode::Deploy::WebAssets do
|
20
|
+
it "should generate the assets" do
|
21
|
+
Xcode::Deploy::WebAssets.generate builder, 'http://example.com/base-url' do |dir|
|
22
|
+
File.exists?("#{dir}/index.html").should == true
|
23
|
+
File.exists?("#{dir}/manifest.plist").should == true
|
24
|
+
|
25
|
+
# TODO: more tests
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
describe Xcode::Deploy::Ftp do
|
31
|
+
# TODO: tests!
|
32
|
+
end
|
33
|
+
|
34
|
+
describe Xcode::Deploy::Ssh do
|
35
|
+
# TODO: tests!
|
36
|
+
end
|
37
|
+
|
38
|
+
describe Xcode::Deploy::Testflight do
|
39
|
+
|
40
|
+
let(:testflight) do
|
41
|
+
Xcode::Deploy::Testflight.new(builder, {:api_token => 'api token', :team_token => 'team token' })
|
42
|
+
end
|
43
|
+
|
44
|
+
it "should be configured with api and team token" do
|
45
|
+
testflight.api_token.should == 'api token'
|
46
|
+
testflight.team_token.should == 'team token'
|
47
|
+
end
|
48
|
+
|
49
|
+
it "should call curl with correct bulld paths" do
|
50
|
+
PTY.stub(:spawn).with do |cmd, &block|
|
51
|
+
cmd.should =~/^curl/
|
52
|
+
cmd.should =~/-F file=@"ipa path"/
|
53
|
+
cmd.should =~/-F dsym=@"dsym path"/
|
54
|
+
cmd.should =~/-F api_token='api token'/
|
55
|
+
cmd.should =~/-F team_token='team token'/
|
56
|
+
end
|
57
|
+
|
58
|
+
testflight.deploy
|
59
|
+
# response['response'].should == 'ok'
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
end
|
data/spec/ocunit_parser_spec.rb
CHANGED
@@ -119,7 +119,7 @@ describe Xcode::Test::Parsers::OCUnitParser do
|
|
119
119
|
parser << "/Developer/Tools/RunPlatformUnitTests.include: line 415: 32225 Bus error: 10 \"${THIN_TEST_RIG}\" \"${OTHER_TEST_FLAGS}\" \"${TEST_BUNDLE_PATH}\""
|
120
120
|
parser << "/Developer/Tools/RunPlatformUnitTests.include:451: error: Test rig '/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk/Developer/usr/bin/otest' exited abnormally with code 138 (it may have crashed)."
|
121
121
|
|
122
|
-
parser.
|
122
|
+
parser.close
|
123
123
|
|
124
124
|
report = parser.report
|
125
125
|
|
data/xcoder.gemspec
CHANGED
@@ -18,9 +18,11 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
19
|
s.require_paths = ["lib"]
|
20
20
|
|
21
|
-
s.add_runtime_dependency "
|
21
|
+
s.add_runtime_dependency "multi_json"
|
22
22
|
s.add_runtime_dependency "plist"
|
23
23
|
s.add_runtime_dependency "nokogiri"
|
24
24
|
s.add_runtime_dependency "builder"
|
25
25
|
s.add_runtime_dependency "rest-client"
|
26
|
+
s.add_runtime_dependency "colorize"
|
27
|
+
s.add_runtime_dependency "aws-sdk"
|
26
28
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xcoder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.18
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,11 +10,11 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2013-07-16 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
|
-
name:
|
17
|
-
requirement:
|
16
|
+
name: multi_json
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,15 @@ dependencies:
|
|
22
22
|
version: '0'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements:
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
27
|
+
requirements:
|
28
|
+
- - ! '>='
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
version: '0'
|
26
31
|
- !ruby/object:Gem::Dependency
|
27
32
|
name: plist
|
28
|
-
requirement:
|
33
|
+
requirement: !ruby/object:Gem::Requirement
|
29
34
|
none: false
|
30
35
|
requirements:
|
31
36
|
- - ! '>='
|
@@ -33,10 +38,15 @@ dependencies:
|
|
33
38
|
version: '0'
|
34
39
|
type: :runtime
|
35
40
|
prerelease: false
|
36
|
-
version_requirements:
|
41
|
+
version_requirements: !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
43
|
+
requirements:
|
44
|
+
- - ! '>='
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '0'
|
37
47
|
- !ruby/object:Gem::Dependency
|
38
48
|
name: nokogiri
|
39
|
-
requirement:
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
40
50
|
none: false
|
41
51
|
requirements:
|
42
52
|
- - ! '>='
|
@@ -44,10 +54,15 @@ dependencies:
|
|
44
54
|
version: '0'
|
45
55
|
type: :runtime
|
46
56
|
prerelease: false
|
47
|
-
version_requirements:
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
59
|
+
requirements:
|
60
|
+
- - ! '>='
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
48
63
|
- !ruby/object:Gem::Dependency
|
49
64
|
name: builder
|
50
|
-
requirement:
|
65
|
+
requirement: !ruby/object:Gem::Requirement
|
51
66
|
none: false
|
52
67
|
requirements:
|
53
68
|
- - ! '>='
|
@@ -55,10 +70,15 @@ dependencies:
|
|
55
70
|
version: '0'
|
56
71
|
type: :runtime
|
57
72
|
prerelease: false
|
58
|
-
version_requirements:
|
73
|
+
version_requirements: !ruby/object:Gem::Requirement
|
74
|
+
none: false
|
75
|
+
requirements:
|
76
|
+
- - ! '>='
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: '0'
|
59
79
|
- !ruby/object:Gem::Dependency
|
60
80
|
name: rest-client
|
61
|
-
requirement:
|
81
|
+
requirement: !ruby/object:Gem::Requirement
|
62
82
|
none: false
|
63
83
|
requirements:
|
64
84
|
- - ! '>='
|
@@ -66,29 +86,70 @@ dependencies:
|
|
66
86
|
version: '0'
|
67
87
|
type: :runtime
|
68
88
|
prerelease: false
|
69
|
-
version_requirements:
|
89
|
+
version_requirements: !ruby/object:Gem::Requirement
|
90
|
+
none: false
|
91
|
+
requirements:
|
92
|
+
- - ! '>='
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: '0'
|
95
|
+
- !ruby/object:Gem::Dependency
|
96
|
+
name: colorize
|
97
|
+
requirement: !ruby/object:Gem::Requirement
|
98
|
+
none: false
|
99
|
+
requirements:
|
100
|
+
- - ! '>='
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '0'
|
103
|
+
type: :runtime
|
104
|
+
prerelease: false
|
105
|
+
version_requirements: !ruby/object:Gem::Requirement
|
106
|
+
none: false
|
107
|
+
requirements:
|
108
|
+
- - ! '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: aws-sdk
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
none: false
|
115
|
+
requirements:
|
116
|
+
- - ! '>='
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: '0'
|
119
|
+
type: :runtime
|
120
|
+
prerelease: false
|
121
|
+
version_requirements: !ruby/object:Gem::Requirement
|
122
|
+
none: false
|
123
|
+
requirements:
|
124
|
+
- - ! '>='
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: '0'
|
70
127
|
description: Provides a ruby based object-model for parsing project structures and
|
71
128
|
invoking builds
|
72
129
|
email:
|
73
130
|
- ray@wirestorm.net
|
74
131
|
- franklin.webber@gmail.com
|
75
|
-
executables:
|
132
|
+
executables:
|
133
|
+
- xcoder
|
76
134
|
extensions: []
|
77
135
|
extra_rdoc_files: []
|
78
136
|
files:
|
79
137
|
- .gitignore
|
138
|
+
- .rbenv-version
|
80
139
|
- .rvmrc
|
81
140
|
- Gemfile
|
82
141
|
- Guardfile
|
83
142
|
- README.md
|
84
143
|
- Rakefile
|
144
|
+
- bin/xcoder
|
85
145
|
- lib/xcode/build_file.rb
|
86
146
|
- lib/xcode/build_phase.rb
|
87
147
|
- lib/xcode/builder.rb
|
88
148
|
- lib/xcode/builder/base_builder.rb
|
149
|
+
- lib/xcode/builder/build_parser.rb
|
89
150
|
- lib/xcode/builder/project_target_config_builder.rb
|
90
151
|
- lib/xcode/builder/scheme_builder.rb
|
91
|
-
- lib/xcode/
|
152
|
+
- lib/xcode/buildspec.rb
|
92
153
|
- lib/xcode/configuration.rb
|
93
154
|
- lib/xcode/configuration_list.rb
|
94
155
|
- lib/xcode/configuration_owner.rb
|
@@ -105,25 +166,34 @@ files:
|
|
105
166
|
- lib/xcode/core_ext/fixnum.rb
|
106
167
|
- lib/xcode/core_ext/hash.rb
|
107
168
|
- lib/xcode/core_ext/string.rb
|
169
|
+
- lib/xcode/deploy/ftp.rb
|
170
|
+
- lib/xcode/deploy/kickfolio.rb
|
171
|
+
- lib/xcode/deploy/s3.rb
|
172
|
+
- lib/xcode/deploy/ssh.rb
|
173
|
+
- lib/xcode/deploy/templates/index.rhtml
|
174
|
+
- lib/xcode/deploy/templates/manifest.rhtml
|
108
175
|
- lib/xcode/deploy/testflight.rb
|
176
|
+
- lib/xcode/deploy/web_assets.rb
|
109
177
|
- lib/xcode/file_reference.rb
|
110
178
|
- lib/xcode/group.rb
|
111
179
|
- lib/xcode/info_plist.rb
|
112
180
|
- lib/xcode/keychain.rb
|
113
181
|
- lib/xcode/parsers/plutil_project_parser.rb
|
182
|
+
- lib/xcode/platform.rb
|
114
183
|
- lib/xcode/project.rb
|
115
184
|
- lib/xcode/project_reference.rb
|
116
185
|
- lib/xcode/provisioning_profile.rb
|
117
186
|
- lib/xcode/registry.rb
|
118
187
|
- lib/xcode/resource.rb
|
119
188
|
- lib/xcode/scheme.rb
|
120
|
-
- lib/xcode/shell.rb
|
121
189
|
- lib/xcode/shell/command.rb
|
122
190
|
- lib/xcode/simple_identifier_generator.rb
|
123
191
|
- lib/xcode/target.rb
|
124
192
|
- lib/xcode/target_dependency.rb
|
193
|
+
- lib/xcode/terminal_output.rb
|
125
194
|
- lib/xcode/test/formatters/junit_formatter.rb
|
126
195
|
- lib/xcode/test/formatters/stdout_formatter.rb
|
196
|
+
- lib/xcode/test/parsers/kif_parser.rb
|
127
197
|
- lib/xcode/test/parsers/ocunit_parser.rb
|
128
198
|
- lib/xcode/test/report.rb
|
129
199
|
- lib/xcode/test/report/suite_result.rb
|
@@ -165,7 +235,7 @@ files:
|
|
165
235
|
- spec/builder_spec.rb
|
166
236
|
- spec/configuration_list_spec.rb
|
167
237
|
- spec/configuration_spec.rb
|
168
|
-
- spec/
|
238
|
+
- spec/deploy_spec.rb
|
169
239
|
- spec/group_spec.rb
|
170
240
|
- spec/integration/builder_spec.rb
|
171
241
|
- spec/integration/cedar_install_spec.rb
|
@@ -196,15 +266,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
196
266
|
- - ! '>='
|
197
267
|
- !ruby/object:Gem::Version
|
198
268
|
version: '0'
|
269
|
+
segments:
|
270
|
+
- 0
|
271
|
+
hash: -338592887779862052
|
199
272
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
200
273
|
none: false
|
201
274
|
requirements:
|
202
275
|
- - ! '>='
|
203
276
|
- !ruby/object:Gem::Version
|
204
277
|
version: '0'
|
278
|
+
segments:
|
279
|
+
- 0
|
280
|
+
hash: -338592887779862052
|
205
281
|
requirements: []
|
206
282
|
rubyforge_project: xcoder
|
207
|
-
rubygems_version: 1.8.
|
283
|
+
rubygems_version: 1.8.24
|
208
284
|
signing_key:
|
209
285
|
specification_version: 3
|
210
286
|
summary: Ruby wrapper around xcodebuild, xcrun, agvtool and pbxproj files
|
@@ -240,7 +316,7 @@ test_files:
|
|
240
316
|
- spec/builder_spec.rb
|
241
317
|
- spec/configuration_list_spec.rb
|
242
318
|
- spec/configuration_spec.rb
|
243
|
-
- spec/
|
319
|
+
- spec/deploy_spec.rb
|
244
320
|
- spec/group_spec.rb
|
245
321
|
- spec/integration/builder_spec.rb
|
246
322
|
- spec/integration/cedar_install_spec.rb
|