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.
Files changed (47) hide show
  1. data/.gitignore +6 -0
  2. data/.rbenv-version +1 -0
  3. data/.rvmrc +1 -1
  4. data/Gemfile +10 -2
  5. data/README.md +110 -9
  6. data/Rakefile +2 -2
  7. data/bin/xcoder +74 -0
  8. data/lib/xcode/builder.rb +1 -2
  9. data/lib/xcode/builder/base_builder.rb +231 -102
  10. data/lib/xcode/builder/build_parser.rb +146 -0
  11. data/lib/xcode/builder/project_target_config_builder.rb +2 -2
  12. data/lib/xcode/builder/scheme_builder.rb +29 -12
  13. data/lib/xcode/buildspec.rb +286 -0
  14. data/lib/xcode/configuration_list.rb +24 -24
  15. data/lib/xcode/deploy/ftp.rb +56 -0
  16. data/lib/xcode/deploy/kickfolio.rb +18 -0
  17. data/lib/xcode/deploy/s3.rb +38 -0
  18. data/lib/xcode/deploy/ssh.rb +43 -0
  19. data/lib/xcode/deploy/templates/index.rhtml +22 -0
  20. data/lib/xcode/deploy/templates/manifest.rhtml +31 -0
  21. data/lib/xcode/deploy/testflight.rb +32 -27
  22. data/lib/xcode/deploy/web_assets.rb +39 -0
  23. data/lib/xcode/info_plist.rb +16 -0
  24. data/lib/xcode/keychain.rb +33 -10
  25. data/lib/xcode/platform.rb +65 -0
  26. data/lib/xcode/project.rb +7 -3
  27. data/lib/xcode/provisioning_profile.rb +38 -2
  28. data/lib/xcode/scheme.rb +44 -17
  29. data/lib/xcode/shell/command.rb +79 -5
  30. data/lib/xcode/terminal_output.rb +116 -0
  31. data/lib/xcode/test/formatters/junit_formatter.rb +7 -2
  32. data/lib/xcode/test/formatters/stdout_formatter.rb +34 -25
  33. data/lib/xcode/test/parsers/kif_parser.rb +87 -0
  34. data/lib/xcode/test/parsers/ocunit_parser.rb +3 -3
  35. data/lib/xcode/version.rb +1 -1
  36. data/lib/xcode/workspace.rb +13 -5
  37. data/lib/xcoder.rb +33 -31
  38. data/spec/TestProject/TestProject.xcodeproj/project.pbxproj +1627 -1015
  39. data/spec/TestWorkspace.xcworkspace/contents.xcworkspacedata +7 -0
  40. data/spec/builder_spec.rb +87 -71
  41. data/spec/deploy_spec.rb +63 -0
  42. data/spec/ocunit_parser_spec.rb +1 -1
  43. data/xcoder.gemspec +3 -1
  44. metadata +95 -19
  45. data/lib/xcode/buildfile.rb +0 -101
  46. data/lib/xcode/shell.rb +0 -26
  47. 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>
@@ -1,7 +1,11 @@
1
1
  require_relative 'spec_helper'
2
2
 
3
- describe Xcode::Builder do
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 << "-sdk macosx10.7"
30
- cmd.env["OBJROOT"]="\"#{File.dirname(configuration.target.project.path)}/build/\""
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
- Xcode::Shell.should_receive(:execute).with(default_build_parameters,true)
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
- Xcode::Shell.should_receive(:execute).with(macosx_build_parameters, true)
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("api_token", "team_token") do |tf|
66
- tf.should_receive(:upload).with(subject.ipa_path, subject.dsym_zip_path).and_return('result')
67
- tf.proxy = "http://proxyhost:8080"
68
- tf.notes = "some notes"
69
- tf.lists << "List1"
70
- tf.lists << "List2"
71
- end
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 << "-sdk iphonesimulator"
89
- cmd.env["OBJROOT"]="\"#{File.dirname(configuration.target.project.path)}/build/\""
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 << "-sdk macosx10.7"
101
- cmd.env["OBJROOT"]="\"#{File.dirname(configuration.target.project.path)}/build/\""
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
- Xcode::Shell.should_receive(:execute).with(iphonesimulator_test_parameters, false)
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
- Xcode::Shell.should_receive(:execute).with(macosx_test_parameters, false)
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
- Xcode::Shell.stub(:execute)
132
+ PTY.stub(:spawn)
133
+
120
134
  fake_parser = stub(:parser)
121
135
  fake_parser.stub(:failed? => true)
122
- fake_parser.stub(:flush)
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)}/build/\""
139
- cmd.env["SYMROOT"]="\"#{File.dirname(configuration.target.project.path)}/build/\""
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
- Xcode::Shell.should_receive(:execute).with(default_clean_parameters, true)
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 << "-sdk iphoneos"
166
- cmd.env["OBJROOT"]="\"#{File.dirname(scheme.build_targets.last.project.path)}/build/\""
167
- cmd.env["SYMROOT"]="\"#{File.dirname(scheme.build_targets.last.project.path)}/build/\""
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
- Xcode::Shell.should_receive(:execute).with(default_build_parameters, true)
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 << "-sdk iphoneos"
200
+ cmd << "-configuration \"Release\""
185
201
  cmd << "clean"
186
- cmd.env["OBJROOT"]="\"#{File.dirname(scheme.build_targets.last.project.path)}/build/\""
187
- cmd.env["SYMROOT"]="\"#{File.dirname(scheme.build_targets.last.project.path)}/build/\""
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
- Xcode::Shell.should_receive(:execute).with(default_clean_parameters, true)
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
@@ -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
@@ -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.flush
122
+ parser.close
123
123
 
124
124
  report = parser.report
125
125
 
@@ -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 "json"
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.15
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: 2012-12-05 00:00:00.000000000Z
13
+ date: 2013-07-16 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: json
17
- requirement: &70353485685920 !ruby/object:Gem::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: *70353485685920
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: &70353473165820 !ruby/object:Gem::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: *70353473165820
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: &70353473165400 !ruby/object:Gem::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: *70353473165400
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: &70353473164980 !ruby/object:Gem::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: *70353473164980
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: &70353473164560 !ruby/object:Gem::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: *70353473164560
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/buildfile.rb
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/deploy_testflight_spec.rb
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.6
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/deploy_testflight_spec.rb
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