xcoder 0.1.15 → 0.1.18
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.
- 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
|