fastlane 1.15.0 → 1.16.0
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.
- 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
|