fastlane 0.1.10 → 0.1.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +31 -4
- data/lib/assets/AppfileTemplate +6 -1
- data/lib/fastlane/actions/cert.rb +33 -0
- data/lib/fastlane/actions/sigh.rb +2 -1
- data/lib/fastlane/actions/team_name.rb +19 -0
- data/lib/fastlane/version.rb +1 -1
- metadata +18 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e8112f61bcf1c2ab1b013be02f491a5b1f117a84
|
4
|
+
data.tar.gz: 1464cf1b6e24a6cf5c82bb70c51f306e78c1ef87
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6ca2a73b27631962c273e55481891219dbd8406ee955918aa17c5834d0a6ef1d047bde11d117b82fee3656ca0d50f55739b239ee4eefb7c8abc6164e73ab338a
|
7
|
+
data.tar.gz: a5c29317133cb95c87694fcb44e7787ef55fde4a5b4aa1e776a7fe4d03c77a879e9810a2891e1b33aff48c43571a5dc62c0701834ea55233e42da47cd676f34f
|
data/README.md
CHANGED
@@ -7,7 +7,8 @@
|
|
7
7
|
<a href="https://github.com/KrauseFx/frameit">frameit</a> •
|
8
8
|
<a href="https://github.com/KrauseFx/PEM">PEM</a> •
|
9
9
|
<a href="https://github.com/KrauseFx/sigh">sigh</a> •
|
10
|
-
<a href="https://github.com/KrauseFx/produce">produce</a>
|
10
|
+
<a href="https://github.com/KrauseFx/produce">produce</a> •
|
11
|
+
<a href="https://github.com/KrauseFx/cert">cert</a>
|
11
12
|
</p>
|
12
13
|
-------
|
13
14
|
|
@@ -144,16 +145,31 @@ snapshot
|
|
144
145
|
To make `snapshot` work without user interaction, follow the [CI-Guide of `snapshot`](https://github.com/KrauseFx/snapshot#run-in-continuous-integration).
|
145
146
|
|
146
147
|
#### [sigh](https://github.com/KrauseFx/sigh)
|
147
|
-
This will generate and download your App Store provisioning profile.
|
148
|
+
This will generate and download your App Store provisioning profile. `sigh` will store the generated profile in the `./fastlane` folder.
|
149
|
+
|
148
150
|
```ruby
|
149
151
|
sigh
|
150
152
|
```
|
151
153
|
|
152
154
|
To use the Ad Hoc profile instead
|
155
|
+
|
153
156
|
```ruby
|
154
157
|
sigh :adhoc
|
155
158
|
```
|
156
159
|
|
160
|
+
To always re-generate the provisioning profile, use `sigh :force`.
|
161
|
+
|
162
|
+
#### [cert](https://github.com/KrauseFx/cert)
|
163
|
+
|
164
|
+
The `cert` action can be used to make sure to have the latest signing certificate installed. More information on the [`cert` project page](https://github.com/KrauseFx/cert).
|
165
|
+
|
166
|
+
```ruby
|
167
|
+
cert
|
168
|
+
sigh :force
|
169
|
+
```
|
170
|
+
|
171
|
+
`fastlane` will automatically pass the signing certificate to use to `sigh`.
|
172
|
+
|
157
173
|
#### [produce](https://github.com/KrauseFx/produce)
|
158
174
|
|
159
175
|
Create new apps on iTunes Connect and Apple Developer Portal. If the app already exists, `produce` will not do anything.
|
@@ -238,7 +254,7 @@ More information about the available options can be found in the [HockeyApp Docs
|
|
238
254
|
#### [Crashlytics Beta](http://try.crashlytics.com/beta/)
|
239
255
|
```ruby
|
240
256
|
crashlytics({
|
241
|
-
crashlytics_path: './
|
257
|
+
crashlytics_path: './Crashlytics.framework', # path to your 'Crashlytics.framework'
|
242
258
|
api_token: '...',
|
243
259
|
build_secret: '...',
|
244
260
|
ipa_path: './app.ipa'
|
@@ -414,6 +430,7 @@ Save and run. The result should look like this:
|
|
414
430
|
- [`PEM`](https://github.com/KrauseFx/pem): Automatically generate and renew your push notification profiles
|
415
431
|
- [`sigh`](https://github.com/KrauseFx/sigh): Because you would rather spend your time building stuff than fighting provisioning
|
416
432
|
- [`produce`](https://github.com/KrauseFx/produce): Create new iOS apps on iTunes Connect and Dev Portal using the command line
|
433
|
+
- [`cert`](https://github.com/KrauseFx/cert): Automatically create and maintain iOS code signing certificates
|
417
434
|
|
418
435
|
## Advanced
|
419
436
|
#### Lane Context
|
@@ -443,6 +460,10 @@ before_all do
|
|
443
460
|
increment_build_number
|
444
461
|
cocoapods
|
445
462
|
xctool :test
|
463
|
+
|
464
|
+
ipa({
|
465
|
+
workspace: "MyApp.xcworkspace"
|
466
|
+
})
|
446
467
|
end
|
447
468
|
|
448
469
|
lane :beta do
|
@@ -475,14 +496,20 @@ error do |lane, exception|
|
|
475
496
|
end
|
476
497
|
```
|
477
498
|
|
478
|
-
#### Set Team ID for all tools
|
499
|
+
#### Set Team ID/Name for all tools
|
479
500
|
|
480
501
|
To set a team ID for `sigh`, `PEM` and the other tools, add this code to your `before_all` block:
|
481
502
|
|
482
503
|
```ruby
|
483
504
|
team_id "Q2CBPK58CA"
|
505
|
+
|
506
|
+
# or
|
507
|
+
|
508
|
+
team_name "Felix Krause"
|
484
509
|
```
|
485
510
|
|
511
|
+
Alternatively you can add this information to your `fastlane/Appfile`.
|
512
|
+
|
486
513
|
#### Snapshot
|
487
514
|
To skip cleaning the project on every build:
|
488
515
|
```ruby
|
data/lib/assets/AppfileTemplate
CHANGED
@@ -0,0 +1,33 @@
|
|
1
|
+
module Fastlane
|
2
|
+
module Actions
|
3
|
+
module SharedValues
|
4
|
+
CERT_FILE_PATH = :CERT_FILE_PATH
|
5
|
+
CERT_CERTIFICATE_ID = :CERT_CERTIFICATE_ID
|
6
|
+
end
|
7
|
+
|
8
|
+
class CertAction
|
9
|
+
def self.run(params)
|
10
|
+
require 'cert'
|
11
|
+
|
12
|
+
return if Helper.test?
|
13
|
+
|
14
|
+
Dir.chdir(FastlaneFolder.path || Dir.pwd) do
|
15
|
+
# This should be executed in the fastlane folder
|
16
|
+
|
17
|
+
Cert::CertRunner.run
|
18
|
+
cert_file_path = ENV["CER_FILE_PATH"]
|
19
|
+
certificate_id = ENV["CER_CERTIFICATE_ID"]
|
20
|
+
Actions.lane_context[SharedValues::CERT_FILE_PATH] = cert_file_path
|
21
|
+
Actions.lane_context[SharedValues::CERT_CERTIFICATE_ID] = certificate_id
|
22
|
+
|
23
|
+
installed = Cert::CertChecker.is_installed?cert_file_path
|
24
|
+
raise "Could not find the newly generated certificate installed" unless installed
|
25
|
+
|
26
|
+
Helper.log.info("Use signing certificate '#{certificate_id}' from now on!".green)
|
27
|
+
|
28
|
+
ENV["SIGH_CERTIFICATE_ID"] = certificate_id
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -12,6 +12,7 @@ module Fastlane
|
|
12
12
|
type = FastlaneCore::DeveloperCenter::APPSTORE
|
13
13
|
type = FastlaneCore::DeveloperCenter::ADHOC if params.include? :adhoc
|
14
14
|
type = FastlaneCore::DeveloperCenter::DEVELOPMENT if params.include? :development
|
15
|
+
force = params.include? :force
|
15
16
|
|
16
17
|
return type if Helper.test?
|
17
18
|
|
@@ -19,7 +20,7 @@ module Fastlane
|
|
19
20
|
raise 'No app_identifier definied in `./fastlane/Appfile`'.red unless app
|
20
21
|
|
21
22
|
CredentialsManager::PasswordManager.shared_manager(ENV['SIGH_USERNAME']) if ENV['SIGH_USERNAME']
|
22
|
-
path = FastlaneCore::DeveloperCenter.new.run(app, type)
|
23
|
+
path = FastlaneCore::DeveloperCenter.new.run(app, type, nil, force)
|
23
24
|
output_path = File.expand_path(File.join('.', File.basename(path)))
|
24
25
|
FileUtils.mv(path, output_path)
|
25
26
|
Helper.log.info "Exported provisioning profile to '#{output_path}'".green
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Fastlane
|
2
|
+
module Actions
|
3
|
+
module SharedValues
|
4
|
+
end
|
5
|
+
|
6
|
+
class TeamNameAction
|
7
|
+
def self.run(params)
|
8
|
+
team = params.first
|
9
|
+
raise "Please pass your Team Name (e.g. team_name 'Felix Krause')".red unless team.to_s.length > 0
|
10
|
+
|
11
|
+
Helper.log.info "Setting Team Name to '#{team}' for all build steps"
|
12
|
+
|
13
|
+
[:FASTLANE_TEAM_NAME, :PRODUCE_TEAM_NAME].each do |current|
|
14
|
+
ENV[current.to_s] = team
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
data/lib/fastlane/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Felix Krause
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-02-
|
11
|
+
date: 2015-02-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
@@ -150,6 +150,20 @@ dependencies:
|
|
150
150
|
- - '>='
|
151
151
|
- !ruby/object:Gem::Version
|
152
152
|
version: 0.1.0
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: cert
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - '>='
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: 0.1.0
|
160
|
+
type: :runtime
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - '>='
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: 0.1.0
|
153
167
|
- !ruby/object:Gem::Dependency
|
154
168
|
name: bundler
|
155
169
|
requirement: !ruby/object:Gem::Requirement
|
@@ -279,6 +293,7 @@ files:
|
|
279
293
|
- lib/fastlane.rb
|
280
294
|
- lib/fastlane/actions/README
|
281
295
|
- lib/fastlane/actions/actions_helper.rb
|
296
|
+
- lib/fastlane/actions/cert.rb
|
282
297
|
- lib/fastlane/actions/crashlytics.rb
|
283
298
|
- lib/fastlane/actions/deliver.rb
|
284
299
|
- lib/fastlane/actions/deploygate.rb
|
@@ -294,6 +309,7 @@ files:
|
|
294
309
|
- lib/fastlane/actions/slack.rb
|
295
310
|
- lib/fastlane/actions/snapshot.rb
|
296
311
|
- lib/fastlane/actions/team_id.rb
|
312
|
+
- lib/fastlane/actions/team_name.rb
|
297
313
|
- lib/fastlane/actions/testmunk.rb
|
298
314
|
- lib/fastlane/actions/xctool.rb
|
299
315
|
- lib/fastlane/core_ext/string.rb
|