fastlane 1.92.0.beta2 → 1.92.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 +0 -2
- data/lib/fastlane.rb +0 -1
- data/lib/fastlane/action_collector.rb +2 -34
- data/lib/fastlane/actions/actions_helper.rb +0 -4
- data/lib/fastlane/actions/appium.rb +1 -1
- data/lib/fastlane/actions/changelog_from_git_commits.rb +4 -0
- data/lib/fastlane/actions/copy_artifacts.rb +26 -14
- data/lib/fastlane/actions/gradle.rb +1 -1
- data/lib/fastlane/actions/increment_build_number.rb +1 -1
- data/lib/fastlane/actions/increment_version_number.rb +1 -1
- data/lib/fastlane/actions/jira.rb +1 -1
- data/lib/fastlane/actions/onesignal.rb +1 -1
- data/lib/fastlane/actions/pod_lib_lint.rb +22 -1
- data/lib/fastlane/actions/push_to_git_remote.rb +1 -1
- data/lib/fastlane/actions/slather.rb +49 -21
- data/lib/fastlane/actions/upload_symbols_to_sentry.rb +1 -0
- data/lib/fastlane/actions/xcake.rb +35 -0
- data/lib/fastlane/commands_generator.rb +11 -62
- data/lib/fastlane/lane_manager.rb +2 -6
- data/lib/fastlane/one_off.rb +1 -7
- data/lib/fastlane/runner.rb +12 -34
- data/lib/fastlane/version.rb +1 -1
- metadata +32 -83
- data/lib/assets/Plugins.md.erb +0 -8
- data/lib/fastlane/plugins/plugin_fetcher.rb +0 -59
- data/lib/fastlane/plugins/plugin_generator.rb +0 -109
- data/lib/fastlane/plugins/plugin_generator_ui.rb +0 -19
- data/lib/fastlane/plugins/plugin_info.rb +0 -47
- data/lib/fastlane/plugins/plugin_info_collector.rb +0 -120
- data/lib/fastlane/plugins/plugin_manager.rb +0 -333
- data/lib/fastlane/plugins/plugin_search.rb +0 -46
- data/lib/fastlane/plugins/plugins.rb +0 -7
- data/lib/fastlane/plugins/templates/Gemfile.erb +0 -3
- data/lib/fastlane/plugins/templates/LICENSE.erb +0 -21
- data/lib/fastlane/plugins/templates/README.md.erb +0 -31
- data/lib/fastlane/plugins/templates/Rakefile.erb +0 -1
- data/lib/fastlane/plugins/templates/action.rb.erb +0 -35
- data/lib/fastlane/plugins/templates/action_spec.rb.erb +0 -9
- data/lib/fastlane/plugins/templates/assets/fastlane_logo.png +0 -0
- data/lib/fastlane/plugins/templates/assets/plugin-badge.svg +0 -1
- data/lib/fastlane/plugins/templates/dot_gitignore.erb +0 -8
- data/lib/fastlane/plugins/templates/dot_rspec.erb +0 -3
- data/lib/fastlane/plugins/templates/helper.rb.erb +0 -12
- data/lib/fastlane/plugins/templates/plugin.gemspec.erb +0 -26
- data/lib/fastlane/plugins/templates/plugin.rb.erb +0 -16
- data/lib/fastlane/plugins/templates/spec_helper.rb.erb +0 -8
- data/lib/fastlane/plugins/templates/version.rb.erb +0 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f5a8f36b44fdba28a2384ebaaf3ed6c19640e4ed
|
|
4
|
+
data.tar.gz: 97d37d0093e30964336a875e744ddc468b1ebdd9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9b767890903852e42d1a7a56b0ce9cb18649934ae69ed719534f6f3178f1595e3feeef445bd59f89c860d6a4e028878ce5359ec156627e9c12d58d01b5930270
|
|
7
|
+
data.tar.gz: c55a8e615c2e69bb69388316c3618a58d8156d3ecd86b9da53ee9ea8d6f0816e16cf400b4ac9bf1929d3f1a89b68f7181c74221d06a3929e2e9a165d67758671
|
data/README.md
CHANGED
|
@@ -173,8 +173,6 @@ See how [Wikipedia](https://github.com/fastlane/examples#wikipedia-by-wikimedia-
|
|
|
173
173
|
|
|
174
174
|
You can easily opt-out by adding `opt_out_usage` to your `Fastfile` or by setting the environment variable `FASTLANE_OPT_OUT_USAGE`. To also disable update checks, set the `FASTLANE_SKIP_UPDATE_CHECK` variable.
|
|
175
175
|
|
|
176
|
-
You can optionally submit crash reports, run `fastlane enable_crash_reporting` to get started. This makes resolving issues much easier and helps improve fastlane. [More information](https://github.com/fastlane/fastlane/releases/tag/1.33.3)
|
|
177
|
-
|
|
178
176
|
## Credentials
|
|
179
177
|
A detailed description about how `fastlane` stores your credentials is available on a [separate repo](https://github.com/fastlane/fastlane/tree/master/credentials_manager).
|
|
180
178
|
|
data/lib/fastlane.rb
CHANGED
|
@@ -18,7 +18,6 @@ require 'fastlane/one_off'
|
|
|
18
18
|
require 'fastlane/command_line_handler'
|
|
19
19
|
require 'fastlane/documentation/docs_generator'
|
|
20
20
|
require 'fastlane/other_action'
|
|
21
|
-
require 'fastlane/plugins/plugins'
|
|
22
21
|
|
|
23
22
|
module Fastlane
|
|
24
23
|
Helper = FastlaneCore::Helper # you gotta love Ruby: Helper.* should use the Helper class contained in FastlaneCore
|
|
@@ -1,19 +1,8 @@
|
|
|
1
1
|
module Fastlane
|
|
2
2
|
class ActionCollector < FastlaneCore::ToolCollector
|
|
3
|
-
# Is this an official fastlane action, that is bundled with fastlane?
|
|
4
3
|
def is_official?(name)
|
|
5
4
|
return true if name == :lane_switch
|
|
6
|
-
Actions.get_all_official_actions.include?
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
def name_to_track(name)
|
|
10
|
-
return name if is_official?(name)
|
|
11
|
-
|
|
12
|
-
PluginManager.plugin_references.each do |plugin_name, value|
|
|
13
|
-
return "#{plugin_name}/#{name}" if value[:actions].include?(name)
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
return nil
|
|
5
|
+
Actions.get_all_official_actions.include? name
|
|
17
6
|
end
|
|
18
7
|
|
|
19
8
|
def show_message
|
|
@@ -26,28 +15,7 @@ module Fastlane
|
|
|
26
15
|
end
|
|
27
16
|
|
|
28
17
|
def determine_version(name)
|
|
29
|
-
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
# e.g.
|
|
33
|
-
# :gym
|
|
34
|
-
# :xcversion
|
|
35
|
-
# "fastlane-plugin-my_plugin/xcversion"
|
|
36
|
-
def self.determine_version(name)
|
|
37
|
-
return super(name) if super(name)
|
|
38
|
-
|
|
39
|
-
if name.to_s.include?(PluginManager.plugin_prefix)
|
|
40
|
-
# That's an action from a plugin, we need to fetch its version number
|
|
41
|
-
begin
|
|
42
|
-
plugin_name = name.split("/").first.gsub(PluginManager.plugin_prefix, '')
|
|
43
|
-
return Fastlane.const_get(plugin_name.fastlane_class)::VERSION
|
|
44
|
-
rescue => ex
|
|
45
|
-
UI.verbose(ex)
|
|
46
|
-
return "undefined"
|
|
47
|
-
end
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
return Fastlane::VERSION # that's the case for all built-in actions
|
|
18
|
+
super(name) || Fastlane::VERSION
|
|
51
19
|
end
|
|
52
20
|
end
|
|
53
21
|
end
|
|
@@ -1,26 +1,38 @@
|
|
|
1
|
+
require 'fileutils'
|
|
2
|
+
require 'shellwords'
|
|
3
|
+
|
|
1
4
|
module Fastlane
|
|
2
5
|
module Actions
|
|
3
6
|
class CopyArtifactsAction < Action
|
|
4
7
|
def self.run(params)
|
|
5
8
|
# we want to make sure that our target folder exist already
|
|
6
|
-
|
|
7
|
-
|
|
9
|
+
FileUtils.mkdir_p(params[:target_path])
|
|
10
|
+
|
|
11
|
+
# Ensure that artifacts is an array
|
|
12
|
+
artifacts_to_search = [params[:artifacts]].flatten
|
|
8
13
|
|
|
9
|
-
#
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
options << params[:artifacts].map { |e| e.tr(' ', '\ ') }
|
|
15
|
-
options << params[:target_path]
|
|
14
|
+
# If any of the paths include "*", we assume that we are referring to the Unix entries
|
|
15
|
+
# e.g /tmp/fastlane/* refers to all the files in /tmp/fastlane
|
|
16
|
+
# We use Dir.glob to expand all those paths, this would create an array of arrays though, so flatten
|
|
17
|
+
# Lastly, we shell escape everything in case they contain incompatible symbols (e.g. spaces)
|
|
18
|
+
artifacts = artifacts_to_search.map { |f| f.include?("*") ? Dir.glob(f) : f }.flatten.map(&:shellescape)
|
|
16
19
|
|
|
17
|
-
|
|
20
|
+
UI.verbose("Copying artifacts #{artifacts.join(', ')} to #{params[:target_path]}")
|
|
21
|
+
UI.verbose(params[:keep_original] ? "Keeping original files" : "Not keeping original files")
|
|
18
22
|
|
|
19
|
-
|
|
20
|
-
|
|
23
|
+
if params[:fail_on_missing]
|
|
24
|
+
missing = artifacts.select { |a| !File.exist?(a) }
|
|
25
|
+
UI.user_error! "Not all files were present in copy artifacts. Missing #{missing.join(', ')}" unless missing.empty?
|
|
26
|
+
else
|
|
27
|
+
# If we don't fail on non-existant files, don't try to copy non-existant files
|
|
28
|
+
artifacts.reject! { |artifact| !File.exist?(artifact) }
|
|
29
|
+
end
|
|
21
30
|
|
|
22
|
-
|
|
23
|
-
|
|
31
|
+
if params[:keep_original]
|
|
32
|
+
FileUtils.cp_r(artifacts, params[:target_path], remove_destination: true)
|
|
33
|
+
else
|
|
34
|
+
FileUtils.mv(artifacts, params[:target_path], force: true)
|
|
35
|
+
end
|
|
24
36
|
|
|
25
37
|
UI.success('Build artifacts successfully copied!')
|
|
26
38
|
end
|
|
@@ -35,7 +35,7 @@ module Fastlane
|
|
|
35
35
|
# Construct our flags
|
|
36
36
|
flags = []
|
|
37
37
|
flags << "-p #{project_dir.shellescape}"
|
|
38
|
-
flags << params[:properties].map { |k, v| "-P#{k}=#{v}" }.join(' ') unless params[:properties].nil?
|
|
38
|
+
flags << params[:properties].map { |k, v| "-P#{k.to_s.shellescape}=#{v.to_s.shellescape}" }.join(' ') unless params[:properties].nil?
|
|
39
39
|
flags << params[:flags] unless params[:flags].nil?
|
|
40
40
|
|
|
41
41
|
# Run the actual gradle task
|
|
@@ -33,7 +33,7 @@ module Fastlane
|
|
|
33
33
|
command = [
|
|
34
34
|
command_prefix,
|
|
35
35
|
'agvtool',
|
|
36
|
-
params[:build_number] ? "new-version -all #{params[:build_number]}" : 'next-version -all',
|
|
36
|
+
params[:build_number] ? "new-version -all #{params[:build_number].to_s.strip}" : 'next-version -all',
|
|
37
37
|
command_suffix
|
|
38
38
|
].join(' ')
|
|
39
39
|
|
|
@@ -23,7 +23,7 @@ module Fastlane
|
|
|
23
23
|
unless params[:apns_p12].nil?
|
|
24
24
|
data = File.read(params[:apns_p12])
|
|
25
25
|
apns_p12 = Base64.encode64(data)
|
|
26
|
-
payload["apns_env"] = [:apns_env]
|
|
26
|
+
payload["apns_env"] = params[:apns_env]
|
|
27
27
|
payload["apns_p12"] = apns_p12
|
|
28
28
|
# we need to have something for the p12 password, even if it's an empty string
|
|
29
29
|
payload["apns_p12_password"] = apns_p12_password || ""
|
|
@@ -23,6 +23,11 @@ module Fastlane
|
|
|
23
23
|
command << "--allow-warnings"
|
|
24
24
|
end
|
|
25
25
|
|
|
26
|
+
command << "--use-libraries" if params[:use_libraries]
|
|
27
|
+
command << "--fail-fast" if params[:fail_fast]
|
|
28
|
+
command << "--private" if params[:private]
|
|
29
|
+
command << "--quick" if params[:quick]
|
|
30
|
+
|
|
26
31
|
result = Actions.sh(command.join(' '))
|
|
27
32
|
UI.success("Pod lib lint Successfully ⬆️ ")
|
|
28
33
|
return result
|
|
@@ -60,7 +65,23 @@ module Fastlane
|
|
|
60
65
|
is_string: false,
|
|
61
66
|
verify_block: proc do |value|
|
|
62
67
|
UI.user_error!("Sources must be an array.") unless value.kind_of?(Array)
|
|
63
|
-
end)
|
|
68
|
+
end),
|
|
69
|
+
FastlaneCore::ConfigItem.new(key: :use_libraries,
|
|
70
|
+
description: "Lint uses static libraries to install the spec",
|
|
71
|
+
is_string: false,
|
|
72
|
+
default_value: false),
|
|
73
|
+
FastlaneCore::ConfigItem.new(key: :fail_fast,
|
|
74
|
+
description: "Lint stops on the first failing platform or subspec",
|
|
75
|
+
is_string: false,
|
|
76
|
+
default_value: false),
|
|
77
|
+
FastlaneCore::ConfigItem.new(key: :private,
|
|
78
|
+
description: "Lint skips checks that apply only to public specs",
|
|
79
|
+
is_string: false,
|
|
80
|
+
default_value: false),
|
|
81
|
+
FastlaneCore::ConfigItem.new(key: :quick,
|
|
82
|
+
description: "Lint skips checks that would require to download and build the spec",
|
|
83
|
+
is_string: false,
|
|
84
|
+
default_value: false)
|
|
64
85
|
]
|
|
65
86
|
end
|
|
66
87
|
|
|
@@ -5,27 +5,34 @@ module Fastlane
|
|
|
5
5
|
end
|
|
6
6
|
|
|
7
7
|
class SlatherAction < Action
|
|
8
|
-
|
|
8
|
+
# https://github.com/SlatherOrg/slather/blob/cbc5099cd25beb43fd978b7a3e5428f02230122d/lib/slather/command/coverage_command.rb#L24
|
|
9
9
|
ARGS_MAP = {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
10
|
+
travis: '--travis',
|
|
11
|
+
circleci: '--circleci',
|
|
12
|
+
jenkins: '--jenkins',
|
|
13
|
+
buildkite: '--buildkite',
|
|
14
|
+
teamcity: '--teamcity',
|
|
15
|
+
|
|
16
|
+
coveralls: '--coveralls',
|
|
17
|
+
simple_output: '--simple-output',
|
|
18
|
+
gutter_json: '--gutter-json',
|
|
19
|
+
cobertura_xml: '--cobertura-xml',
|
|
20
|
+
html: '--html',
|
|
21
|
+
show: '--show',
|
|
22
|
+
|
|
23
|
+
build_directory: '--build-directory',
|
|
24
|
+
source_directory: '--source-directory',
|
|
25
|
+
output_directory: '--output-directory',
|
|
26
|
+
ignore: '--ignore',
|
|
27
|
+
verbose: '--verbose',
|
|
28
|
+
|
|
29
|
+
input_format: '--input-format',
|
|
30
|
+
scheme: '--scheme',
|
|
31
|
+
workspace: '--workspace',
|
|
32
|
+
binary_file: '--binary-file',
|
|
33
|
+
binary_basename: '--binary-basename',
|
|
34
|
+
source_files: '--source-files',
|
|
35
|
+
decimals: '--decimals'
|
|
29
36
|
}.freeze
|
|
30
37
|
|
|
31
38
|
def self.run(params)
|
|
@@ -127,6 +134,11 @@ Slather is available at https://github.com/SlatherOrg/slather
|
|
|
127
134
|
description: "Tell slather that it is running on Buildkite",
|
|
128
135
|
is_string: false,
|
|
129
136
|
optional: true),
|
|
137
|
+
FastlaneCore::ConfigItem.new(key: :teamcity,
|
|
138
|
+
env_name: "FL_SLATHER_TEAMCITY_ENABLED", # The name of the environment variable
|
|
139
|
+
description: "Tell slather that it is running on TeamCity",
|
|
140
|
+
is_string: false,
|
|
141
|
+
optional: true),
|
|
130
142
|
FastlaneCore::ConfigItem.new(key: :jenkins,
|
|
131
143
|
env_name: "FL_SLATHER_JENKINS_ENABLED", # The name of the environment variable
|
|
132
144
|
description: "Tell slather that it is running on Jenkins",
|
|
@@ -185,6 +197,11 @@ Slather is available at https://github.com/SlatherOrg/slather
|
|
|
185
197
|
description: "Tell slather to ignore files matching a path or any path from an array of paths",
|
|
186
198
|
is_string: false,
|
|
187
199
|
optional: true),
|
|
200
|
+
FastlaneCore::ConfigItem.new(key: :verbose,
|
|
201
|
+
env_name: "FL_SLATHER_VERBOSE",
|
|
202
|
+
description: "Tell slather to enable verbose mode",
|
|
203
|
+
is_string: false,
|
|
204
|
+
optional: true),
|
|
188
205
|
FastlaneCore::ConfigItem.new(key: :use_bundle_exec,
|
|
189
206
|
env_name: "FL_SLATHER_USE_BUNDLE_EXEC",
|
|
190
207
|
description: "Use bundle exec to execute slather. Make sure it is in the Gemfile",
|
|
@@ -197,7 +214,18 @@ Slather is available at https://github.com/SlatherOrg/slather
|
|
|
197
214
|
FastlaneCore::ConfigItem.new(key: :binary_file,
|
|
198
215
|
env_name: "FL_SLATHER_BINARY_FILE",
|
|
199
216
|
description: "Binary file name to be used for code coverage",
|
|
200
|
-
default_value: false)
|
|
217
|
+
default_value: false),
|
|
218
|
+
FastlaneCore::ConfigItem.new(key: :source_files,
|
|
219
|
+
env_name: "FL_SLATHER_SOURCE_FILES",
|
|
220
|
+
description: "A Dir.glob compatible pattern used to limit the lookup to specific source files. Ignored in gcov mode",
|
|
221
|
+
default_value: false,
|
|
222
|
+
optional: true),
|
|
223
|
+
FastlaneCore::ConfigItem.new(key: :decimals,
|
|
224
|
+
env_name: "FL_SLATHER_DECIMALS",
|
|
225
|
+
description: "The amount of decimals to use for % coverage reporting",
|
|
226
|
+
is_string: false,
|
|
227
|
+
default_value: false,
|
|
228
|
+
optional: true)
|
|
201
229
|
]
|
|
202
230
|
end
|
|
203
231
|
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
module Fastlane
|
|
2
|
+
module Actions
|
|
3
|
+
class XcakeAction < Action
|
|
4
|
+
def self.run(params)
|
|
5
|
+
Actions.verify_gem!('xcake')
|
|
6
|
+
require 'xcake'
|
|
7
|
+
|
|
8
|
+
if defined? Xcake::Command::Make
|
|
9
|
+
# New `xcake make` command
|
|
10
|
+
Xcake::Command::Make.run
|
|
11
|
+
else
|
|
12
|
+
# Legacy `xcake` command
|
|
13
|
+
Xcake::Command.run
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def self.description
|
|
18
|
+
"Runs `xcake` for the project"
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def self.available_options
|
|
22
|
+
[
|
|
23
|
+
]
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def self.is_supported?(platform)
|
|
27
|
+
[:ios, :mac].include? platform
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def self.authors
|
|
31
|
+
["jcampbell05"]
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -10,7 +10,6 @@ module Fastlane
|
|
|
10
10
|
def self.start
|
|
11
11
|
FastlaneCore::UpdateChecker.start_looking_for_update('fastlane')
|
|
12
12
|
Fastlane.load_actions
|
|
13
|
-
Fastlane::PluginManager.load_plugins
|
|
14
13
|
self.new.run
|
|
15
14
|
ensure
|
|
16
15
|
FastlaneCore::UpdateChecker.show_update_status('fastlane', Fastlane::VERSION)
|
|
@@ -147,17 +146,17 @@ module Fastlane
|
|
|
147
146
|
|
|
148
147
|
command :enable_crash_reporting do |c|
|
|
149
148
|
c.syntax = 'fastlane enable_crash_reporting'
|
|
150
|
-
c.description = '
|
|
149
|
+
c.description = "Deprecated: fastlane doesn't use a crash reporter any more"
|
|
151
150
|
c.action do |args, options|
|
|
152
|
-
|
|
151
|
+
show_crashreporter_note
|
|
153
152
|
end
|
|
154
153
|
end
|
|
155
154
|
|
|
156
155
|
command :disable_crash_reporting do |c|
|
|
157
156
|
c.syntax = 'fastlane disable_crash_reporting'
|
|
158
|
-
c.description = '
|
|
157
|
+
c.description = "Deprecated: fastlane doesn't use a crash reporter any more"
|
|
159
158
|
c.action do |args, options|
|
|
160
|
-
|
|
159
|
+
show_crashreporter_note
|
|
161
160
|
end
|
|
162
161
|
end
|
|
163
162
|
|
|
@@ -171,64 +170,8 @@ module Fastlane
|
|
|
171
170
|
end
|
|
172
171
|
end
|
|
173
172
|
|
|
174
|
-
#####################################################
|
|
175
|
-
# @!group Plugins
|
|
176
|
-
#####################################################
|
|
177
|
-
|
|
178
|
-
command :new_plugin do |c|
|
|
179
|
-
c.syntax = 'fastlane create_plugin [plugin_name]'
|
|
180
|
-
c.description = 'Create a new plugin that can be used with fastlane'
|
|
181
|
-
|
|
182
|
-
c.action do |args, options|
|
|
183
|
-
PluginGenerator.new.generate args.shift
|
|
184
|
-
end
|
|
185
|
-
end
|
|
186
|
-
|
|
187
|
-
command :add_plugin do |c|
|
|
188
|
-
c.syntax = 'fastlane add_plugin [plugin_name]'
|
|
189
|
-
c.description = 'Add a new plugin to your fastlane setup'
|
|
190
|
-
|
|
191
|
-
c.action do |args, options|
|
|
192
|
-
pm = PluginManager.new
|
|
193
|
-
args << UI.input("Enter the name of the plugin to install: ") if args.empty?
|
|
194
|
-
args.each do |plugin_name|
|
|
195
|
-
pm.add_dependency(plugin_name)
|
|
196
|
-
end
|
|
197
|
-
|
|
198
|
-
UI.important("Make sure to commit your Gemfile, Gemfile.lock and #{PluginManager::PLUGINFILE_NAME} to version control")
|
|
199
|
-
pm.install_dependencies!
|
|
200
|
-
end
|
|
201
|
-
end
|
|
202
|
-
|
|
203
|
-
command :install_plugins do |c|
|
|
204
|
-
c.syntax = 'fastlane install_plugins'
|
|
205
|
-
c.description = 'Install all plugins for this project'
|
|
206
|
-
|
|
207
|
-
c.action do |args, options|
|
|
208
|
-
PluginManager.new.install_dependencies!
|
|
209
|
-
end
|
|
210
|
-
end
|
|
211
|
-
|
|
212
|
-
command :update_plugins do |c|
|
|
213
|
-
c.syntax = 'fastlane update_plugins'
|
|
214
|
-
c.description = 'Update all plugin dependencies'
|
|
215
|
-
|
|
216
|
-
c.action do |args, options|
|
|
217
|
-
PluginManager.new.update_dependencies!
|
|
218
|
-
end
|
|
219
|
-
end
|
|
220
|
-
|
|
221
|
-
command :search_plugins do |c|
|
|
222
|
-
c.syntax = 'fastlane search_plugins [search_query]'
|
|
223
|
-
c.description = 'Search for plugins, search query is optional'
|
|
224
|
-
|
|
225
|
-
c.action do |args, options|
|
|
226
|
-
search_query = args.last
|
|
227
|
-
PluginSearch.print_plugins(search_query: search_query)
|
|
228
|
-
end
|
|
229
|
-
end
|
|
230
|
-
|
|
231
173
|
default_command :trigger
|
|
174
|
+
|
|
232
175
|
run!
|
|
233
176
|
end
|
|
234
177
|
|
|
@@ -244,6 +187,12 @@ module Fastlane
|
|
|
244
187
|
return false
|
|
245
188
|
end
|
|
246
189
|
|
|
190
|
+
def show_crashreporter_note
|
|
191
|
+
UI.important("fastlane doesn't use a crash reporter any more")
|
|
192
|
+
UI.important("Instead please submit an issue on GitHub: https://github.com/fastlane/fastlane/issues")
|
|
193
|
+
UI.important("This command will be removed in one of the next releases")
|
|
194
|
+
end
|
|
195
|
+
|
|
247
196
|
# rubocop:enable Metrics/AbcSize
|
|
248
197
|
# rubocop:enable Metrics/MethodLength
|
|
249
198
|
end
|