xcjobs 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +4 -2
- data/lib/xcjobs/distribute.rb +30 -0
- data/lib/xcjobs/{infoplist.rb → info_plist.rb} +20 -19
- data/lib/xcjobs/version.rb +1 -1
- data/lib/xcjobs/xcodebuild.rb +28 -23
- data/lib/xcjobs.rb +1 -1
- data/spec/Info.plist +47 -0
- data/spec/distribute_spec.rb +54 -0
- data/spec/info_plist_spec.rb +94 -0
- metadata +7 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b5962d4c76d0cc02c6c62f205d5b1a23afca67f5
|
4
|
+
data.tar.gz: d6e04486413d5516d1ea83d91f225651a9a26c97
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 151273faa341ac14b9810a399bd865b7215ffddd95310610c1a6c29deb229e16e9bd1367aeb15c2098ea80c7c524332e76022d52394793b663cb54399a0e2983
|
7
|
+
data.tar.gz: 87b7bcd910a8f5edf3899912883e3736a002f3356ca72034b68cd40cc84fdeda28e6d93650ad13eaf6c6839e5ade97ca9c73bf4f55ca9699253378e32a7443f0
|
data/README.md
CHANGED
@@ -1,4 +1,6 @@
|
|
1
|
-
# XCJobs
|
1
|
+
# XCJobs
|
2
|
+
[![Gem Version](https://badge.fury.io/rb/xcjobs.svg)](http://badge.fury.io/rb/xcjobs) [![Build Status](https://travis-ci.org/kishikawakatsumi/xcjobs.svg?branch=master)](https://travis-ci.org/kishikawakatsumi/xcjobs) [![Coverage Status](https://img.shields.io/coveralls/kishikawakatsumi/xcjobs.svg)](https://coveralls.io/r/kishikawakatsumi/xcjobs?branch=master) [![Code Climate](https://codeclimate.com/github/kishikawakatsumi/xcjobs/badges/gpa.svg)](https://codeclimate.com/github/kishikawakatsumi/xcjobs) [![Dependency Status](https://gemnasium.com/kishikawakatsumi/xcjobs.svg)](https://gemnasium.com/kishikawakatsumi/xcjobs)
|
3
|
+
|
2
4
|
|
3
5
|
Support the automation of release process of iOS/OSX apps with CI
|
4
6
|
|
@@ -191,7 +193,7 @@ source 'https://rubygems.org'
|
|
191
193
|
gem 'rake'
|
192
194
|
gem 'cocoapods'
|
193
195
|
gem 'xcpretty'
|
194
|
-
gem 'xcjobs'
|
196
|
+
gem 'xcjobs'
|
195
197
|
```
|
196
198
|
|
197
199
|
```yaml
|
data/lib/xcjobs/distribute.rb
CHANGED
@@ -104,5 +104,35 @@ module XCJobs
|
|
104
104
|
end
|
105
105
|
end
|
106
106
|
end
|
107
|
+
|
108
|
+
class ITC < Rake::TaskLib
|
109
|
+
include Rake::DSL if defined?(Rake::DSL)
|
110
|
+
include Distribute
|
111
|
+
|
112
|
+
attr_accessor :file
|
113
|
+
attr_accessor :username
|
114
|
+
attr_accessor :password
|
115
|
+
attr_accessor :altool
|
116
|
+
|
117
|
+
def initialize(name=:export)
|
118
|
+
yield self if block_given?
|
119
|
+
define
|
120
|
+
end
|
121
|
+
|
122
|
+
def altool
|
123
|
+
@altool || '/Applications/Xcode.app/Contents/Applications/Application Loader.app/Contents/Frameworks/ITunesSoftwareService.framework/Support/altool'
|
124
|
+
end
|
125
|
+
|
126
|
+
private
|
127
|
+
|
128
|
+
def define
|
129
|
+
namespace :distribute do
|
130
|
+
desc 'upload ipa to iTunes Connect'
|
131
|
+
task :itc do
|
132
|
+
sh %["#{altool}" --upload-app --file "#{file}" --username #{username} --password #{password}]
|
133
|
+
end
|
134
|
+
end
|
135
|
+
end
|
136
|
+
end
|
107
137
|
end
|
108
138
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require
|
1
|
+
require 'rake/tasklib'
|
2
2
|
|
3
3
|
module XCJobs
|
4
4
|
module InfoPlist
|
@@ -19,14 +19,6 @@ module XCJobs
|
|
19
19
|
set(key, value)
|
20
20
|
end
|
21
21
|
|
22
|
-
def build_version
|
23
|
-
self['CFBundleVersion']
|
24
|
-
end
|
25
|
-
|
26
|
-
def build_version=(revision)
|
27
|
-
self['CFBundleVersion'] = revision
|
28
|
-
end
|
29
|
-
|
30
22
|
def marketing_version
|
31
23
|
self['CFBundleShortVersionString']
|
32
24
|
end
|
@@ -35,6 +27,14 @@ module XCJobs
|
|
35
27
|
self['CFBundleShortVersionString'] = version
|
36
28
|
end
|
37
29
|
|
30
|
+
def build_version
|
31
|
+
self['CFBundleVersion']
|
32
|
+
end
|
33
|
+
|
34
|
+
def build_version=(revision)
|
35
|
+
self['CFBundleVersion'] = revision
|
36
|
+
end
|
37
|
+
|
38
38
|
def bump_marketing_version_segment(segment_index)
|
39
39
|
segments = Gem::Version.new(marketing_version).segments
|
40
40
|
segments[segment_index] = segments[segment_index].to_i + 1
|
@@ -53,6 +53,7 @@ module XCJobs
|
|
53
53
|
module InfoPlist
|
54
54
|
class Version < Rake::TaskLib
|
55
55
|
include Rake::DSL if defined?(Rake::DSL)
|
56
|
+
include InfoPlist
|
56
57
|
|
57
58
|
def initialize()
|
58
59
|
yield self if block_given?
|
@@ -69,45 +70,45 @@ module XCJobs
|
|
69
70
|
|
70
71
|
def define
|
71
72
|
namespace :version do
|
72
|
-
desc
|
73
|
+
desc 'Print the current version'
|
73
74
|
task :current do
|
74
75
|
puts InfoPlist.marketing_and_build_version
|
75
76
|
end
|
76
77
|
|
77
|
-
desc
|
78
|
+
desc 'Sets build version to last git commit hash'
|
78
79
|
task :set_build_version do
|
79
|
-
rev =
|
80
|
+
rev = %x[git rev-parse --short HEAD].strip
|
80
81
|
puts "Setting build version to: #{rev}"
|
81
82
|
InfoPlist.build_version = rev
|
82
83
|
end
|
83
84
|
|
84
|
-
desc
|
85
|
+
desc 'Sets build version to number of commits'
|
85
86
|
task :set_build_number do
|
86
|
-
rev =
|
87
|
+
rev = %x[git rev-list --count HEAD].strip
|
87
88
|
puts "Setting build version to: #{rev}"
|
88
89
|
InfoPlist.build_version = rev
|
89
90
|
end
|
90
91
|
|
91
92
|
namespace :bump do
|
92
|
-
desc
|
93
|
+
desc 'Bump patch version (0.0.X)'
|
93
94
|
task :patch do
|
94
95
|
InfoPlist.bump_marketing_version_segment(2)
|
95
96
|
end
|
96
97
|
|
97
|
-
desc
|
98
|
+
desc 'Bump minor version (0.X.0)'
|
98
99
|
task :minor do
|
99
100
|
InfoPlist.bump_marketing_version_segment(1)
|
100
101
|
end
|
101
102
|
|
102
|
-
desc
|
103
|
+
desc 'Bump major version (X.0.0)'
|
103
104
|
task :major do
|
104
105
|
InfoPlist.bump_marketing_version_segment(0)
|
105
106
|
end
|
106
107
|
end
|
107
108
|
end
|
108
109
|
|
109
|
-
desc
|
110
|
-
task :version =>
|
110
|
+
desc 'Print the current version'
|
111
|
+
task :version => 'version:current'
|
111
112
|
end
|
112
113
|
end
|
113
114
|
end
|
data/lib/xcjobs/version.rb
CHANGED
data/lib/xcjobs/xcodebuild.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'rake/tasklib'
|
2
2
|
require 'rake/clean'
|
3
|
+
require 'open3'
|
3
4
|
|
4
5
|
module XCJobs
|
5
6
|
class Xcodebuild < Rake::TaskLib
|
@@ -70,7 +71,11 @@ module XCJobs
|
|
70
71
|
def run(cmd)
|
71
72
|
@before_action.call if @before_action
|
72
73
|
|
73
|
-
|
74
|
+
if @formatter
|
75
|
+
puts (cmd + ['|', @formatter]).join(" ")
|
76
|
+
else
|
77
|
+
puts cmd.join(" ")
|
78
|
+
end
|
74
79
|
|
75
80
|
if @formatter
|
76
81
|
Open3.pipeline_r(cmd, [@formatter]) do |stdout, wait_thrs|
|
@@ -184,7 +189,7 @@ module XCJobs
|
|
184
189
|
end
|
185
190
|
|
186
191
|
class Archive < Xcodebuild
|
187
|
-
attr_accessor :
|
192
|
+
attr_accessor :archive_path
|
188
193
|
|
189
194
|
def initialize(name = :archive)
|
190
195
|
super
|
@@ -216,25 +221,25 @@ module XCJobs
|
|
216
221
|
end
|
217
222
|
end
|
218
223
|
|
219
|
-
def
|
220
|
-
@
|
224
|
+
def archive_path
|
225
|
+
@archive_path || (build_dir && scheme ? File.join(build_dir, scheme) : nil)
|
221
226
|
end
|
222
227
|
|
223
228
|
def options
|
224
229
|
super.tap do |opts|
|
225
|
-
opts.concat(['-archivePath',
|
230
|
+
opts.concat(['-archivePath', archive_path]) if archive_path
|
226
231
|
end
|
227
232
|
end
|
228
233
|
end
|
229
234
|
|
230
235
|
class Export < Xcodebuild
|
231
|
-
attr_accessor :
|
232
|
-
attr_accessor :
|
233
|
-
attr_accessor :
|
234
|
-
attr_accessor :
|
235
|
-
attr_accessor :
|
236
|
-
attr_accessor :
|
237
|
-
attr_accessor :
|
236
|
+
attr_accessor :archive_path
|
237
|
+
attr_accessor :export_format
|
238
|
+
attr_accessor :export_path
|
239
|
+
attr_accessor :export_provisioning_profile
|
240
|
+
attr_accessor :export_signing_identity
|
241
|
+
attr_accessor :export_installer_identity
|
242
|
+
attr_accessor :export_with_original_signing_identity
|
238
243
|
|
239
244
|
def initialize(name = :export)
|
240
245
|
super
|
@@ -253,23 +258,23 @@ module XCJobs
|
|
253
258
|
end
|
254
259
|
end
|
255
260
|
|
256
|
-
def
|
257
|
-
@
|
261
|
+
def archive_path
|
262
|
+
@archive_path || (build_dir && scheme ? File.join(build_dir, scheme) : nil)
|
258
263
|
end
|
259
264
|
|
260
|
-
def
|
261
|
-
@
|
265
|
+
def export_format
|
266
|
+
@export_format || 'IPA'
|
262
267
|
end
|
263
268
|
|
264
269
|
def options
|
265
270
|
[].tap do |opts|
|
266
|
-
opts.concat(['-archivePath',
|
267
|
-
opts.concat(['-exportFormat',
|
268
|
-
opts.concat(['-exportPath',
|
269
|
-
opts.concat(['-exportProvisioningProfile',
|
270
|
-
opts.concat(['-exportSigningIdentity',
|
271
|
-
opts.concat(['-exportInstallerIdentity',
|
272
|
-
opts.concat(['-exportWithOriginalSigningIdentity']) if
|
271
|
+
opts.concat(['-archivePath', archive_path]) if archive_path
|
272
|
+
opts.concat(['-exportFormat', export_format]) if export_format
|
273
|
+
opts.concat(['-exportPath', export_path]) if export_path
|
274
|
+
opts.concat(['-exportProvisioningProfile', export_provisioning_profile]) if export_provisioning_profile
|
275
|
+
opts.concat(['-exportSigningIdentity', export_signing_identity]) if export_signing_identity
|
276
|
+
opts.concat(['-exportInstallerIdentity', export_installer_identity]) if export_installer_identity
|
277
|
+
opts.concat(['-exportWithOriginalSigningIdentity']) if export_with_original_signing_identity
|
273
278
|
end
|
274
279
|
end
|
275
280
|
end
|
data/lib/xcjobs.rb
CHANGED
data/spec/Info.plist
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
3
|
+
<plist version="1.0">
|
4
|
+
<dict>
|
5
|
+
<key>CFBundleDevelopmentRegion</key>
|
6
|
+
<string>en</string>
|
7
|
+
<key>CFBundleExecutable</key>
|
8
|
+
<string>$(EXECUTABLE_NAME)</string>
|
9
|
+
<key>CFBundleIdentifier</key>
|
10
|
+
<string>com.kishikawakatsumi.$(PRODUCT_NAME:rfc1034identifier)</string>
|
11
|
+
<key>CFBundleInfoDictionaryVersion</key>
|
12
|
+
<string>6.0</string>
|
13
|
+
<key>CFBundleName</key>
|
14
|
+
<string>$(PRODUCT_NAME)</string>
|
15
|
+
<key>CFBundlePackageType</key>
|
16
|
+
<string>APPL</string>
|
17
|
+
<key>CFBundleShortVersionString</key>
|
18
|
+
<string>3.2.6</string>
|
19
|
+
<key>CFBundleSignature</key>
|
20
|
+
<string>????</string>
|
21
|
+
<key>CFBundleVersion</key>
|
22
|
+
<string>5413</string>
|
23
|
+
<key>LSRequiresIPhoneOS</key>
|
24
|
+
<true/>
|
25
|
+
<key>UILaunchStoryboardName</key>
|
26
|
+
<string>LaunchScreen</string>
|
27
|
+
<key>UIMainStoryboardFile</key>
|
28
|
+
<string>Main</string>
|
29
|
+
<key>UIRequiredDeviceCapabilities</key>
|
30
|
+
<array>
|
31
|
+
<string>armv7</string>
|
32
|
+
</array>
|
33
|
+
<key>UISupportedInterfaceOrientations</key>
|
34
|
+
<array>
|
35
|
+
<string>UIInterfaceOrientationPortrait</string>
|
36
|
+
<string>UIInterfaceOrientationLandscapeLeft</string>
|
37
|
+
<string>UIInterfaceOrientationLandscapeRight</string>
|
38
|
+
</array>
|
39
|
+
<key>UISupportedInterfaceOrientations~ipad</key>
|
40
|
+
<array>
|
41
|
+
<string>UIInterfaceOrientationPortrait</string>
|
42
|
+
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
43
|
+
<string>UIInterfaceOrientationLandscapeLeft</string>
|
44
|
+
<string>UIInterfaceOrientationLandscapeRight</string>
|
45
|
+
</array>
|
46
|
+
</dict>
|
47
|
+
</plist>
|
data/spec/distribute_spec.rb
CHANGED
@@ -1,7 +1,14 @@
|
|
1
1
|
require 'spec_helper'
|
2
|
+
require 'date'
|
2
3
|
|
3
4
|
describe XCJobs::Distribute do
|
4
5
|
before(:each) do
|
6
|
+
@commands = []
|
7
|
+
|
8
|
+
allow_any_instance_of(FileUtils).to receive(:sh) do |object, command|
|
9
|
+
@commands << command
|
10
|
+
end
|
11
|
+
|
5
12
|
allow_any_instance_of(XCJobs::Distribute).to receive(:upload) do |object, url, form_data|
|
6
13
|
@url = url
|
7
14
|
@form_data = form_data
|
@@ -131,4 +138,51 @@ describe XCJobs::Distribute do
|
|
131
138
|
end
|
132
139
|
end
|
133
140
|
end
|
141
|
+
|
142
|
+
describe XCJobs::Distribute::ITC do
|
143
|
+
describe 'define upload ipa task' do
|
144
|
+
let(:credentials) do
|
145
|
+
{ username: 'kishikawakatsumi',
|
146
|
+
password:'password1234',
|
147
|
+
}
|
148
|
+
end
|
149
|
+
|
150
|
+
let(:file) do
|
151
|
+
File.join('build', 'Example.ipa')
|
152
|
+
end
|
153
|
+
|
154
|
+
let(:altool) { '/Applications/Xcode.app/Contents/Applications/Application Loader.app/Contents/Frameworks/ITunesSoftwareService.framework/Support/altool' }
|
155
|
+
|
156
|
+
let!(:task) do
|
157
|
+
XCJobs::Distribute::ITC.new do |t|
|
158
|
+
t.username = credentials['username']
|
159
|
+
t.password = credentials['password']
|
160
|
+
t.file = file
|
161
|
+
end
|
162
|
+
end
|
163
|
+
|
164
|
+
it 'configures the username' do
|
165
|
+
expect(task.username).to eq credentials['username']
|
166
|
+
end
|
167
|
+
|
168
|
+
it 'configures the password' do
|
169
|
+
expect(task.password).to eq credentials['password']
|
170
|
+
end
|
171
|
+
|
172
|
+
it 'configures the file path' do
|
173
|
+
expect(task.file).to eq file
|
174
|
+
end
|
175
|
+
|
176
|
+
describe 'tasks' do
|
177
|
+
describe 'distribute:itc' do
|
178
|
+
subject { Rake.application['distribute:itc'] }
|
179
|
+
|
180
|
+
it 'executes the appropriate commands' do
|
181
|
+
subject.invoke
|
182
|
+
expect(@commands).to eq [%["#{altool}" --upload-app --file "#{file}" --username #{credentials['username']} --password #{credentials['password']}]]
|
183
|
+
end
|
184
|
+
end
|
185
|
+
end
|
186
|
+
end
|
187
|
+
end
|
134
188
|
end
|
@@ -0,0 +1,94 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe XCJobs::InfoPlist do
|
4
|
+
before(:each) do
|
5
|
+
if ENV['CI']
|
6
|
+
allow_any_instance_of(XCJobs::InfoPlist).to receive(:marketing_version).and_return('3.2.6')
|
7
|
+
allow_any_instance_of(XCJobs::InfoPlist).to receive(:build_version).and_return('5413')
|
8
|
+
end
|
9
|
+
|
10
|
+
allow_any_instance_of(XCJobs::InfoPlist).to receive(:marketing_version=) do |object, arg|
|
11
|
+
@marketing_version = arg
|
12
|
+
end
|
13
|
+
|
14
|
+
allow_any_instance_of(XCJobs::InfoPlist).to receive(:build_version=) do |object, arg|
|
15
|
+
@build_version = arg
|
16
|
+
end
|
17
|
+
|
18
|
+
Rake.application = rake
|
19
|
+
end
|
20
|
+
|
21
|
+
let(:rake) { Rake::Application.new }
|
22
|
+
|
23
|
+
describe 'test reading Info.plist' do
|
24
|
+
let(:path) do
|
25
|
+
File.join('spec', 'Info.plist')
|
26
|
+
end
|
27
|
+
|
28
|
+
let(:marketing_version) { '3.2.6' }
|
29
|
+
let(:build_version) { '5413' }
|
30
|
+
|
31
|
+
let!(:task) do
|
32
|
+
XCJobs::InfoPlist::Version.new do |t|
|
33
|
+
t.path = path
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
it 'configures the Info.plist file path' do
|
38
|
+
expect(task.path).to eq path
|
39
|
+
end
|
40
|
+
|
41
|
+
it 'configures the marketing_version' do
|
42
|
+
expect(task.marketing_version).to eq marketing_version
|
43
|
+
end
|
44
|
+
|
45
|
+
it 'configures the build_version' do
|
46
|
+
expect(task.build_version).to eq build_version
|
47
|
+
end
|
48
|
+
|
49
|
+
describe 'test bumping patch' do
|
50
|
+
subject { Rake.application['version:bump:patch'] }
|
51
|
+
|
52
|
+
it 'executes the appropriate commands' do
|
53
|
+
subject.invoke
|
54
|
+
expect(@marketing_version).to eq '3.2.7'
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
describe 'test bumping minor' do
|
59
|
+
subject { Rake.application['version:bump:minor'] }
|
60
|
+
|
61
|
+
it 'executes the appropriate commands' do
|
62
|
+
subject.invoke
|
63
|
+
expect(@marketing_version).to eq '3.3.0'
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
describe 'test bumping major' do
|
68
|
+
subject { Rake.application['version:bump:major'] }
|
69
|
+
|
70
|
+
it 'executes the appropriate commands' do
|
71
|
+
subject.invoke
|
72
|
+
expect(@marketing_version).to eq '4.0.0'
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
describe 'test update build number' do
|
77
|
+
subject { Rake.application['version:set_build_version'] }
|
78
|
+
|
79
|
+
it 'executes the appropriate commands' do
|
80
|
+
subject.invoke
|
81
|
+
expect(@build_version).to eq %x[git rev-parse --short HEAD].strip
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
describe 'test update build number' do
|
86
|
+
subject { Rake.application['version:set_build_number'] }
|
87
|
+
|
88
|
+
it 'executes the appropriate commands' do
|
89
|
+
subject.invoke
|
90
|
+
expect(@build_version).to eq %x[git rev-list --count HEAD].strip
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xcjobs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- kishikawa katsumi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-11-
|
11
|
+
date: 2014-11-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -83,11 +83,13 @@ files:
|
|
83
83
|
- lib/xcjobs.rb
|
84
84
|
- lib/xcjobs/certificate.rb
|
85
85
|
- lib/xcjobs/distribute.rb
|
86
|
-
- lib/xcjobs/
|
86
|
+
- lib/xcjobs/info_plist.rb
|
87
87
|
- lib/xcjobs/version.rb
|
88
88
|
- lib/xcjobs/xcodebuild.rb
|
89
|
+
- spec/Info.plist
|
89
90
|
- spec/certificate_spec.rb
|
90
91
|
- spec/distribute_spec.rb
|
92
|
+
- spec/info_plist_spec.rb
|
91
93
|
- spec/profiles/adhoc.mobileprovision
|
92
94
|
- spec/profiles/development.mobileprovision
|
93
95
|
- spec/profiles/distribution.mobileprovision
|
@@ -120,8 +122,10 @@ signing_key:
|
|
120
122
|
specification_version: 4
|
121
123
|
summary: Support the automation of release process of iOS/OSX apps with CI
|
122
124
|
test_files:
|
125
|
+
- spec/Info.plist
|
123
126
|
- spec/certificate_spec.rb
|
124
127
|
- spec/distribute_spec.rb
|
128
|
+
- spec/info_plist_spec.rb
|
125
129
|
- spec/profiles/adhoc.mobileprovision
|
126
130
|
- spec/profiles/development.mobileprovision
|
127
131
|
- spec/profiles/distribution.mobileprovision
|