fastlane 1.20.0 → 1.21.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/fastlane +16 -16
- data/lib/assets/custom_action_template.rb +2 -2
- data/lib/fastlane.rb +1 -0
- data/lib/fastlane/action.rb +5 -6
- data/lib/fastlane/action_collector.rb +6 -6
- data/lib/fastlane/actions/actions_helper.rb +12 -74
- data/lib/fastlane/actions/add_git_tag.rb +2 -2
- data/lib/fastlane/actions/appstore.rb +2 -2
- data/lib/fastlane/actions/backup_file.rb +2 -2
- data/lib/fastlane/actions/backup_xcarchive.rb +11 -12
- data/lib/fastlane/actions/bundle_install.rb +5 -1
- data/lib/fastlane/actions/chatwork.rb +12 -12
- data/lib/fastlane/actions/clean_build_artifacts.rb +4 -6
- data/lib/fastlane/actions/clipboard.rb +1 -1
- data/lib/fastlane/actions/commit_version_bump.rb +35 -10
- data/lib/fastlane/actions/crashlytics.rb +26 -26
- data/lib/fastlane/actions/create_keychain.rb +6 -6
- data/lib/fastlane/actions/default_platform.rb +1 -1
- data/lib/fastlane/actions/delete_keychain.rb +3 -3
- data/lib/fastlane/actions/deliver.rb +3 -3
- data/lib/fastlane/actions/deploygate.rb +19 -18
- data/lib/fastlane/actions/dsym_zip.rb +7 -9
- data/lib/fastlane/actions/ensure_git_branch.rb +2 -3
- data/lib/fastlane/actions/ensure_no_debug_code.rb +8 -8
- data/lib/fastlane/actions/fastlane_version.rb +4 -2
- data/lib/fastlane/actions/frameit.rb +7 -7
- data/lib/fastlane/actions/gcovr.rb +5 -4
- data/lib/fastlane/actions/get_build_number.rb +27 -30
- data/lib/fastlane/actions/get_github_release.rb +11 -11
- data/lib/fastlane/actions/get_version_number.rb +28 -30
- data/lib/fastlane/actions/git_branch.rb +1 -2
- data/lib/fastlane/actions/gym.rb +2 -2
- data/lib/fastlane/actions/hg_commit_version_bump.rb +28 -6
- data/lib/fastlane/actions/hg_push.rb +0 -1
- data/lib/fastlane/actions/hipchat.rb +20 -20
- data/lib/fastlane/actions/hockey.rb +16 -17
- data/lib/fastlane/actions/import.rb +1 -2
- data/lib/fastlane/actions/import_certificate.rb +1 -1
- data/lib/fastlane/actions/import_from_git.rb +6 -2
- data/lib/fastlane/actions/increment_build_number.rb +25 -28
- data/lib/fastlane/actions/increment_version_number.rb +55 -57
- data/lib/fastlane/actions/install_carthage.rb +10 -11
- data/lib/fastlane/actions/install_cocoapods.rb +3 -3
- data/lib/fastlane/actions/ipa.rb +8 -6
- data/lib/fastlane/actions/is_ci.rb +37 -0
- data/lib/fastlane/actions/lane_context.rb +2 -2
- data/lib/fastlane/actions/last_git_tag.rb +1 -1
- data/lib/fastlane/actions/lcov.rb +28 -31
- data/lib/fastlane/actions/mailgun.rb +11 -42
- data/lib/fastlane/actions/oclint.rb +10 -13
- data/lib/fastlane/actions/pem.rb +2 -2
- data/lib/fastlane/actions/pilot.rb +4 -2
- data/lib/fastlane/actions/prompt.rb +6 -6
- data/lib/fastlane/actions/push_git_tags.rb +38 -0
- data/lib/fastlane/actions/push_to_git_remote.rb +4 -1
- data/lib/fastlane/actions/puts.rb +1 -1
- data/lib/fastlane/actions/register_devices.rb +4 -3
- data/lib/fastlane/actions/reset_git_repo.rb +6 -6
- data/lib/fastlane/actions/resign.rb +4 -5
- data/lib/fastlane/actions/restore_file.rb +2 -2
- data/lib/fastlane/actions/s3.rb +19 -22
- data/lib/fastlane/actions/set_build_number_repository.rb +26 -36
- data/lib/fastlane/actions/set_changelog.rb +4 -4
- data/lib/fastlane/actions/set_github_release.rb +10 -11
- data/lib/fastlane/actions/sigh.rb +1 -1
- data/lib/fastlane/actions/slack.rb +85 -74
- data/lib/fastlane/actions/snapshot.rb +2 -2
- data/lib/fastlane/actions/team_id.rb +2 -1
- data/lib/fastlane/actions/team_name.rb +2 -1
- data/lib/fastlane/actions/testflight.rb +2 -2
- data/lib/fastlane/actions/testmunk.rb +16 -16
- data/lib/fastlane/actions/typetalk.rb +14 -14
- data/lib/fastlane/actions/update_app_group_identifiers.rb +17 -17
- data/lib/fastlane/actions/update_fastlane.rb +16 -14
- data/lib/fastlane/actions/update_info_plist.rb +14 -16
- data/lib/fastlane/actions/update_project_code_signing.rb +3 -3
- data/lib/fastlane/actions/update_project_provisioning.rb +48 -36
- data/lib/fastlane/actions/xcode_select.rb +4 -3
- data/lib/fastlane/actions/xcode_server_get_assets.rb +23 -24
- data/lib/fastlane/actions/xcodebuild.rb +13 -13
- data/lib/fastlane/actions/xctool.rb +2 -2
- data/lib/fastlane/actions_list.rb +27 -29
- data/lib/fastlane/command_line_handler.rb +13 -14
- data/lib/fastlane/configuration_helper.rb +18 -20
- data/lib/fastlane/core_ext/string.rb +2 -2
- data/lib/fastlane/docs_generator.rb +33 -32
- data/lib/fastlane/erb_template_helper.rb +1 -1
- data/lib/fastlane/fast_file.rb +27 -18
- data/lib/fastlane/fastlane_folder.rb +1 -1
- data/lib/fastlane/helper/git_helper.rb +27 -0
- data/lib/fastlane/helper/sh_helper.rb +48 -0
- data/lib/fastlane/junit_generator.rb +1 -1
- data/lib/fastlane/lane.rb +6 -6
- data/lib/fastlane/lane_list.rb +12 -13
- data/lib/fastlane/lane_manager.rb +17 -11
- data/lib/fastlane/new_action.rb +1 -1
- data/lib/fastlane/runner.rb +23 -24
- data/lib/fastlane/setup.rb +16 -17
- data/lib/fastlane/supported_platforms.rb +2 -2
- data/lib/fastlane/version.rb +1 -1
- metadata +16 -12
@@ -4,7 +4,7 @@ module Fastlane
|
|
4
4
|
def self.run(params)
|
5
5
|
cmd = []
|
6
6
|
|
7
|
-
cmd << ['bundle exec'] if File.
|
7
|
+
cmd << ['bundle exec'] if File.exist?('Gemfile') && params[:use_bundle_exec]
|
8
8
|
cmd << ['pod install']
|
9
9
|
|
10
10
|
cmd << '--no-clean' unless params[:clean]
|
@@ -51,12 +51,12 @@ module Fastlane
|
|
51
51
|
env_name: "FL_COCOAPODS_USE_BUNDLE_EXEC",
|
52
52
|
description: "Use bundle exec when there is a Gemfile presented",
|
53
53
|
is_string: false,
|
54
|
-
default_value: true)
|
54
|
+
default_value: true)
|
55
55
|
]
|
56
56
|
end
|
57
57
|
|
58
58
|
def self.is_supported?(platform)
|
59
|
-
[:ios, :mac].include?platform
|
59
|
+
[:ios, :mac].include? platform
|
60
60
|
end
|
61
61
|
|
62
62
|
def self.authors
|
data/lib/fastlane/actions/ipa.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# rubocop:disable Lint/AssignmentInCondition
|
2
|
+
# rubocop:disable Style/Next
|
1
3
|
module Fastlane
|
2
4
|
module Actions
|
3
5
|
ARGS_MAP = {
|
@@ -23,9 +25,6 @@ module Fastlane
|
|
23
25
|
end
|
24
26
|
|
25
27
|
def self.run(params)
|
26
|
-
# The args we will build with
|
27
|
-
build_args = nil
|
28
|
-
|
29
28
|
# The output directory of the IPA and dSYM
|
30
29
|
absolute_dest_directory = nil
|
31
30
|
|
@@ -34,10 +33,11 @@ module Fastlane
|
|
34
33
|
absolute_dest_directory = File.expand_path(dest)
|
35
34
|
end
|
36
35
|
|
36
|
+
# The args we will build with
|
37
37
|
# Maps nice developer build parameters to Shenzhen args
|
38
38
|
build_args = params_to_build_args(params)
|
39
39
|
|
40
|
-
unless
|
40
|
+
unless params[:scheme]
|
41
41
|
Helper.log.warn "You haven't specified a scheme. This might cause problems. If you can't see any output, please pass a `scheme`"
|
42
42
|
end
|
43
43
|
|
@@ -101,7 +101,7 @@ module Fastlane
|
|
101
101
|
# Maps nice developer param names to Shenzhen's `ipa build` arguments
|
102
102
|
params.collect do |k, v|
|
103
103
|
v ||= ''
|
104
|
-
if
|
104
|
+
if ARGS_MAP[k]
|
105
105
|
if k == :clean
|
106
106
|
v == true ? '--clean' : '--no-clean'
|
107
107
|
elsif k == :archive
|
@@ -196,7 +196,7 @@ module Fastlane
|
|
196
196
|
FastlaneCore::ConfigItem.new(key: :xcargs,
|
197
197
|
env_name: "IPA_XCARGS",
|
198
198
|
description: "Pass additional arguments to xcodebuild when building the app. Be sure to quote multiple args",
|
199
|
-
optional: true)
|
199
|
+
optional: true)
|
200
200
|
]
|
201
201
|
end
|
202
202
|
|
@@ -213,3 +213,5 @@ module Fastlane
|
|
213
213
|
end
|
214
214
|
end
|
215
215
|
end
|
216
|
+
# rubocop:enable Lint/AssignmentInCondition
|
217
|
+
# rubocop:enable Style/Next
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module Fastlane
|
2
|
+
module Actions
|
3
|
+
class IsCiAction < Action
|
4
|
+
def self.run(params)
|
5
|
+
Helper.is_ci?
|
6
|
+
end
|
7
|
+
|
8
|
+
#####################################################
|
9
|
+
# @!group Documentation
|
10
|
+
#####################################################
|
11
|
+
|
12
|
+
def self.description
|
13
|
+
"Is the current run being executed on a CI system, like Jenkins or Travis"
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.details
|
17
|
+
[
|
18
|
+
"The return value of this method is true if fastlane is currently executed on",
|
19
|
+
"Travis, Jenkins, Circle or a similar CI service"
|
20
|
+
].join("\n")
|
21
|
+
end
|
22
|
+
|
23
|
+
def self.available_options
|
24
|
+
[]
|
25
|
+
end
|
26
|
+
|
27
|
+
def self.authors
|
28
|
+
# So no one will ever forget your contribution to fastlane :) You are awesome btw!
|
29
|
+
["KrauseFx"]
|
30
|
+
end
|
31
|
+
|
32
|
+
def self.is_supported?(platform)
|
33
|
+
true
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -35,7 +35,6 @@ module Fastlane
|
|
35
35
|
is_string: true,
|
36
36
|
default_value: "coverage_reports")
|
37
37
|
|
38
|
-
|
39
38
|
]
|
40
39
|
end
|
41
40
|
|
@@ -43,45 +42,43 @@ module Fastlane
|
|
43
42
|
"thiagolioy"
|
44
43
|
end
|
45
44
|
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
output_dir = options[:output_dir]
|
51
|
-
derived_data_path = derived_data_dir(options)
|
45
|
+
def self.gen_cov(options)
|
46
|
+
tmp_cov_file = "/tmp/coverage.info"
|
47
|
+
output_dir = options[:output_dir]
|
48
|
+
derived_data_path = derived_data_dir(options)
|
52
49
|
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
50
|
+
system("lcov --capture --directory \"#{derived_data_path}\" --output-file #{tmp_cov_file}")
|
51
|
+
system(gen_lcov_cmd(tmp_cov_file))
|
52
|
+
system("genhtml #{tmp_cov_file} --output-directory #{output_dir}")
|
53
|
+
end
|
57
54
|
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
end
|
63
|
-
cmd << "--output #{cov_file} "
|
55
|
+
def self.gen_lcov_cmd(cov_file)
|
56
|
+
cmd = "lcov "
|
57
|
+
exclude_dirs.each do |e|
|
58
|
+
cmd << "--remove #{cov_file} \"#{e}\" "
|
64
59
|
end
|
60
|
+
cmd << "--output #{cov_file} "
|
61
|
+
end
|
65
62
|
|
66
|
-
|
67
|
-
|
68
|
-
|
63
|
+
def self.derived_data_dir(options)
|
64
|
+
pn = options[:project_name]
|
65
|
+
sc = options[:scheme]
|
69
66
|
|
70
|
-
|
71
|
-
|
67
|
+
initial_path = "#{Dir.home}/Library/Developer/Xcode/DerivedData/"
|
68
|
+
end_path = "/Build/Intermediates/#{pn}.build/Debug-iphonesimulator/#{sc}.build/Objects-normal/i386/"
|
72
69
|
|
73
|
-
|
70
|
+
match = find_project_dir(pn, initial_path)
|
74
71
|
|
75
|
-
|
76
|
-
|
72
|
+
"#{initial_path}#{match}#{end_path}"
|
73
|
+
end
|
77
74
|
|
78
|
-
|
79
|
-
|
80
|
-
|
75
|
+
def self.find_project_dir(project_name, path)
|
76
|
+
`ls -t #{path}| grep #{project_name} | head -1`.to_s.gsub(/\n/, "")
|
77
|
+
end
|
81
78
|
|
82
|
-
|
83
|
-
|
84
|
-
|
79
|
+
def self.exclude_dirs
|
80
|
+
["/Applications/*", "/Frameworks/*"]
|
81
|
+
end
|
85
82
|
|
86
83
|
end
|
87
84
|
end
|
@@ -11,7 +11,6 @@ module Fastlane
|
|
11
11
|
def self.run(options)
|
12
12
|
require 'rest_client'
|
13
13
|
handle_params_transition(options)
|
14
|
-
handle_exceptions(options)
|
15
14
|
mailgunit(options)
|
16
15
|
end
|
17
16
|
|
@@ -21,17 +20,17 @@ module Fastlane
|
|
21
20
|
|
22
21
|
def self.available_options
|
23
22
|
[
|
24
|
-
#This is here just for while due to the transition, not needed anymore
|
23
|
+
# This is here just for while due to the transition, not needed anymore
|
25
24
|
FastlaneCore::ConfigItem.new(key: :mailgun_sandbox_domain,
|
26
25
|
env_name: "MAILGUN_SANDBOX_POSTMASTER",
|
27
26
|
optional: true,
|
28
27
|
description: "Mailgun sandbox domain postmaster for your mail. Please use postmaster instead"),
|
29
|
-
#This is here just for while due to the transition, should use postmaster instead
|
28
|
+
# This is here just for while due to the transition, should use postmaster instead
|
30
29
|
FastlaneCore::ConfigItem.new(key: :mailgun_sandbox_postmaster,
|
31
30
|
env_name: "MAILGUN_SANDBOX_POSTMASTER",
|
32
31
|
optional: true,
|
33
32
|
description: "Mailgun sandbox domain postmaster for your mail. Please use postmaster instead"),
|
34
|
-
#This is here just for while due to the transition, should use apikey instead
|
33
|
+
# This is here just for while due to the transition, should use apikey instead
|
35
34
|
FastlaneCore::ConfigItem.new(key: :mailgun_apikey,
|
36
35
|
env_name: "MAILGUN_APIKEY",
|
37
36
|
optional: true,
|
@@ -72,7 +71,6 @@ module Fastlane
|
|
72
71
|
optional: true,
|
73
72
|
is_string: true)
|
74
73
|
|
75
|
-
|
76
74
|
]
|
77
75
|
end
|
78
76
|
|
@@ -80,53 +78,24 @@ module Fastlane
|
|
80
78
|
"thiagolioy"
|
81
79
|
end
|
82
80
|
|
83
|
-
private
|
84
81
|
def self.handle_params_transition(options)
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
options[:apikey] = options[:mailgun_apikey] if options[:mailgun_apikey]
|
89
|
-
puts "\nUsing :mailgun_apikey is deprecated, please change to :apikey".yellow
|
90
|
-
end
|
91
|
-
|
92
|
-
def self.handle_exceptions(options)
|
93
|
-
unless (options[:apikey] rescue nil)
|
94
|
-
Helper.log.fatal "Please add 'ENV[\"MAILGUN_APIKEY\"] = \"a_valid_mailgun_apikey\"' to your Fastfile's `before_all` section.".red
|
95
|
-
raise 'No MAILGUN_APIKEY given.'.red
|
96
|
-
end
|
82
|
+
options[:postmaster] = options[:mailgun_sandbox_postmaster] if options[:mailgun_sandbox_postmaster]
|
83
|
+
puts "\nUsing :mailgun_sandbox_postmaster is deprecated, please change to :postmaster".yellow
|
97
84
|
|
98
|
-
|
99
|
-
|
100
|
-
raise 'No MAILGUN_SANDBOX_POSTMASTER given.'.red
|
101
|
-
end
|
102
|
-
|
103
|
-
unless (options[:to] rescue nil)
|
104
|
-
Helper.log.fatal "Please provide a valid :to = \"a_valid_mailgun_to\"".red
|
105
|
-
raise 'No MAILGUN_TO given.'.red
|
106
|
-
end
|
107
|
-
|
108
|
-
unless (options[:message] rescue nil)
|
109
|
-
Helper.log.fatal "Please provide a valid :message = \"a_valid_mailgun_text\"".red
|
110
|
-
raise 'No MAILGUN_MESSAGE given.'.red
|
111
|
-
end
|
112
|
-
|
113
|
-
unless (options[:app_link] rescue nil)
|
114
|
-
Helper.log.fatal "Please provide a valid :app_link = \"a_valid_mailgun_app_link\"".red
|
115
|
-
raise 'No MAILGUN_APP_LINK given.'.red
|
116
|
-
end
|
85
|
+
options[:apikey] = options[:mailgun_apikey] if options[:mailgun_apikey]
|
86
|
+
puts "\nUsing :mailgun_apikey is deprecated, please change to :apikey".yellow
|
117
87
|
end
|
118
88
|
|
119
89
|
def self.mailgunit(options)
|
120
90
|
sandbox_domain = options[:postmaster].split("@").last
|
121
91
|
RestClient.post "https://api:#{options[:apikey]}@api.mailgun.net/v3/#{sandbox_domain}/messages",
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
92
|
+
from: "Mailgun Sandbox<#{options[:postmaster]}>",
|
93
|
+
to: "#{options[:to]}",
|
94
|
+
subject: options[:subject],
|
95
|
+
html: mail_teplate(options)
|
126
96
|
mail_teplate(options)
|
127
97
|
end
|
128
98
|
|
129
|
-
|
130
99
|
def self.mail_teplate(options)
|
131
100
|
hash = {
|
132
101
|
author: Actions.git_author,
|
@@ -6,17 +6,16 @@ module Fastlane
|
|
6
6
|
|
7
7
|
class OclintAction < Action
|
8
8
|
def self.run(params)
|
9
|
-
|
10
9
|
select_reqex = params[:select_reqex]
|
11
|
-
|
10
|
+
|
12
11
|
compile_commands = params[:compile_commands]
|
13
|
-
raise "Could not find json compilation database at path '#{compile_commands}'".red unless File.
|
14
|
-
|
12
|
+
raise "Could not find json compilation database at path '#{compile_commands}'".red unless File.exist?(compile_commands)
|
13
|
+
|
15
14
|
files = JSON.parse(File.read(compile_commands)).map { |compile_command| compile_command['file'] }
|
16
15
|
files.uniq!
|
17
16
|
files.select! do |file|
|
18
17
|
file_ruby = file.gsub('\ ', ' ')
|
19
|
-
File.
|
18
|
+
File.exist?(file_ruby) and (!select_reqex or file_ruby =~ select_reqex)
|
20
19
|
end
|
21
20
|
|
22
21
|
command_prefix = [
|
@@ -24,30 +23,28 @@ module Fastlane
|
|
24
23
|
File.expand_path('.').shellescape,
|
25
24
|
'&&'
|
26
25
|
].join(' ')
|
27
|
-
|
26
|
+
|
28
27
|
report_type = params[:report_type]
|
29
28
|
report_path = params[:report_path] ? params[:report_path] : 'oclint_report.' + report_type
|
30
|
-
|
29
|
+
|
31
30
|
oclint_args = ["-report-type=#{report_type}", "-o=#{report_path}"]
|
32
31
|
oclint_args << "-rc=#{params[:rc]}" if params[:rc]
|
33
32
|
oclint_args << "-max-priority-1=#{params[:max_priority_1]}" if params[:max_priority_1]
|
34
33
|
oclint_args << "-max-priority-2=#{params[:max_priority_2]}" if params[:max_priority_2]
|
35
34
|
oclint_args << "-max-priority-3=#{params[:max_priority_3]}" if params[:max_priority_3]
|
36
|
-
|
35
|
+
|
37
36
|
command = [
|
38
37
|
command_prefix,
|
39
38
|
'oclint',
|
40
39
|
oclint_args,
|
41
40
|
'"' + files.join('" "') + '"'
|
42
41
|
].join(' ')
|
43
|
-
|
42
|
+
|
44
43
|
Action.sh command
|
45
44
|
|
46
45
|
Actions.lane_context[SharedValues::FL_OCLINT_REPORT_PATH] = File.expand_path(report_path)
|
47
46
|
end
|
48
47
|
|
49
|
-
|
50
|
-
|
51
48
|
#####################################################
|
52
49
|
# @!group Documentation
|
53
50
|
#####################################################
|
@@ -108,10 +105,10 @@ module Fastlane
|
|
108
105
|
def self.author
|
109
106
|
'HeEAaD'
|
110
107
|
end
|
111
|
-
|
108
|
+
|
112
109
|
def self.is_supported?(platform)
|
113
110
|
true
|
114
111
|
end
|
115
112
|
end
|
116
113
|
end
|
117
|
-
end
|
114
|
+
end
|
data/lib/fastlane/actions/pem.rb
CHANGED
@@ -41,7 +41,7 @@ module Fastlane
|
|
41
41
|
"profile was created. You can use it to upload the new profile to your server.",
|
42
42
|
"Use it like this: ",
|
43
43
|
"pem(",
|
44
|
-
" new_profile:
|
44
|
+
" new_profile: proc do ",
|
45
45
|
" # your upload code",
|
46
46
|
" end",
|
47
47
|
")"
|
@@ -55,7 +55,7 @@ module Fastlane
|
|
55
55
|
unless @options
|
56
56
|
@options = PEM::Options.available_options
|
57
57
|
@options << FastlaneCore::ConfigItem.new(key: :new_profile,
|
58
|
-
description: "Block that is called if there is a new profile",
|
58
|
+
description: "Block that is called if there is a new profile",
|
59
59
|
optional: true,
|
60
60
|
is_string: false)
|
61
61
|
end
|
@@ -7,7 +7,9 @@ module Fastlane
|
|
7
7
|
|
8
8
|
begin
|
9
9
|
FastlaneCore::UpdateChecker.start_looking_for_update('pilot') unless Helper.is_test?
|
10
|
-
|
10
|
+
|
11
|
+
values[:ipa] ||= Actions.lane_context[SharedValues::IPA_OUTPUT_PATH]
|
12
|
+
|
11
13
|
Pilot::BuildManager.new.upload(values) # we already have the finished config
|
12
14
|
|
13
15
|
return nil
|
@@ -46,4 +48,4 @@ module Fastlane
|
|
46
48
|
end
|
47
49
|
end
|
48
50
|
end
|
49
|
-
end
|
51
|
+
end
|
@@ -7,14 +7,14 @@ module Fastlane
|
|
7
7
|
|
8
8
|
return params[:ci_input] if Helper.is_ci?
|
9
9
|
|
10
|
-
|
11
|
-
# Standard one line input
|
12
|
-
user_input = STDIN.gets.chomp.strip
|
13
|
-
else
|
10
|
+
if params[:multi_line_end_keyword]
|
14
11
|
# Multi line
|
15
12
|
end_tag = params[:multi_line_end_keyword]
|
16
13
|
Helper.log.info "Submit inputs using \"#{params[:multi_line_end_keyword]}\"".yellow
|
17
14
|
user_input = STDIN.gets(end_tag).chomp.gsub(end_tag, "").strip
|
15
|
+
else
|
16
|
+
# Standard one line input
|
17
|
+
user_input = STDIN.gets.chomp.strip
|
18
18
|
end
|
19
19
|
|
20
20
|
user_input = (user_input.downcase == 'y') if params[:boolean]
|
@@ -52,7 +52,7 @@ module Fastlane
|
|
52
52
|
FastlaneCore::ConfigItem.new(key: :multi_line_end_keyword,
|
53
53
|
description: "Enable multi-line inputs by providing an end text (e.g. 'END') which will stop the user input",
|
54
54
|
optional: true,
|
55
|
-
is_string: true)
|
55
|
+
is_string: true)
|
56
56
|
]
|
57
57
|
end
|
58
58
|
|
@@ -69,4 +69,4 @@ module Fastlane
|
|
69
69
|
end
|
70
70
|
end
|
71
71
|
end
|
72
|
-
end
|
72
|
+
end
|