fastlane 2.179.0 → 2.180.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +84 -84
  3. data/fastlane/lib/fastlane/actions/app_store_connect_api_key.rb +1 -1
  4. data/fastlane/lib/fastlane/actions/jira.rb +61 -14
  5. data/fastlane/lib/fastlane/actions/notarize.rb +98 -51
  6. data/fastlane/lib/fastlane/actions/sourcedocs.rb +164 -0
  7. data/fastlane/lib/fastlane/setup/setup.rb +23 -10
  8. data/fastlane/lib/fastlane/swift_runner_upgrader.rb +2 -0
  9. data/fastlane/lib/fastlane/version.rb +1 -1
  10. data/fastlane/swift/Deliverfile.swift +1 -1
  11. data/fastlane/swift/DeliverfileProtocol.swift +1 -1
  12. data/fastlane/swift/Fastlane.swift +87 -21
  13. data/fastlane/swift/Gymfile.swift +1 -1
  14. data/fastlane/swift/GymfileProtocol.swift +1 -1
  15. data/fastlane/swift/LaneFileProtocol.swift +9 -3
  16. data/fastlane/swift/Matchfile.swift +1 -1
  17. data/fastlane/swift/MatchfileProtocol.swift +1 -1
  18. data/fastlane/swift/Precheckfile.swift +1 -1
  19. data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
  20. data/fastlane/swift/RubyCommand.swift +1 -1
  21. data/fastlane/swift/Scanfile.swift +1 -1
  22. data/fastlane/swift/ScanfileProtocol.swift +5 -1
  23. data/fastlane/swift/Screengrabfile.swift +1 -1
  24. data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
  25. data/fastlane/swift/Snapshotfile.swift +1 -1
  26. data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
  27. data/fastlane/swift/SocketClient.swift +2 -1
  28. data/fastlane/swift/SocketResponse.swift +4 -2
  29. data/fastlane/swift/formatting/Brewfile.lock.json +3 -3
  30. data/fastlane_core/lib/fastlane_core/queue_worker.rb +2 -2
  31. data/fastlane_core/lib/fastlane_core/ui/implementations/shell.rb +12 -1
  32. data/match/lib/match/change_password.rb +1 -1
  33. data/scan/lib/scan/options.rb +10 -5
  34. data/scan/lib/scan/runner.rb +52 -1
  35. data/scan/lib/scan/test_command_generator.rb +8 -8
  36. data/snapshot/lib/assets/SnapshotHelper.swift +1 -1
  37. data/spaceship/lib/spaceship/connect_api/models/app_screenshot.rb +1 -1
  38. data/spaceship/lib/spaceship/connect_api/token.rb +7 -1
  39. metadata +18 -18
  40. data/gym/lib/gym/.runner.rb.swp +0 -0
@@ -0,0 +1,164 @@
1
+ module Fastlane
2
+ module Actions
3
+ class SourcedocsAction < Action
4
+ def self.run(params)
5
+ UI.user_error!("You have to install sourcedocs using `brew install sourcedocs`") if `which sourcedocs`.to_s.length == 0 && !Helper.test?
6
+
7
+ command = "sourcedocs generate"
8
+ command << " --all-modules" if params[:all_modules]
9
+ command << " --spm-module #{params[:spm_module]}" unless params[:spm_module].nil?
10
+ command << " --module-name #{params[:module_name]}" unless params[:module_name].nil?
11
+ command << " --link-beginning #{params[:link_beginning]}" unless params[:link_beginning].nil?
12
+ command << " --link-ending #{params[:link_ending]}" unless params[:link_ending].nil?
13
+ command << " --output-folder #{params[:output_folder]}" unless params[:output_folder].nil?
14
+ command << " --min-acl #{params[:min_acl]}" unless params[:min_acl].nil?
15
+ command << " --module-name-path" if params[:module_name_path]
16
+ command << " --clean" if params[:clean]
17
+ command << " --collapsible" if params[:collapsible]
18
+ command << " --table-of-contents" if params[:table_of_contents]
19
+ command << " --reproducible-docs" if params[:reproducible]
20
+ unless params[:scheme].nil?
21
+ command << " -- -scheme #{params[:scheme]}"
22
+ command << " -sdk #{params[:sdk_platform]}" unless params[:sdk_platform].nil?
23
+ end
24
+ Actions.sh(command)
25
+ end
26
+
27
+ #####################################################
28
+ # @!group Documentation
29
+ #####################################################
30
+
31
+ def self.description
32
+ "Generate docs using SourceDocs"
33
+ end
34
+
35
+ def self.available_options
36
+ [
37
+ FastlaneCore::ConfigItem.new(
38
+ key: :all_modules,
39
+ env_name: 'FL_SOURCEDOCS_OUTPUT_ALL_MODULES',
40
+ description: 'Generate documentation for all modules in a Swift package',
41
+ type: Boolean,
42
+ optional: true
43
+ ),
44
+ FastlaneCore::ConfigItem.new(
45
+ key: :spm_module,
46
+ env_name: 'FL_SOURCEDOCS_SPM_MODULE',
47
+ description: 'Generate documentation for Swift Package Manager module',
48
+ type: String,
49
+ optional: true
50
+ ),
51
+ FastlaneCore::ConfigItem.new(
52
+ key: :module_name,
53
+ env_name: 'FL_SOURCEDOCS_MODULE_NAME',
54
+ description: 'Generate documentation for a Swift module',
55
+ type: String,
56
+ optional: true
57
+ ),
58
+ FastlaneCore::ConfigItem.new(
59
+ key: :link_beginning,
60
+ env_name: 'FL_SOURCEDOCS_LINK_BEGINNING',
61
+ description: 'The text to begin links with',
62
+ type: String,
63
+ optional: true
64
+ ),
65
+ FastlaneCore::ConfigItem.new(
66
+ key: :link_ending,
67
+ env_name: 'FL_SOURCEDOCS_LINK_ENDING',
68
+ description: 'The text to end links with (default: .md)',
69
+ type: String,
70
+ optional: true
71
+ ),
72
+ FastlaneCore::ConfigItem.new(
73
+ key: :output_folder,
74
+ env_name: 'FL_SOURCEDOCS_OUTPUT_FOLDER',
75
+ description: 'Output directory to clean (default: Documentation/Reference)',
76
+ type: String,
77
+ optional: false
78
+ ),
79
+ FastlaneCore::ConfigItem.new(
80
+ key: :min_acl,
81
+ env_name: 'FL_SOURCEDOCS_MIN_ACL',
82
+ description: 'Access level to include in documentation [private, fileprivate, internal, public, open] (default: public)',
83
+ type: String,
84
+ optional: true
85
+ ),
86
+ FastlaneCore::ConfigItem.new(
87
+ key: :module_name_path,
88
+ env_name: 'FL_SOURCEDOCS_MODULE_NAME_PATH',
89
+ description: 'Include the module name as part of the output folder path',
90
+ type: Boolean,
91
+ optional: true
92
+ ),
93
+ FastlaneCore::ConfigItem.new(
94
+ key: :clean,
95
+ env_name: 'FL_SOURCEDOCS_CLEAN',
96
+ description: 'Delete output folder before generating documentation',
97
+ type: Boolean,
98
+ optional: true
99
+ ),
100
+ FastlaneCore::ConfigItem.new(
101
+ key: :collapsible,
102
+ env_name: 'FL_SOURCEDOCS_COLLAPSIBLE',
103
+ description: 'Put methods, properties and enum cases inside collapsible blocks',
104
+ type: Boolean,
105
+ optional: true
106
+ ),
107
+ FastlaneCore::ConfigItem.new(
108
+ key: :table_of_contents,
109
+ env_name: 'FL_SOURCEDOCS_TABLE_OF_CONTENT',
110
+ description: 'Generate a table of contents with properties and methods for each type',
111
+ type: Boolean,
112
+ optional: true
113
+ ),
114
+ FastlaneCore::ConfigItem.new(
115
+ key: :reproducible,
116
+ env_name: 'FL_SOURCEDOCS_REPRODUCIBLE',
117
+ description: 'Generate documentation that is reproducible: only depends on the sources',
118
+ type: Boolean,
119
+ optional: true
120
+ ),
121
+ FastlaneCore::ConfigItem.new(
122
+ key: :scheme,
123
+ env_name: 'FL_SOURCEDOCS_SCHEME',
124
+ description: 'Create documentation for specific scheme',
125
+ type: String,
126
+ optional: true
127
+ ),
128
+ FastlaneCore::ConfigItem.new(
129
+ key: :sdk_platform,
130
+ env_name: 'FL_SOURCEDOCS_SDK_PlATFORM',
131
+ description: 'Create documentation for specific sdk platform',
132
+ type: String,
133
+ optional: true
134
+ )
135
+ ]
136
+ end
137
+
138
+ def self.output
139
+ end
140
+
141
+ def self.return_value
142
+ end
143
+
144
+ def self.authors
145
+ ["Kukurijek"]
146
+ end
147
+
148
+ def self.is_supported?(platform)
149
+ [:ios, :mac].include?(platform)
150
+ end
151
+
152
+ def self.example_code
153
+ [
154
+ "sourcedocs(output_folder: 'docs')",
155
+ "sourcedocs(output_folder: 'docs', clean: true, reproducible: true, scheme: 'MyApp')"
156
+ ]
157
+ end
158
+
159
+ def self.category
160
+ :documentation
161
+ end
162
+ end
163
+ end
164
+ end
@@ -35,6 +35,10 @@ module Fastlane
35
35
  # rubocop:disable Metrics/BlockNesting
36
36
  def self.start(user: nil, is_swift_fastfile: false)
37
37
  if FastlaneCore::FastlaneFolder.setup? && !Helper.test?
38
+
39
+ # If Fastfile.swift exists, but the swift sources folder does not, rebuild it
40
+ setup_swift_support if is_swift_fastfile
41
+
38
42
  require 'fastlane/lane_list'
39
43
  Fastlane::LaneList.output(FastlaneCore::FastlaneFolder.fastfile_path)
40
44
  UI.important("------------------")
@@ -127,6 +131,24 @@ module Fastlane
127
131
  end
128
132
  # rubocop:enable Metrics/BlockNesting
129
133
 
134
+ def self.setup_swift_support
135
+ runner_source_resources = "#{Fastlane::ROOT}/swift/."
136
+ destination_path = File.expand_path('swift', FastlaneCore::FastlaneFolder.path)
137
+
138
+ # Return eearly if already setup
139
+ return if File.exist?(destination_path)
140
+
141
+ # Show message if Fastfile.swift exists but missing Swift classes and Xcode project
142
+ if FastlaneCore::FastlaneFolder.swift?
143
+ UI.important("Restoring Swift classes and FastlaneSwiftRunner.xcodeproj...")
144
+ end
145
+
146
+ FileUtils.cp_r(runner_source_resources, destination_path)
147
+ UI.success("Copied Swift fastlane runner project to '#{destination_path}'.")
148
+
149
+ Fastlane::SwiftLaneManager.first_time_setup
150
+ end
151
+
130
152
  def initialize(is_swift_fastfile: nil, user: nil, project_path: nil, had_multiple_projects_to_choose_from: nil, preferred_setup_method: nil)
131
153
  self.is_swift_fastfile = is_swift_fastfile
132
154
  self.user = user
@@ -260,21 +282,12 @@ module Fastlane
260
282
 
261
283
  def finish_up
262
284
  write_fastfile!
263
- setup_swift_support if is_swift_fastfile
285
+ self.class.setup_swift_support if is_swift_fastfile
264
286
  show_analytics_note
265
287
  explain_concepts
266
288
  suggest_next_steps
267
289
  end
268
290
 
269
- def setup_swift_support
270
- runner_source_resources = "#{Fastlane::ROOT}/swift/."
271
- destination_path = File.expand_path('swift', FastlaneCore::FastlaneFolder.path)
272
- FileUtils.cp_r(runner_source_resources, destination_path)
273
- UI.success("Copied Swift fastlane runner project to '#{destination_path}'.")
274
-
275
- Fastlane::SwiftLaneManager.first_time_setup
276
- end
277
-
278
291
  def fastfile_template_content
279
292
  if self.is_swift_fastfile
280
293
  path = "#{Fastlane::ROOT}/lib/assets/DefaultFastfileTemplate.swift"
@@ -29,6 +29,8 @@ module Fastlane
29
29
  @source_swift_code_file_folder_path = File.expand_path(File.join(Fastlane::ROOT, "/swift"))
30
30
  @target_swift_code_file_folder_path = FastlaneCore::FastlaneFolder.swift_folder_path
31
31
 
32
+ Fastlane::Setup.setup_swift_support
33
+
32
34
  manifest_file = File.join(@source_swift_code_file_folder_path, "/upgrade_manifest.json")
33
35
  UI.success("loading manifest: #{manifest_file}")
34
36
  @manifest_hash = JSON.parse(File.read(manifest_file))
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.179.0'.freeze
2
+ VERSION = '2.180.0'.freeze
3
3
  DESCRIPTION = "The easiest way to automate beta deployments and releases for your iOS and Android apps".freeze
4
4
  MINIMUM_XCODE_RELEASE = "7.0".freeze
5
5
  RUBOCOP_REQUIREMENT = '0.49.1'.freeze
@@ -17,4 +17,4 @@ public class Deliverfile: DeliverfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.179.0
20
+ // Generated with fastlane 2.180.0
@@ -256,4 +256,4 @@ public extension DeliverfileProtocol {
256
256
 
257
257
  // Please don't remove the lines below
258
258
  // They are used to detect outdated files
259
- // FastlaneRunnerAPIVersion [0.9.62]
259
+ // FastlaneRunnerAPIVersion [0.9.63]
@@ -4705,30 +4705,36 @@ public func jazzy(config: String? = nil,
4705
4705
  }
4706
4706
 
4707
4707
  /**
4708
- Leave a comment on JIRA tickets
4708
+ Leave a comment on a Jira ticket
4709
4709
 
4710
- - parameters:
4711
- - url: URL for Jira instance
4712
- - contextPath: Appends to the url (ex: "/jira")
4713
- - username: Username for JIRA instance
4714
- - password: Password for Jira
4715
- - ticketId: Ticket ID for Jira, i.e. IOS-123
4716
- - commentText: Text to add to the ticket as a comment
4717
- */
4718
- public func jira(url: String,
4719
- contextPath: String = "",
4720
- username: String,
4721
- password: String,
4722
- ticketId: String,
4723
- commentText: String)
4710
+ - parameters:
4711
+ - url: URL for Jira instance
4712
+ - contextPath: Appends to the url (ex: "/jira")
4713
+ - username: Username for Jira instance
4714
+ - password: Password or API token for Jira
4715
+ - ticketId: Ticket ID for Jira, i.e. IOS-123
4716
+ - commentText: Text to add to the ticket as a comment
4717
+ - failOnError: Should an error adding the Jira comment cause a failure?
4718
+
4719
+ - returns: A hash containing all relevant information of the Jira comment
4720
+ Access Jira comment 'id', 'author', 'body', and more
4721
+ */
4722
+ @discardableResult public func jira(url: String,
4723
+ contextPath: String = "",
4724
+ username: String,
4725
+ password: String,
4726
+ ticketId: String,
4727
+ commentText: String,
4728
+ failOnError: Bool = true) -> [String: Any]
4724
4729
  {
4725
4730
  let command = RubyCommand(commandID: "", methodName: "jira", className: nil, args: [RubyCommand.Argument(name: "url", value: url),
4726
4731
  RubyCommand.Argument(name: "context_path", value: contextPath),
4727
4732
  RubyCommand.Argument(name: "username", value: username),
4728
4733
  RubyCommand.Argument(name: "password", value: password),
4729
4734
  RubyCommand.Argument(name: "ticket_id", value: ticketId),
4730
- RubyCommand.Argument(name: "comment_text", value: commentText)])
4731
- _ = runner.executeCommand(command)
4735
+ RubyCommand.Argument(name: "comment_text", value: commentText),
4736
+ RubyCommand.Argument(name: "fail_on_error", value: failOnError)])
4737
+ return parseDictionary(fromString: runner.executeCommand(command))
4732
4738
  }
4733
4739
 
4734
4740
  /**
@@ -5302,14 +5308,16 @@ public func nexusUpload(file: String,
5302
5308
  - ascProvider: Provider short name for accounts associated with multiple providers
5303
5309
  - printLog: Whether to print notarization log file, listing issues on failure and warnings on success
5304
5310
  - verbose: Whether to log requests
5311
+ - apiKeyPath: Path to AppStore Connect API key
5305
5312
  */
5306
5313
  public func notarize(package: String,
5307
5314
  tryEarlyStapling: Bool = false,
5308
5315
  bundleId: String? = nil,
5309
- username: String,
5316
+ username: String? = nil,
5310
5317
  ascProvider: String? = nil,
5311
5318
  printLog: Bool = false,
5312
- verbose: Bool = false)
5319
+ verbose: Bool = false,
5320
+ apiKeyPath: String? = nil)
5313
5321
  {
5314
5322
  let command = RubyCommand(commandID: "", methodName: "notarize", className: nil, args: [RubyCommand.Argument(name: "package", value: package),
5315
5323
  RubyCommand.Argument(name: "try_early_stapling", value: tryEarlyStapling),
@@ -5317,7 +5325,8 @@ public func notarize(package: String,
5317
5325
  RubyCommand.Argument(name: "username", value: username),
5318
5326
  RubyCommand.Argument(name: "asc_provider", value: ascProvider),
5319
5327
  RubyCommand.Argument(name: "print_log", value: printLog),
5320
- RubyCommand.Argument(name: "verbose", value: verbose)])
5328
+ RubyCommand.Argument(name: "verbose", value: verbose),
5329
+ RubyCommand.Argument(name: "api_key_path", value: apiKeyPath)])
5321
5330
  _ = runner.executeCommand(command)
5322
5331
  }
5323
5332
 
@@ -6411,6 +6420,7 @@ public func rubyVersion() {
6411
6420
  - skipPackageDependenciesResolution: Skips resolution of Swift Package Manager dependencies
6412
6421
  - disablePackageAutomaticUpdates: Prevents packages from automatically being resolved to versions other than those recorded in the `Package.resolved` file
6413
6422
  - useSystemScm: Lets xcodebuild use system's scm configuration
6423
+ - numberOfRetries: The number of times a test can fail before scan should stop retrying
6414
6424
  - failBuild: Should this step stop the build if the tests fail? Set this to false if you're using trainer
6415
6425
 
6416
6426
  More information: https://docs.fastlane.tools/actions/scan/
@@ -6484,6 +6494,7 @@ public func runTests(workspace: String? = nil,
6484
6494
  skipPackageDependenciesResolution: Bool = false,
6485
6495
  disablePackageAutomaticUpdates: Bool = false,
6486
6496
  useSystemScm: Bool = false,
6497
+ numberOfRetries: Int = 0,
6487
6498
  failBuild: Bool = true)
6488
6499
  {
6489
6500
  let command = RubyCommand(commandID: "", methodName: "run_tests", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
@@ -6555,6 +6566,7 @@ public func runTests(workspace: String? = nil,
6555
6566
  RubyCommand.Argument(name: "skip_package_dependencies_resolution", value: skipPackageDependenciesResolution),
6556
6567
  RubyCommand.Argument(name: "disable_package_automatic_updates", value: disablePackageAutomaticUpdates),
6557
6568
  RubyCommand.Argument(name: "use_system_scm", value: useSystemScm),
6569
+ RubyCommand.Argument(name: "number_of_retries", value: numberOfRetries),
6558
6570
  RubyCommand.Argument(name: "fail_build", value: failBuild)])
6559
6571
  _ = runner.executeCommand(command)
6560
6572
  }
@@ -6708,6 +6720,7 @@ public func say(text: Any,
6708
6720
  - skipPackageDependenciesResolution: Skips resolution of Swift Package Manager dependencies
6709
6721
  - disablePackageAutomaticUpdates: Prevents packages from automatically being resolved to versions other than those recorded in the `Package.resolved` file
6710
6722
  - useSystemScm: Lets xcodebuild use system's scm configuration
6723
+ - numberOfRetries: The number of times a test can fail before scan should stop retrying
6711
6724
  - failBuild: Should this step stop the build if the tests fail? Set this to false if you're using trainer
6712
6725
 
6713
6726
  More information: https://docs.fastlane.tools/actions/scan/
@@ -6781,6 +6794,7 @@ public func scan(workspace: Any? = scanfile.workspace,
6781
6794
  skipPackageDependenciesResolution: Bool = scanfile.skipPackageDependenciesResolution,
6782
6795
  disablePackageAutomaticUpdates: Bool = scanfile.disablePackageAutomaticUpdates,
6783
6796
  useSystemScm: Bool = scanfile.useSystemScm,
6797
+ numberOfRetries: Int = scanfile.numberOfRetries,
6784
6798
  failBuild: Bool = scanfile.failBuild)
6785
6799
  {
6786
6800
  let command = RubyCommand(commandID: "", methodName: "scan", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
@@ -6852,6 +6866,7 @@ public func scan(workspace: Any? = scanfile.workspace,
6852
6866
  RubyCommand.Argument(name: "skip_package_dependencies_resolution", value: skipPackageDependenciesResolution),
6853
6867
  RubyCommand.Argument(name: "disable_package_automatic_updates", value: disablePackageAutomaticUpdates),
6854
6868
  RubyCommand.Argument(name: "use_system_scm", value: useSystemScm),
6869
+ RubyCommand.Argument(name: "number_of_retries", value: numberOfRetries),
6855
6870
  RubyCommand.Argument(name: "fail_build", value: failBuild)])
6856
6871
  _ = runner.executeCommand(command)
6857
6872
  }
@@ -7740,6 +7755,57 @@ public func sonar(projectConfigurationPath: String? = nil,
7740
7755
  _ = runner.executeCommand(command)
7741
7756
  }
7742
7757
 
7758
+ /**
7759
+ Generate docs using SourceDocs
7760
+
7761
+ - parameters:
7762
+ - allModules: Generate documentation for all modules in a Swift package
7763
+ - spmModule: Generate documentation for Swift Package Manager module
7764
+ - moduleName: Generate documentation for a Swift module
7765
+ - linkBeginning: The text to begin links with
7766
+ - linkEnding: The text to end links with (default: .md)
7767
+ - outputFolder: Output directory to clean (default: Documentation/Reference)
7768
+ - minAcl: Access level to include in documentation [private, fileprivate, internal, public, open] (default: public)
7769
+ - moduleNamePath: Include the module name as part of the output folder path
7770
+ - clean: Delete output folder before generating documentation
7771
+ - collapsible: Put methods, properties and enum cases inside collapsible blocks
7772
+ - tableOfContents: Generate a table of contents with properties and methods for each type
7773
+ - reproducible: Generate documentation that is reproducible: only depends on the sources
7774
+ - scheme: Create documentation for specific scheme
7775
+ - sdkPlatform: Create documentation for specific sdk platform
7776
+ */
7777
+ public func sourcedocs(allModules: Bool? = nil,
7778
+ spmModule: String? = nil,
7779
+ moduleName: String? = nil,
7780
+ linkBeginning: String? = nil,
7781
+ linkEnding: String? = nil,
7782
+ outputFolder: String,
7783
+ minAcl: String? = nil,
7784
+ moduleNamePath: Bool? = nil,
7785
+ clean: Bool? = nil,
7786
+ collapsible: Bool? = nil,
7787
+ tableOfContents: Bool? = nil,
7788
+ reproducible: Bool? = nil,
7789
+ scheme: String? = nil,
7790
+ sdkPlatform: String? = nil)
7791
+ {
7792
+ let command = RubyCommand(commandID: "", methodName: "sourcedocs", className: nil, args: [RubyCommand.Argument(name: "all_modules", value: allModules),
7793
+ RubyCommand.Argument(name: "spm_module", value: spmModule),
7794
+ RubyCommand.Argument(name: "module_name", value: moduleName),
7795
+ RubyCommand.Argument(name: "link_beginning", value: linkBeginning),
7796
+ RubyCommand.Argument(name: "link_ending", value: linkEnding),
7797
+ RubyCommand.Argument(name: "output_folder", value: outputFolder),
7798
+ RubyCommand.Argument(name: "min_acl", value: minAcl),
7799
+ RubyCommand.Argument(name: "module_name_path", value: moduleNamePath),
7800
+ RubyCommand.Argument(name: "clean", value: clean),
7801
+ RubyCommand.Argument(name: "collapsible", value: collapsible),
7802
+ RubyCommand.Argument(name: "table_of_contents", value: tableOfContents),
7803
+ RubyCommand.Argument(name: "reproducible", value: reproducible),
7804
+ RubyCommand.Argument(name: "scheme", value: scheme),
7805
+ RubyCommand.Argument(name: "sdk_platform", value: sdkPlatform)])
7806
+ _ = runner.executeCommand(command)
7807
+ }
7808
+
7743
7809
  /**
7744
7810
  Find, print, and copy Spaceship logs
7745
7811
 
@@ -9821,4 +9887,4 @@ public let snapshotfile = Snapshotfile()
9821
9887
 
9822
9888
  // Please don't remove the lines below
9823
9889
  // They are used to detect outdated files
9824
- // FastlaneRunnerAPIVersion [0.9.115]
9890
+ // FastlaneRunnerAPIVersion [0.9.116]
@@ -17,4 +17,4 @@ public class Gymfile: GymfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.179.0
20
+ // Generated with fastlane 2.180.0