fastlane 0.11.0 → 0.12.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
|