fastlane 1.15.0 → 1.16.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +3 -1
- data/lib/assets/FastfileTemplate +1 -1
- data/lib/fastlane/actions/actions_helper.rb +1 -1
- data/lib/fastlane/actions/bundle_install.rb +133 -0
- data/lib/fastlane/actions/dsym_zip.rb +17 -6
- data/lib/fastlane/actions/gym.rb +46 -0
- data/lib/fastlane/actions/install_cocapods.rb +4 -2
- data/lib/fastlane/actions/ipa.rb +0 -5
- data/lib/fastlane/fast_file.rb +3 -0
- data/lib/fastlane/version.rb +1 -1
- metadata +30 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 64d13313e93649ee90caa553d9e61ae6759c22db
|
4
|
+
data.tar.gz: 2cfbb113190bb42dd7f401f651652243a0b909a4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 09dcc32c05045d06865f2fc569fd6611ec21cf8b9640acdf665a54706ca610ea84fd0e2818b3e5fa29a460d373dee3f49c008957aa738de0ce92f3c1f71638d5
|
7
|
+
data.tar.gz: e2d19739f74a77f5cbfe5688a634ab04fd0908803650dae3d8234f20416b6dc6a54b0e1901bb7cf3b6b1f33a069ed88c101ce552ad2d0100ae355a4513d3a0b4
|
data/README.md
CHANGED
@@ -12,7 +12,8 @@
|
|
12
12
|
<a href="https://github.com/KrauseFx/codes">codes</a> •
|
13
13
|
<a href="https://github.com/fastlane/spaceship">spaceship</a> •
|
14
14
|
<a href="https://github.com/fastlane/pilot">pilot</a> •
|
15
|
-
<a href="https://github.com/fastlane/boarding">boarding</a>
|
15
|
+
<a href="https://github.com/fastlane/boarding">boarding</a> •
|
16
|
+
<a href="https://github.com/fastlane/gym">gym</a>
|
16
17
|
</p>
|
17
18
|
-------
|
18
19
|
|
@@ -163,6 +164,7 @@ See how [Wikipedia](https://github.com/fastlane/examples#wikipedia-by-wikimedia-
|
|
163
164
|
- [`spaceship`](https://github.com/fastlane/spaceship): Ruby library to access the Apple Dev Center and iTunes Connect
|
164
165
|
- [`pilot`](https://github.com/fastlane/pilot): The best way to manage your TestFlight testers and builds from your terminal
|
165
166
|
- [`boarding`](https://github.com/fastlane/boarding): The easiest way to invite your TestFlight beta testers
|
167
|
+
- [`gym`](https://github.com/fastlane/gym): Building your iOS apps has never been easier
|
166
168
|
|
167
169
|
## Statistics
|
168
170
|
|
data/lib/assets/FastfileTemplate
CHANGED
@@ -109,7 +109,7 @@ module Fastlane
|
|
109
109
|
end
|
110
110
|
|
111
111
|
if exit_status != 0
|
112
|
-
# this will also append the output to the exception
|
112
|
+
# this will also append the output to the exception
|
113
113
|
raise "Exit status of command '#{command}' was #{exit_status} instead of 0. \n#{result}"
|
114
114
|
end
|
115
115
|
else
|
@@ -0,0 +1,133 @@
|
|
1
|
+
module Fastlane
|
2
|
+
module Actions
|
3
|
+
class BundleInstallAction < Action
|
4
|
+
def self.run(params)
|
5
|
+
if File.exists?('Gemfile')
|
6
|
+
cmd = ['bundle install']
|
7
|
+
|
8
|
+
cmd << "--binstubs #{params[:binstubs]}" if params[:binstubs]
|
9
|
+
cmd << "--clean" if params[:clean]
|
10
|
+
cmd << "--full-index" if params[:full_index]
|
11
|
+
cmd << "--gemfile #{params[:gemfile]}" if params[:gemfile]
|
12
|
+
cmd << "--jobs #{params[:jobs]}" if params[:jobs]
|
13
|
+
cmd << "--local" if params[:local]
|
14
|
+
cmd << "--deployment" if params[:deployment]
|
15
|
+
cmd << "--no-cache" if params[:no_cache]
|
16
|
+
cmd << "--no_prune" if params[:no_prune]
|
17
|
+
cmd << "--path #{params[:path]}" if params[:path]
|
18
|
+
cmd << "--system" if params[:system]
|
19
|
+
cmd << "--quiet" if params[:quiet]
|
20
|
+
cmd << "--retry #{params[:retry]}" if params[:retry]
|
21
|
+
cmd << "--shebang" if params[:shebang]
|
22
|
+
cmd << "--standalone #{params[:standalone]}" if params[:standalone]
|
23
|
+
cmd << "--trust-policy" if params[:trust_policy]
|
24
|
+
cmd << "--without #{params[:without]}" if params[:without]
|
25
|
+
cmd << "--with #{params[:with]}" if params[:with]
|
26
|
+
|
27
|
+
Actions.sh(cmd.join(' '))
|
28
|
+
else
|
29
|
+
Helper.log.info "No Gemfile found"
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def self.description
|
34
|
+
'This action runs `bundle install` if it founds the Gemfile'
|
35
|
+
end
|
36
|
+
|
37
|
+
def self.is_supported?(platform)
|
38
|
+
true
|
39
|
+
end
|
40
|
+
|
41
|
+
def self.author
|
42
|
+
["birmacher"]
|
43
|
+
end
|
44
|
+
|
45
|
+
def self.available_options
|
46
|
+
[
|
47
|
+
FastlaneCore::ConfigItem.new(key: :binstubs,
|
48
|
+
env_name: "FL_BUNDLE_INSTALL_BINSTUBS",
|
49
|
+
description: "Generate bin stubs for bundled gems to ./bin",
|
50
|
+
optional: true),
|
51
|
+
FastlaneCore::ConfigItem.new(key: :clean,
|
52
|
+
env_name: "FL_BUNDLE_INSTALL_CLEAN",
|
53
|
+
description: "Run bundle clean automatically after install",
|
54
|
+
is_string: false,
|
55
|
+
default_value: false),
|
56
|
+
FastlaneCore::ConfigItem.new(key: :full_index,
|
57
|
+
env_name: "FL_BUNDLE_INSTALL_FULL_INDEX",
|
58
|
+
description: "Use the rubygems modern index instead of the API endpoint",
|
59
|
+
is_string: false,
|
60
|
+
default_value: false),
|
61
|
+
FastlaneCore::ConfigItem.new(key: :gemfile,
|
62
|
+
env_name: "FL_BUNDLE_INSTALL_GEMFILE",
|
63
|
+
description: "Use the specified gemfile instead of Gemfile",
|
64
|
+
optional: true),
|
65
|
+
FastlaneCore::ConfigItem.new(key: :jobs,
|
66
|
+
env_name: "FL_BUNDLE_INSTALL_JOBS",
|
67
|
+
description: "Install gems using parallel workers",
|
68
|
+
is_string: false,
|
69
|
+
optional: true),
|
70
|
+
FastlaneCore::ConfigItem.new(key: :local,
|
71
|
+
env_name: "FL_BUNDLE_INSTALL_LOCAL",
|
72
|
+
description: "Do not attempt to fetch gems remotely and use the gem cache instead",
|
73
|
+
is_string: false,
|
74
|
+
default_value: false),
|
75
|
+
FastlaneCore::ConfigItem.new(key: :deployment,
|
76
|
+
env_name: "FL_BUNDLE_INSTALL_DEPLOYMENT",
|
77
|
+
description: "Install using defaults tuned for deployment and CI environments",
|
78
|
+
is_string: false,
|
79
|
+
default_value: false),
|
80
|
+
FastlaneCore::ConfigItem.new(key: :no_cache,
|
81
|
+
env_name: "FL_BUNDLE_INSTALL_NO_CACHE",
|
82
|
+
description: "Don't update the existing gem cache",
|
83
|
+
is_string: false,
|
84
|
+
default_value: false),
|
85
|
+
FastlaneCore::ConfigItem.new(key: :no_prune,
|
86
|
+
env_name: "FL_BUNDLE_INSTALL_NO_PRUNE",
|
87
|
+
description: "Don't remove stale gems from the cache",
|
88
|
+
is_string: false,
|
89
|
+
default_value: false),
|
90
|
+
FastlaneCore::ConfigItem.new(key: :path,
|
91
|
+
env_name: "FL_BUNDLE_INSTALL_PATH",
|
92
|
+
description: "Specify a different path than the system default ($BUNDLE_PATH or $GEM_HOME). Bundler will remember this value for future installs on this machine",
|
93
|
+
optional: true),
|
94
|
+
FastlaneCore::ConfigItem.new(key: :system,
|
95
|
+
env_name: "FL_BUNDLE_INSTALL_SYSTEM",
|
96
|
+
description: "Install to the system location ($BUNDLE_PATH or $GEM_HOME) even if the bundle was previously installed somewhere else for this application",
|
97
|
+
is_string: false,
|
98
|
+
default_value: false),
|
99
|
+
FastlaneCore::ConfigItem.new(key: :quiet,
|
100
|
+
env_name: "FL_BUNDLE_INSTALL_QUIET",
|
101
|
+
description: "Only output warnings and errors",
|
102
|
+
is_string: false,
|
103
|
+
default_value: false),
|
104
|
+
FastlaneCore::ConfigItem.new(key: :retry,
|
105
|
+
env_name: "FL_BUNDLE_INSTALL_RETRY",
|
106
|
+
description: "Retry network and git requests that have failed",
|
107
|
+
is_string: false,
|
108
|
+
optional: true),
|
109
|
+
FastlaneCore::ConfigItem.new(key: :shebang,
|
110
|
+
env_name: "FL_BUNDLE_INSTALL_SHEBANG",
|
111
|
+
description: "Specify a different shebang executable name than the default (usually 'ruby')",
|
112
|
+
optional: true),
|
113
|
+
FastlaneCore::ConfigItem.new(key: :standalone,
|
114
|
+
env_name: "FL_BUNDLE_INSTALL_STANDALONE",
|
115
|
+
description: "Make a bundle that can work without the Bundler runtime",
|
116
|
+
optional: true),
|
117
|
+
FastlaneCore::ConfigItem.new(key: :trust_policy,
|
118
|
+
env_name: "FL_BUNDLE_INSTALL_TRUST_POLICY",
|
119
|
+
description: "Sets level of security when dealing with signed gems. Accepts `LowSecurity`, `MediumSecurity` and `HighSecurity` as values",
|
120
|
+
optional: true),
|
121
|
+
FastlaneCore::ConfigItem.new(key: :without,
|
122
|
+
env_name: "FL_BUNDLE_INSTALL_WITHOUT",
|
123
|
+
description: "Exclude gems that are part of the specified named group",
|
124
|
+
optional: true),
|
125
|
+
FastlaneCore::ConfigItem.new(key: :with,
|
126
|
+
env_name: "FL_BUNDLE_INSTALL_WITH",
|
127
|
+
description: "Include gems that are part of the specified named group",
|
128
|
+
optional: true)
|
129
|
+
]
|
130
|
+
end
|
131
|
+
end
|
132
|
+
end
|
133
|
+
end
|
@@ -10,16 +10,21 @@ module Fastlane
|
|
10
10
|
def self.run(params)
|
11
11
|
archive = params[:archive_path]
|
12
12
|
params[:dsym_path] ||= File.join("#{File.basename(archive, '.*')}.app.dSYM.zip")
|
13
|
-
|
14
|
-
plist = Plist::parse_xml(File.join(archive, 'Info.plist'))
|
15
|
-
app_name = Helper.test? ? 'MyApp.app' : File.basename(plist['ApplicationProperties']['ApplicationPath'])
|
16
|
-
dsym_name = "#{app_name}.dSYM"
|
13
|
+
|
17
14
|
dsym_folder_path = File.expand_path(File.join(archive, 'dSYMs'))
|
18
15
|
zipped_dsym_path = File.expand_path(params[:dsym_path])
|
19
16
|
|
20
17
|
Actions.lane_context[SharedValues::DSYM_ZIP_PATH] = zipped_dsym_path
|
21
18
|
|
22
|
-
|
19
|
+
if params[:all]
|
20
|
+
Actions.sh(%Q[cd "#{dsym_folder_path}" && zip -r "#{zipped_dsym_path}" "#{dsym_folder_path}"/*.dSYM])
|
21
|
+
else
|
22
|
+
plist = Plist::parse_xml(File.join(archive, 'Info.plist'))
|
23
|
+
app_name = Helper.test? ? 'MyApp.app' : File.basename(plist['ApplicationProperties']['ApplicationPath'])
|
24
|
+
dsym_name = "#{app_name}.dSYM"
|
25
|
+
Actions.sh(%Q[cd "#{dsym_folder_path}" && zip -r "#{zipped_dsym_path}" "#{dsym_name}"])
|
26
|
+
end
|
27
|
+
|
23
28
|
end
|
24
29
|
|
25
30
|
|
@@ -48,7 +53,13 @@ module Fastlane
|
|
48
53
|
FastlaneCore::ConfigItem.new(key: :dsym_path,
|
49
54
|
description: 'Path for generated dsym. Optional, default is your apps root directory',
|
50
55
|
optional: true,
|
51
|
-
env_name: 'DSYM_ZIP_DSYM_PATH')
|
56
|
+
env_name: 'DSYM_ZIP_DSYM_PATH'),
|
57
|
+
FastlaneCore::ConfigItem.new(key: :all,
|
58
|
+
description: 'Whether or not all dSYM files are to be included. Optional, default is false in which only your app dSYM is included',
|
59
|
+
default_value: false,
|
60
|
+
optional: true,
|
61
|
+
is_string: false,
|
62
|
+
env_name: 'DSYM_ZIP_ALL')
|
52
63
|
]
|
53
64
|
end
|
54
65
|
|
@@ -0,0 +1,46 @@
|
|
1
|
+
module Fastlane
|
2
|
+
module Actions
|
3
|
+
module SharedValues
|
4
|
+
IPA_OUTPUT_PATH = :IPA_OUTPUT_PATH
|
5
|
+
DSYM_OUTPUT_PATH = :DSYM_OUTPUT_PATH
|
6
|
+
end
|
7
|
+
|
8
|
+
class GymAction < Action
|
9
|
+
def self.run(values)
|
10
|
+
require 'gym'
|
11
|
+
|
12
|
+
begin
|
13
|
+
FastlaneCore::UpdateChecker.start_looking_for_update('gym') unless Helper.is_test?
|
14
|
+
|
15
|
+
values[:provisioning_profile_path] ||= Actions.lane_context[Actions::SharedValues::SIGH_PROFILE_PATH] || ENV["SIGH_PROFILE_PATH"]
|
16
|
+
path = File.expand_path(Gym::Manager.new.work(values))
|
17
|
+
dsym_path = path.gsub(".ipa", ".app.dSYM.zip")
|
18
|
+
|
19
|
+
Actions.lane_context[SharedValues::IPA_OUTPUT_PATH] = path # absolute path
|
20
|
+
Actions.lane_context[SharedValues::DSYM_OUTPUT_PATH] = dsym_path if File.exist?(dsym_path)
|
21
|
+
|
22
|
+
return path
|
23
|
+
ensure
|
24
|
+
FastlaneCore::UpdateChecker.show_update_status('gym', Gym::VERSION)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def self.description
|
29
|
+
"Easily build and sign your app using `gym`"
|
30
|
+
end
|
31
|
+
|
32
|
+
def self.author
|
33
|
+
"KrauseFx"
|
34
|
+
end
|
35
|
+
|
36
|
+
def self.available_options
|
37
|
+
require 'gym'
|
38
|
+
Gym::Options.available_options
|
39
|
+
end
|
40
|
+
|
41
|
+
def self.is_supported?(platform)
|
42
|
+
platform == :ios
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -2,8 +2,10 @@ module Fastlane
|
|
2
2
|
module Actions
|
3
3
|
class CocoapodsAction < Action
|
4
4
|
def self.run(params)
|
5
|
+
cmd = []
|
5
6
|
|
6
|
-
cmd
|
7
|
+
cmd << ['bundle exec'] if File.exists?('Gemfile')
|
8
|
+
cmd << ['pod install']
|
7
9
|
|
8
10
|
cmd << '--no-clean' unless params[:clean]
|
9
11
|
cmd << '--no-integrate' unless params[:integrate]
|
@@ -53,7 +55,7 @@ module Fastlane
|
|
53
55
|
end
|
54
56
|
|
55
57
|
def self.authors
|
56
|
-
["KrauseFx", "tadpol"]
|
58
|
+
["KrauseFx", "tadpol", "birmacher"]
|
57
59
|
end
|
58
60
|
end
|
59
61
|
end
|
data/lib/fastlane/actions/ipa.rb
CHANGED
data/lib/fastlane/fast_file.rb
CHANGED
@@ -171,6 +171,8 @@ module Fastlane
|
|
171
171
|
end
|
172
172
|
|
173
173
|
raise "Could not find Fastfile at path '#{path}'".red unless File.exists?(path)
|
174
|
+
|
175
|
+
collector.did_launch_action(:import)
|
174
176
|
parse(File.read(path))
|
175
177
|
|
176
178
|
# Check if we can also import local actions which are in the same directory as the Fastfile
|
@@ -184,6 +186,7 @@ module Fastlane
|
|
184
186
|
raise "Please pass a path to the `import_from_git` action".red if url.to_s.length == 0
|
185
187
|
|
186
188
|
Actions.execute_action('import_from_git') do
|
189
|
+
collector.did_launch_action(:import_from_git)
|
187
190
|
|
188
191
|
# Checkout the repo
|
189
192
|
repo_name = url.split("/").last
|
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: 1.
|
4
|
+
version: 1.16.0
|
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-08-
|
11
|
+
date: 2015-08-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
@@ -168,30 +168,30 @@ dependencies:
|
|
168
168
|
name: fastlane_core
|
169
169
|
requirement: !ruby/object:Gem::Requirement
|
170
170
|
requirements:
|
171
|
-
- - "
|
171
|
+
- - "~>"
|
172
172
|
- !ruby/object:Gem::Version
|
173
|
-
version: 0.
|
173
|
+
version: 0.13.0
|
174
174
|
type: :runtime
|
175
175
|
prerelease: false
|
176
176
|
version_requirements: !ruby/object:Gem::Requirement
|
177
177
|
requirements:
|
178
|
-
- - "
|
178
|
+
- - "~>"
|
179
179
|
- !ruby/object:Gem::Version
|
180
|
-
version: 0.
|
180
|
+
version: 0.13.0
|
181
181
|
- !ruby/object:Gem::Dependency
|
182
182
|
name: spaceship
|
183
183
|
requirement: !ruby/object:Gem::Requirement
|
184
184
|
requirements:
|
185
|
-
- - "
|
185
|
+
- - "~>"
|
186
186
|
- !ruby/object:Gem::Version
|
187
|
-
version: 0.
|
187
|
+
version: 0.4.0
|
188
188
|
type: :runtime
|
189
189
|
prerelease: false
|
190
190
|
version_requirements: !ruby/object:Gem::Requirement
|
191
191
|
requirements:
|
192
|
-
- - "
|
192
|
+
- - "~>"
|
193
193
|
- !ruby/object:Gem::Version
|
194
|
-
version: 0.
|
194
|
+
version: 0.4.0
|
195
195
|
- !ruby/object:Gem::Dependency
|
196
196
|
name: deliver
|
197
197
|
requirement: !ruby/object:Gem::Requirement
|
@@ -240,14 +240,14 @@ dependencies:
|
|
240
240
|
requirements:
|
241
241
|
- - ">="
|
242
242
|
- !ruby/object:Gem::Version
|
243
|
-
version: 0.
|
243
|
+
version: 0.7.1
|
244
244
|
type: :runtime
|
245
245
|
prerelease: false
|
246
246
|
version_requirements: !ruby/object:Gem::Requirement
|
247
247
|
requirements:
|
248
248
|
- - ">="
|
249
249
|
- !ruby/object:Gem::Version
|
250
|
-
version: 0.
|
250
|
+
version: 0.7.1
|
251
251
|
- !ruby/object:Gem::Dependency
|
252
252
|
name: cert
|
253
253
|
requirement: !ruby/object:Gem::Requirement
|
@@ -282,14 +282,28 @@ dependencies:
|
|
282
282
|
requirements:
|
283
283
|
- - ">="
|
284
284
|
- !ruby/object:Gem::Version
|
285
|
-
version: 0.
|
285
|
+
version: 0.6.0
|
286
|
+
type: :runtime
|
287
|
+
prerelease: false
|
288
|
+
version_requirements: !ruby/object:Gem::Requirement
|
289
|
+
requirements:
|
290
|
+
- - ">="
|
291
|
+
- !ruby/object:Gem::Version
|
292
|
+
version: 0.6.0
|
293
|
+
- !ruby/object:Gem::Dependency
|
294
|
+
name: gym
|
295
|
+
requirement: !ruby/object:Gem::Requirement
|
296
|
+
requirements:
|
297
|
+
- - ">="
|
298
|
+
- !ruby/object:Gem::Version
|
299
|
+
version: 0.1.0
|
286
300
|
type: :runtime
|
287
301
|
prerelease: false
|
288
302
|
version_requirements: !ruby/object:Gem::Requirement
|
289
303
|
requirements:
|
290
304
|
- - ">="
|
291
305
|
- !ruby/object:Gem::Version
|
292
|
-
version: 0.
|
306
|
+
version: 0.1.0
|
293
307
|
- !ruby/object:Gem::Dependency
|
294
308
|
name: bundler
|
295
309
|
requirement: !ruby/object:Gem::Requirement
|
@@ -429,6 +443,7 @@ files:
|
|
429
443
|
- lib/fastlane/actions/appstore.rb
|
430
444
|
- lib/fastlane/actions/backup_file.rb
|
431
445
|
- lib/fastlane/actions/backup_xcarchive.rb
|
446
|
+
- lib/fastlane/actions/bundle_install.rb
|
432
447
|
- lib/fastlane/actions/cert.rb
|
433
448
|
- lib/fastlane/actions/chatwork.rb
|
434
449
|
- lib/fastlane/actions/clean_build_artifacts.rb
|
@@ -449,6 +464,7 @@ files:
|
|
449
464
|
- lib/fastlane/actions/get_github_release.rb
|
450
465
|
- lib/fastlane/actions/git_branch.rb
|
451
466
|
- lib/fastlane/actions/git_pull.rb
|
467
|
+
- lib/fastlane/actions/gym.rb
|
452
468
|
- lib/fastlane/actions/hg_add_tag.rb
|
453
469
|
- lib/fastlane/actions/hg_commit_version_bump.rb
|
454
470
|
- lib/fastlane/actions/hg_ensure_clean_status.rb
|