fastlane 0.11.0 → 0.12.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/lib/assets/FastfileTemplate +3 -0
- data/lib/fastlane.rb +1 -0
- data/lib/fastlane/action.rb +5 -0
- data/lib/fastlane/action_collector.rb +3 -1
- data/lib/fastlane/actions/actions_helper.rb +5 -0
- data/lib/fastlane/actions/add_git_tag.rb +21 -15
- data/lib/fastlane/actions/cert.rb +2 -2
- data/lib/fastlane/actions/clean_build_artifacts.rb +1 -1
- data/lib/fastlane/actions/commit_version_bump.rb +15 -8
- data/lib/fastlane/actions/crashlytics.rb +51 -66
- data/lib/fastlane/actions/deliver.rb +32 -15
- data/lib/fastlane/actions/deploygate.rb +29 -22
- data/lib/fastlane/actions/ensure_git_status_clean.rb +1 -1
- data/lib/fastlane/actions/frameit.rb +2 -2
- data/lib/fastlane/actions/gcovr.rb +2 -2
- data/lib/fastlane/actions/hipchat.rb +36 -23
- data/lib/fastlane/actions/hockey.rb +37 -23
- data/lib/fastlane/actions/increment_build_number.rb +14 -19
- data/lib/fastlane/actions/increment_version_number.rb +42 -44
- data/lib/fastlane/actions/install_carthage.rb +1 -1
- data/lib/fastlane/actions/install_cocapods.rb +1 -1
- data/lib/fastlane/actions/ipa.rb +69 -47
- data/lib/fastlane/actions/notify.rb +1 -1
- data/lib/fastlane/actions/pem.rb +1 -1
- data/lib/fastlane/actions/produce.rb +3 -4
- data/lib/fastlane/actions/push_to_git_remote.rb +24 -14
- data/lib/fastlane/actions/register_devices.rb +23 -11
- data/lib/fastlane/actions/reset_git_repo.rb +13 -5
- data/lib/fastlane/actions/resign.rb +19 -16
- data/lib/fastlane/actions/s3.rb +56 -37
- data/lib/fastlane/actions/sigh.rb +1 -1
- data/lib/fastlane/actions/slack.rb +31 -13
- data/lib/fastlane/actions/snapshot.rb +13 -6
- data/lib/fastlane/actions/team_id.rb +1 -1
- data/lib/fastlane/actions/team_name.rb +1 -1
- data/lib/fastlane/actions/testmunk.rb +28 -14
- data/lib/fastlane/actions/typetalk.rb +1 -1
- data/lib/fastlane/actions/update_fastlane.rb +115 -0
- data/lib/fastlane/actions/update_project_code_signing.rb +22 -7
- data/lib/fastlane/actions/xcode_select.rb +1 -1
- data/lib/fastlane/actions/xcodebuild.rb +56 -12
- data/lib/fastlane/actions_list.rb +2 -2
- data/lib/fastlane/configuration_helper.rb +28 -0
- data/lib/fastlane/fast_file.rb +17 -0
- data/lib/fastlane/fastlane_folder.rb +3 -3
- data/lib/fastlane/setup.rb +11 -5
- data/lib/fastlane/version.rb +1 -1
- metadata +7 -5
data/lib/fastlane/actions/pem.rb
CHANGED
@@ -13,7 +13,7 @@ module Fastlane
|
|
13
13
|
values = params.first
|
14
14
|
|
15
15
|
begin
|
16
|
-
FastlaneCore::UpdateChecker.start_looking_for_update('pem')
|
16
|
+
FastlaneCore::UpdateChecker.start_looking_for_update('pem') unless Helper.is_test?
|
17
17
|
|
18
18
|
success_block = values[:new_profile]
|
19
19
|
values.delete(:new_profile) # as it's not in the configs
|
@@ -8,16 +8,15 @@ module Fastlane
|
|
8
8
|
def self.run(params)
|
9
9
|
require 'produce'
|
10
10
|
|
11
|
-
hash
|
12
|
-
raise 'Parameter of produce must be a hash'.red unless hash.is_a?(Hash)
|
11
|
+
raise 'Parameter of produce must be a hash'.red unless params.is_a?(Hash)
|
13
12
|
|
14
|
-
|
13
|
+
params.each do |key, value|
|
15
14
|
ENV[key.to_s.upcase] = value.to_s
|
16
15
|
end
|
17
16
|
|
18
17
|
return if Helper.test?
|
19
18
|
|
20
|
-
FastlaneCore::UpdateChecker.start_looking_for_update('produce')
|
19
|
+
FastlaneCore::UpdateChecker.start_looking_for_update('produce') unless Helper.is_test?
|
21
20
|
|
22
21
|
begin
|
23
22
|
Dir.chdir(FastlaneFolder.path || Dir.pwd) do
|
@@ -3,29 +3,26 @@ module Fastlane
|
|
3
3
|
# Adds a git tag to the current commit
|
4
4
|
class PushToGitRemoteAction < Action
|
5
5
|
def self.run(params)
|
6
|
-
|
7
|
-
|
8
|
-
remote = (options && options[:remote]) || 'origin'
|
9
|
-
force = (options && options[:force]) || false
|
10
|
-
local_branch = (options && (options[:local_branch] || options[:branch])) || Actions.git_branch.gsub(/#{remote}\//, '') || 'master'
|
11
|
-
remote_branch = (options && options[:remote_branch]) || local_branch
|
6
|
+
local_branch = params[:local_branch] || (Actions.git_branch.gsub(/#{params[:remote]}\//, '') rescue nil) || 'master'
|
7
|
+
remote_branch = params[:remote_branch] || local_branch
|
12
8
|
|
13
9
|
# construct our command as an array of components
|
14
10
|
command = [
|
15
11
|
'git',
|
16
12
|
'push',
|
17
|
-
remote,
|
13
|
+
params[:remote],
|
18
14
|
"#{local_branch}:#{remote_branch}",
|
19
15
|
'--tags'
|
20
16
|
]
|
21
17
|
|
22
18
|
# optionally add the force component
|
23
|
-
command << '--force' if force
|
19
|
+
command << '--force' if params[:force]
|
24
20
|
|
25
21
|
# execute our command
|
26
|
-
|
27
|
-
|
22
|
+
Actions.sh('pwd')
|
23
|
+
return command.join(' ') if Helper.is_test?
|
28
24
|
|
25
|
+
Actions.sh(command.join(' '))
|
29
26
|
Helper.log.info 'Sucesfully pushed to remote.'
|
30
27
|
end
|
31
28
|
|
@@ -35,10 +32,23 @@ module Fastlane
|
|
35
32
|
|
36
33
|
def self.available_options
|
37
34
|
[
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
35
|
+
FastlaneCore::ConfigItem.new(key: :local_branch,
|
36
|
+
env_name: "FL_GIT_PUSH_LOCAL_BRANCH",
|
37
|
+
description: "The local branch to push from. Defaults to the current branch",
|
38
|
+
optional: true),
|
39
|
+
FastlaneCore::ConfigItem.new(key: :remote_branch,
|
40
|
+
env_name: "FL_GIT_PUSH_REMOTE_BRANCH",
|
41
|
+
description: "The remote branch to push to. Defaults to the local branch",
|
42
|
+
optional: true),
|
43
|
+
FastlaneCore::ConfigItem.new(key: :force,
|
44
|
+
env_name: "FL_PUSH_GIT_FORCE",
|
45
|
+
description: "Force push to remote. Defaults to false",
|
46
|
+
is_string: false,
|
47
|
+
default_value: false),
|
48
|
+
FastlaneCore::ConfigItem.new(key: :remote,
|
49
|
+
env_name: "FL_GIT_PUSH_REMOTE",
|
50
|
+
description: "The remote to push to. Defaults to `origin`",
|
51
|
+
default_value: 'origin')
|
42
52
|
]
|
43
53
|
end
|
44
54
|
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'credentials_manager'
|
2
|
+
|
1
3
|
module Fastlane
|
2
4
|
module Actions
|
3
5
|
class RegisterDevicesAction < Action
|
@@ -9,17 +11,12 @@ module Fastlane
|
|
9
11
|
|
10
12
|
def self.run(params)
|
11
13
|
require 'cupertino/provisioning_portal'
|
12
|
-
require 'credentials_manager'
|
13
14
|
require 'csv'
|
14
15
|
|
15
|
-
params = params.first
|
16
|
-
|
17
|
-
raise 'You must pass valid params to the register_devices action. Please check the readme.'.red if (params.nil? || params.empty?)
|
18
|
-
|
19
16
|
devices = params[:devices]
|
20
17
|
devices_file = params[:devices_file]
|
21
|
-
team_id = params[:team_id]
|
22
|
-
username = params[:username]
|
18
|
+
team_id = params[:team_id]
|
19
|
+
username = params[:username]
|
23
20
|
|
24
21
|
if devices
|
25
22
|
device_objs = devices.map do |k, v|
|
@@ -69,10 +66,25 @@ module Fastlane
|
|
69
66
|
|
70
67
|
def self.available_options
|
71
68
|
[
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
69
|
+
FastlaneCore::ConfigItem.new(key: :devices,
|
70
|
+
env_name: "FL_REGISTER_DEVICES_DEVICES",
|
71
|
+
description: "A hash of devices, with the name as key and the UDID as value",
|
72
|
+
is_string: false),
|
73
|
+
FastlaneCore::ConfigItem.new(key: :devices_file,
|
74
|
+
env_name: "FL_REGISTER_DEVICES_FILE",
|
75
|
+
description: "Provide a path to the devices to register",
|
76
|
+
optional: true,
|
77
|
+
verify_block: Proc.new do |value|
|
78
|
+
raise "Could not find file '#{value}'".red unless File.exists?(value)
|
79
|
+
end),
|
80
|
+
FastlaneCore::ConfigItem.new(key: :team_id,
|
81
|
+
env_name: "FASTLANE_TEAM_ID",
|
82
|
+
description: "optional: Your team ",
|
83
|
+
optional: true),
|
84
|
+
FastlaneCore::ConfigItem.new(key: :username,
|
85
|
+
env_name: "CUPERTINO_USERNAME",
|
86
|
+
description: "optional: Your Apple ID ",
|
87
|
+
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:apple_id)),
|
76
88
|
]
|
77
89
|
end
|
78
90
|
|
@@ -3,9 +3,8 @@ module Fastlane
|
|
3
3
|
# Does a hard reset and clean on the repo
|
4
4
|
class ResetGitRepoAction < Action
|
5
5
|
def self.run(params)
|
6
|
-
|
7
|
-
|
8
|
-
paths = (hash[:files] rescue nil)
|
6
|
+
if params[:force] || params[:force] || Actions.lane_context[SharedValues::GIT_REPO_WAS_CLEAN_ON_START]
|
7
|
+
paths = (params[:files] rescue nil)
|
9
8
|
|
10
9
|
if (paths || []).count == 0
|
11
10
|
Actions.sh('git reset --hard HEAD')
|
@@ -37,8 +36,17 @@ module Fastlane
|
|
37
36
|
|
38
37
|
def self.available_options
|
39
38
|
[
|
40
|
-
|
41
|
-
|
39
|
+
FastlaneCore::ConfigItem.new(key: :files,
|
40
|
+
env_name: "FL_RESET_GIT_FILES",
|
41
|
+
description: "Array of files the changes should be discarded from. If not given, all files will be discarded",
|
42
|
+
verify_block: Proc.new do |value|
|
43
|
+
raise "Please pass an array only" unless value.kind_of?Array
|
44
|
+
end),
|
45
|
+
FastlaneCore::ConfigItem.new(key: :force,
|
46
|
+
env_name: "FL_RESET_GIT_FORCE",
|
47
|
+
description: "Skip verifying of previously clean state of repo. Only recommended in combination with `files` option",
|
48
|
+
is_string: false,
|
49
|
+
default_value: false),
|
42
50
|
]
|
43
51
|
end
|
44
52
|
|
@@ -5,20 +5,9 @@ module Fastlane
|
|
5
5
|
def self.run(params)
|
6
6
|
require 'sigh'
|
7
7
|
|
8
|
-
params = params.first
|
9
|
-
|
10
|
-
raise 'You must pass valid params to the resign action. Please check the README.md'.red if (params.nil? || params.empty?)
|
11
|
-
|
12
|
-
ipa = params[:ipa] || Actions.lane_context[SharedValues::IPA_OUTPUT_PATH]
|
13
|
-
signing_identity = params[:signing_identity]
|
14
|
-
provisioning_profile = params[:provisioning_profile] || Actions.lane_context[SharedValues::SIGH_PROFILE_PATH]
|
15
|
-
|
16
|
-
raise 'Please pass a valid ipa which should be a path to an ipa on disk'.red unless ipa
|
17
|
-
raise 'Please pass a valid signing_identity'.red unless signing_identity
|
18
|
-
raise 'Please pass a valid provisioning_profile which should be a path to a profile on disk.'.red unless provisioning_profile
|
19
8
|
|
20
9
|
# try to resign the ipa
|
21
|
-
if Sigh::Resign.resign(ipa, signing_identity, provisioning_profile)
|
10
|
+
if Sigh::Resign.resign(params[:ipa], params[:signing_identity], params[:provisioning_profile])
|
22
11
|
Helper.log.info 'Successfully re-signed .ipa 🔏.'.green
|
23
12
|
else
|
24
13
|
raise 'Failed to re-sign .ipa'.red
|
@@ -26,14 +15,28 @@ module Fastlane
|
|
26
15
|
end
|
27
16
|
|
28
17
|
def self.description
|
29
|
-
"
|
18
|
+
"Codesign an existing ipa file"
|
30
19
|
end
|
31
20
|
|
32
21
|
def self.available_options
|
33
22
|
[
|
34
|
-
|
35
|
-
|
36
|
-
|
23
|
+
FastlaneCore::ConfigItem.new(key: :ipa,
|
24
|
+
env_name: "FL_RESIGN_IPA",
|
25
|
+
description: "Path to the ipa file to resign. Optional if you use the `ipa` or `xcodebuild` action",
|
26
|
+
default_value: Actions.lane_context[SharedValues::IPA_OUTPUT_PATH],
|
27
|
+
verify_block: Proc.new do |value|
|
28
|
+
raise "No IPA file given or found, pass using `ipa_path: 'path/app.ipa'`".red unless File.exists?(value)
|
29
|
+
end),
|
30
|
+
FastlaneCore::ConfigItem.new(key: :signing_identity,
|
31
|
+
env_name: "FL_RESIGN_SIGNING_IDENTITY",
|
32
|
+
description: "Code signing identity to use. e.g. \"iPhone Distribution: Luka Mirosevic (0123456789)\""),
|
33
|
+
FastlaneCore::ConfigItem.new(key: :provisioning_profile,
|
34
|
+
env_name: "FL_RESIGN_PROVISIONING_PROFILE",
|
35
|
+
description: "Path to your provisioning_profile. Optional if you use `sigh`",
|
36
|
+
default_value: Actions.lane_context[SharedValues::SIGH_PROFILE_PATH],
|
37
|
+
verify_block: Proc.new do |value|
|
38
|
+
raise "No provisioning_profile file given or found, pass using `provisioning_profile: 'path/app.mobileprovision'`".red unless File.exists?(value)
|
39
|
+
end)
|
37
40
|
]
|
38
41
|
end
|
39
42
|
|
data/lib/fastlane/actions/s3.rb
CHANGED
@@ -12,18 +12,6 @@ module Fastlane
|
|
12
12
|
S3_HTML_OUTPUT_PATH = :S3_HTML_OUTPUT_PATH
|
13
13
|
end
|
14
14
|
|
15
|
-
# -f, --file FILE .ipa file for the build
|
16
|
-
# -d, --dsym FILE zipped .dsym package for the build
|
17
|
-
# -a, --access-key-id ACCESS_KEY_ID AWS Access Key ID
|
18
|
-
# -s, --secret-access-key SECRET_ACCESS_KEY AWS Secret Access Key
|
19
|
-
# -b, --bucket BUCKET S3 bucket
|
20
|
-
# --[no-]create Create bucket if it doesn't already exist
|
21
|
-
# -r, --region REGION Optional AWS region (for bucket creation)
|
22
|
-
# --acl ACL Uploaded object permissions e.g public_read (default), private, public_read_write, authenticated_read
|
23
|
-
# --source-dir SOURCE Optional source directory e.g. ./build
|
24
|
-
# -P, --path PATH S3 'path'. Values from Info.plist will be substituded for keys wrapped in {}
|
25
|
-
# eg. "/path/to/folder/{CFBundleVersion}/" could be evaluated as "/path/to/folder/1.0.0/"
|
26
|
-
|
27
15
|
S3_ARGS_MAP = {
|
28
16
|
ipa: '-f',
|
29
17
|
dsym: '-d',
|
@@ -37,23 +25,19 @@ module Fastlane
|
|
37
25
|
}
|
38
26
|
|
39
27
|
class S3Action < Action
|
40
|
-
def self.run(
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
params =
|
49
|
-
|
50
|
-
params[:
|
51
|
-
params[:
|
52
|
-
params[:
|
53
|
-
params[:region] ||= ENV['S3_REGION'] || ENV['AWS_REGION']
|
54
|
-
params[:ipa] ||= Actions.lane_context[SharedValues::IPA_OUTPUT_PATH]
|
55
|
-
params[:dsym] ||= Actions.lane_context[SharedValues::DSYM_OUTPUT_PATH]
|
56
|
-
params[:path] ||= 'v{CFBundleShortVersionString}_b{CFBundleVersion}/'
|
28
|
+
def self.run(config)
|
29
|
+
|
30
|
+
# Calling fetch on config so that default values will be used
|
31
|
+
params = {}
|
32
|
+
params[:ipa] = config[:ipa]
|
33
|
+
params[:dsym] = config[:dsym]
|
34
|
+
params[:access_key] = config[:access_key]
|
35
|
+
params[:secret_access_key] = config[:secret_access_key]
|
36
|
+
params[:bucket] = config[:bucket]
|
37
|
+
params[:region] = config[:region]
|
38
|
+
params[:acl] = config[:acl]
|
39
|
+
params[:source] = config[:source]
|
40
|
+
params[:path] = config[:path]
|
57
41
|
|
58
42
|
# Maps nice developer build parameters to Shenzhen args
|
59
43
|
build_args = params_to_build_args(params)
|
@@ -247,14 +231,49 @@ module Fastlane
|
|
247
231
|
|
248
232
|
def self.available_options
|
249
233
|
[
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
234
|
+
FastlaneCore::ConfigItem.new(key: :ipa,
|
235
|
+
env_name: "",
|
236
|
+
description: ".ipa file for the build ",
|
237
|
+
optional: true,
|
238
|
+
default_value: Actions.lane_context[SharedValues::IPA_OUTPUT_PATH]),
|
239
|
+
FastlaneCore::ConfigItem.new(key: :dsym,
|
240
|
+
env_name: "",
|
241
|
+
description: "zipped .dsym package for the build ",
|
242
|
+
optional: true,
|
243
|
+
default_value: Actions.lane_context[SharedValues::DSYM_OUTPUT_PATH]),
|
244
|
+
FastlaneCore::ConfigItem.new(key: :access_key,
|
245
|
+
env_name: "S3_ACCESS_KEY",
|
246
|
+
description: "AWS Access Key ID ",
|
247
|
+
optional: true,
|
248
|
+
default_value: ENV['AWS_ACCESS_KEY_ID']),
|
249
|
+
FastlaneCore::ConfigItem.new(key: :secret_access_key,
|
250
|
+
env_name: "S3_SECRET_ACCESS_KEY",
|
251
|
+
description: "AWS Secret Access Key ",
|
252
|
+
optional: true,
|
253
|
+
default_value: ENV['AWS_SECRET_ACCESS_KEY']),
|
254
|
+
FastlaneCore::ConfigItem.new(key: :bucket,
|
255
|
+
env_name: "S3_BUCKET",
|
256
|
+
description: "AWS bucket name",
|
257
|
+
optional: true,
|
258
|
+
default_value: ENV['AWS_BUCKET_NAME']),
|
259
|
+
FastlaneCore::ConfigItem.new(key: :region,
|
260
|
+
env_name: "S3_REGION",
|
261
|
+
description: "AWS region (for bucket creation) ",
|
262
|
+
optional: true,
|
263
|
+
default_value: ENV['AWS_REGION']),
|
264
|
+
FastlaneCore::ConfigItem.new(key: :path,
|
265
|
+
env_name: "S3_PATH",
|
266
|
+
description: "S3 'path'. Values from Info.plist will be substituded for keys wrapped in {} ",
|
267
|
+
optional: true,
|
268
|
+
default_value: 'v{CFBundleShortVersionString}_b{CFBundleVersion}/'),
|
269
|
+
FastlaneCore::ConfigItem.new(key: :source,
|
270
|
+
env_name: "S3_SOURCE",
|
271
|
+
description: "Optional source directory e.g. ./build ",
|
272
|
+
optional: true),
|
273
|
+
FastlaneCore::ConfigItem.new(key: :acl,
|
274
|
+
env_name: "S3_ACL",
|
275
|
+
description: "Uploaded object permissions e.g public_read (default), private, public_read_write, authenticated_read ",
|
276
|
+
optional: true,),
|
258
277
|
]
|
259
278
|
end
|
260
279
|
|
@@ -23,7 +23,7 @@ module Fastlane
|
|
23
23
|
end
|
24
24
|
|
25
25
|
begin
|
26
|
-
FastlaneCore::UpdateChecker.start_looking_for_update('sigh')
|
26
|
+
FastlaneCore::UpdateChecker.start_looking_for_update('sigh') unless Helper.is_test?
|
27
27
|
|
28
28
|
Sigh.config = FastlaneCore::Configuration.create(Sigh::Options.available_options, (values || {}))
|
29
29
|
|
@@ -30,17 +30,10 @@ module Fastlane
|
|
30
30
|
message
|
31
31
|
end
|
32
32
|
|
33
|
-
def self.run(
|
34
|
-
options = { message: '',
|
35
|
-
success: true,
|
36
|
-
channel: nil,
|
37
|
-
payload: {}
|
38
|
-
}.merge(params.first || {})
|
39
|
-
|
33
|
+
def self.run(options)
|
40
34
|
require 'slack-notifier'
|
41
35
|
|
42
36
|
options[:message] = self.trim_message(options[:message].to_s || '')
|
43
|
-
|
44
37
|
options[:message] = Slack::Notifier::LinkFormatter.format(options[:message])
|
45
38
|
|
46
39
|
url = ENV['SLACK_URL']
|
@@ -79,11 +72,36 @@ module Fastlane
|
|
79
72
|
|
80
73
|
def self.available_options
|
81
74
|
[
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
75
|
+
FastlaneCore::ConfigItem.new(key: :message,
|
76
|
+
env_name: "FL_SLACK_MESSAGE",
|
77
|
+
description: "The message that should be displayed on Slack. This supports the standard Slack markup language",
|
78
|
+
optional: true),
|
79
|
+
FastlaneCore::ConfigItem.new(key: :channel,
|
80
|
+
env_name: "FL_SLACK_CHANNEL",
|
81
|
+
description: "#channel or @username",
|
82
|
+
optional: true),
|
83
|
+
FastlaneCore::ConfigItem.new(key: :slack_url,
|
84
|
+
env_name: "SLACK_URL",
|
85
|
+
description: "Create an Incoming WebHook for your Slack group",
|
86
|
+
verify_block: Proc.new do |value|
|
87
|
+
raise "Invalid URL, must start with https://" unless value.start_with?"https://"
|
88
|
+
end),
|
89
|
+
FastlaneCore::ConfigItem.new(key: :payload,
|
90
|
+
env_name: "FL_SLACK_PAYLOAD",
|
91
|
+
description: "Add additional information to this post. payload must be a hash containg any key with any value",
|
92
|
+
default_value: {},
|
93
|
+
is_string: false),
|
94
|
+
FastlaneCore::ConfigItem.new(key: :default_payloads,
|
95
|
+
env_name: "FL_SLACK_DEFAULT_PAYLOADS",
|
96
|
+
description: "Remove some of the default payloads. More information about the available payloads on GitHub",
|
97
|
+
optional: true,
|
98
|
+
is_string: false),
|
99
|
+
FastlaneCore::ConfigItem.new(key: :success,
|
100
|
+
env_name: "FL_SLACK_SUCCESS",
|
101
|
+
description: "Was this build successful? (true/false)",
|
102
|
+
optional: true,
|
103
|
+
default_value: true,
|
104
|
+
is_string: false),
|
87
105
|
]
|
88
106
|
end
|
89
107
|
|
@@ -6,9 +6,8 @@ module Fastlane
|
|
6
6
|
|
7
7
|
class SnapshotAction < Action
|
8
8
|
def self.run(params)
|
9
|
-
|
10
|
-
clean =
|
11
|
-
$verbose = true if params.include?(:verbose)
|
9
|
+
$verbose = true if params[:verbose]
|
10
|
+
clean = !params[:noclean]
|
12
11
|
|
13
12
|
if Helper.test?
|
14
13
|
Actions.lane_context[SharedValues::SNAPSHOT_SCREENSHOTS_PATH] = Dir.pwd
|
@@ -17,7 +16,7 @@ module Fastlane
|
|
17
16
|
|
18
17
|
require 'snapshot'
|
19
18
|
|
20
|
-
FastlaneCore::UpdateChecker.start_looking_for_update('snapshot')
|
19
|
+
FastlaneCore::UpdateChecker.start_looking_for_update('snapshot') unless Helper.is_test?
|
21
20
|
|
22
21
|
begin
|
23
22
|
Dir.chdir(FastlaneFolder.path) do
|
@@ -39,8 +38,16 @@ module Fastlane
|
|
39
38
|
|
40
39
|
def self.available_options
|
41
40
|
[
|
42
|
-
|
43
|
-
|
41
|
+
FastlaneCore::ConfigItem.new(key: :noclean,
|
42
|
+
env_name: "FL_SNAPSHOT_NO_CLEAN",
|
43
|
+
description: "Skips the clean process when building the app",
|
44
|
+
is_string: false,
|
45
|
+
default_value: false),
|
46
|
+
FastlaneCore::ConfigItem.new(key: :verbose,
|
47
|
+
env_name: "FL_SNAPSHOT_VERBOSE",
|
48
|
+
description: "Print out the UI Automation output",
|
49
|
+
is_string: false,
|
50
|
+
default_value: false)
|
44
51
|
]
|
45
52
|
end
|
46
53
|
|