fastlane 1.92.0.beta2 → 1.92.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +0 -2
  3. data/lib/fastlane.rb +0 -1
  4. data/lib/fastlane/action_collector.rb +2 -34
  5. data/lib/fastlane/actions/actions_helper.rb +0 -4
  6. data/lib/fastlane/actions/appium.rb +1 -1
  7. data/lib/fastlane/actions/changelog_from_git_commits.rb +4 -0
  8. data/lib/fastlane/actions/copy_artifacts.rb +26 -14
  9. data/lib/fastlane/actions/gradle.rb +1 -1
  10. data/lib/fastlane/actions/increment_build_number.rb +1 -1
  11. data/lib/fastlane/actions/increment_version_number.rb +1 -1
  12. data/lib/fastlane/actions/jira.rb +1 -1
  13. data/lib/fastlane/actions/onesignal.rb +1 -1
  14. data/lib/fastlane/actions/pod_lib_lint.rb +22 -1
  15. data/lib/fastlane/actions/push_to_git_remote.rb +1 -1
  16. data/lib/fastlane/actions/slather.rb +49 -21
  17. data/lib/fastlane/actions/upload_symbols_to_sentry.rb +1 -0
  18. data/lib/fastlane/actions/xcake.rb +35 -0
  19. data/lib/fastlane/commands_generator.rb +11 -62
  20. data/lib/fastlane/lane_manager.rb +2 -6
  21. data/lib/fastlane/one_off.rb +1 -7
  22. data/lib/fastlane/runner.rb +12 -34
  23. data/lib/fastlane/version.rb +1 -1
  24. metadata +32 -83
  25. data/lib/assets/Plugins.md.erb +0 -8
  26. data/lib/fastlane/plugins/plugin_fetcher.rb +0 -59
  27. data/lib/fastlane/plugins/plugin_generator.rb +0 -109
  28. data/lib/fastlane/plugins/plugin_generator_ui.rb +0 -19
  29. data/lib/fastlane/plugins/plugin_info.rb +0 -47
  30. data/lib/fastlane/plugins/plugin_info_collector.rb +0 -120
  31. data/lib/fastlane/plugins/plugin_manager.rb +0 -333
  32. data/lib/fastlane/plugins/plugin_search.rb +0 -46
  33. data/lib/fastlane/plugins/plugins.rb +0 -7
  34. data/lib/fastlane/plugins/templates/Gemfile.erb +0 -3
  35. data/lib/fastlane/plugins/templates/LICENSE.erb +0 -21
  36. data/lib/fastlane/plugins/templates/README.md.erb +0 -31
  37. data/lib/fastlane/plugins/templates/Rakefile.erb +0 -1
  38. data/lib/fastlane/plugins/templates/action.rb.erb +0 -35
  39. data/lib/fastlane/plugins/templates/action_spec.rb.erb +0 -9
  40. data/lib/fastlane/plugins/templates/assets/fastlane_logo.png +0 -0
  41. data/lib/fastlane/plugins/templates/assets/plugin-badge.svg +0 -1
  42. data/lib/fastlane/plugins/templates/dot_gitignore.erb +0 -8
  43. data/lib/fastlane/plugins/templates/dot_rspec.erb +0 -3
  44. data/lib/fastlane/plugins/templates/helper.rb.erb +0 -12
  45. data/lib/fastlane/plugins/templates/plugin.gemspec.erb +0 -26
  46. data/lib/fastlane/plugins/templates/plugin.rb.erb +0 -16
  47. data/lib/fastlane/plugins/templates/spec_helper.rb.erb +0 -8
  48. 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: c3df4da6dc8c9ee2ccfa9f3e95d63e96f06605a7
4
- data.tar.gz: b028cada1e65640eb971b978040c11426305bcdc
3
+ metadata.gz: f5a8f36b44fdba28a2384ebaaf3ed6c19640e4ed
4
+ data.tar.gz: 97d37d0093e30964336a875e744ddc468b1ebdd9
5
5
  SHA512:
6
- metadata.gz: 8b42aa0057c904cc4f3b092ad8ed7f26d8a59d18063e94cd20b7e24b5617de2250d793cccadb5e2e6f51860e49c134b038dacf235e1705255407bbcaee13a783
7
- data.tar.gz: 8ff2d00e187efba10444c0ef12aba55e4f962df7d2a7634bb29576c2b3185e85857d8158d9388922c29778e30f424ca8c91928cc47a91dbfbbf65807a3dd3b79
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
 
@@ -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?(name)
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
- self.class.determine_version(name)
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
@@ -101,9 +101,5 @@ module Fastlane
101
101
  end
102
102
  end
103
103
  end
104
-
105
- def self.formerly_bundled_actions
106
- ["xcake"]
107
- end
108
104
  end
109
105
  end
@@ -11,7 +11,7 @@ module Fastlane
11
11
  Actions.verify_gem!('appium_lib')
12
12
 
13
13
  require 'rspec'
14
- require 'appium_lib'
14
+ require 'appium_lib' unless Helper.test?
15
15
 
16
16
  FastlaneCore::PrintTable.print_values(
17
17
  config: params,
@@ -37,6 +37,10 @@ module Fastlane
37
37
  changelog = changelog.gsub("\n\n", "\n") if changelog # as there are duplicate newlines
38
38
  Actions.lane_context[SharedValues::FL_CHANGELOG] = changelog
39
39
 
40
+ puts ""
41
+ puts changelog
42
+ puts ""
43
+
40
44
  changelog
41
45
  end
42
46
 
@@ -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
- target_folder_command = 'mkdir -p ' + params[:target_path]
7
- Actions.sh(target_folder_command)
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
- # construct the main command that will do the copying/moving for us
10
- base_command = params[:keep_original] ? 'cp' : 'mv'
11
- options = []
12
- options << '-f'
13
- options << '-R' if params[:keep_original] # we only want the -R flag for the cp command, which we get when the user asks to keep the original
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
- command = ([base_command] + options).join(' ')
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
- # if we don't want to fail on missing files, then we need to swallow the error from our command, by ORing with the nil command, guaranteeing a 0 status code
20
- command += ' || :' unless params[:fail_on_missing]
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
- # call our command
23
- Actions.sh(command)
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
 
@@ -58,7 +58,7 @@ module Fastlane
58
58
 
59
59
  command = [
60
60
  command_prefix,
61
- "agvtool new-marketing-version #{next_version_number}"
61
+ "agvtool new-marketing-version #{next_version_number.to_s.strip}"
62
62
  ].join(' ')
63
63
 
64
64
  if Helper.test?
@@ -3,7 +3,7 @@ module Fastlane
3
3
  class JiraAction < Action
4
4
 
5
5
  def self.run(params)
6
- Actions.verify_gem!('jira')
6
+ Actions.verify_gem!('jira-ruby')
7
7
  require 'jira'
8
8
 
9
9
  site = params[:url]
@@ -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
 
@@ -1,6 +1,6 @@
1
1
  module Fastlane
2
2
  module Actions
3
- # Adds a git tag to the current commit
3
+ # Push local changes to the remote branch
4
4
  class PushToGitRemoteAction < Action
5
5
  def self.run(params)
6
6
  local_branch = params[:local_branch]
@@ -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
- build_directory: "--build-directory",
11
- input_format: "--input-format",
12
- scheme: "--scheme",
13
- buildkite: "--buildkite",
14
- jenkins: "--jenkins",
15
- travis: "--travis",
16
- circleci: "--circleci",
17
- coveralls: "--coveralls",
18
- simple_output: "--simple-output",
19
- gutter_json: "--gutter-json",
20
- cobertura_xml: "--cobertura-xml",
21
- html: "--html",
22
- show: "--show",
23
- source_directory: "--source-directory",
24
- output_directory: "--output-directory",
25
- binary_basename: "--binary-basename",
26
- binary_file: "--binary-file",
27
- ignore: "--ignore",
28
- workspace: "--workspace"
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
 
@@ -2,6 +2,7 @@ module Fastlane
2
2
  module Actions
3
3
  class UploadSymbolsToSentryAction < Action
4
4
  def self.run(params)
5
+ Actions.verify_gem!('rest-client')
5
6
  require 'rest-client'
6
7
 
7
8
  # Params - API
@@ -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 = 'Enable crash reporting to improve fastlane'
149
+ c.description = "Deprecated: fastlane doesn't use a crash reporter any more"
151
150
  c.action do |args, options|
152
- FastlaneCore::CrashReporting.enable
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 = 'Disable crash reporting'
157
+ c.description = "Deprecated: fastlane doesn't use a crash reporter any more"
159
158
  c.action do |args, options|
160
- FastlaneCore::CrashReporting.disable
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