fastlane 2.179.0 → 2.180.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.
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