fastlane 2.186.0 → 2.190.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (141) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +86 -86
  3. data/fastlane/lib/fastlane/actions/app_store_connect_api_key.rb +1 -1
  4. data/fastlane/lib/fastlane/actions/appledoc.rb +45 -45
  5. data/fastlane/lib/fastlane/actions/automatic_code_signing.rb +1 -2
  6. data/fastlane/lib/fastlane/actions/bundle_install.rb +13 -1
  7. data/fastlane/lib/fastlane/actions/clean_cocoapods_cache.rb +25 -1
  8. data/fastlane/lib/fastlane/actions/create_keychain.rb +5 -2
  9. data/fastlane/lib/fastlane/actions/docs/build_app.md +1 -1
  10. data/fastlane/lib/fastlane/actions/docs/capture_android_screenshots.md +27 -28
  11. data/fastlane/lib/fastlane/actions/docs/capture_ios_screenshots.md +2 -2
  12. data/fastlane/lib/fastlane/actions/docs/create_app_online.md +171 -67
  13. data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +2 -2
  14. data/fastlane/lib/fastlane/actions/gradle.rb +1 -1
  15. data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +3 -4
  16. data/fastlane/lib/fastlane/actions/lcov.rb +0 -4
  17. data/fastlane/lib/fastlane/actions/mailgun.rb +21 -27
  18. data/fastlane/lib/fastlane/actions/make_changelog_from_jenkins.rb +1 -1
  19. data/fastlane/lib/fastlane/actions/modify_services.rb +59 -24
  20. data/fastlane/lib/fastlane/actions/nexus_upload.rb +2 -2
  21. data/fastlane/lib/fastlane/actions/notarize.rb +1 -4
  22. data/fastlane/lib/fastlane/actions/number_of_commits.rb +1 -1
  23. data/fastlane/lib/fastlane/actions/oclint.rb +15 -14
  24. data/fastlane/lib/fastlane/actions/pod_push.rb +0 -2
  25. data/fastlane/lib/fastlane/actions/podio_item.rb +0 -7
  26. data/fastlane/lib/fastlane/actions/prompt.rb +3 -4
  27. data/fastlane/lib/fastlane/actions/push_git_tags.rb +1 -1
  28. data/fastlane/lib/fastlane/actions/puts.rb +1 -2
  29. data/fastlane/lib/fastlane/actions/register_devices.rb +0 -1
  30. data/fastlane/lib/fastlane/actions/reset_git_repo.rb +5 -8
  31. data/fastlane/lib/fastlane/actions/reset_simulator_contents.rb +0 -2
  32. data/fastlane/lib/fastlane/actions/resign.rb +2 -9
  33. data/fastlane/lib/fastlane/actions/rsync.rb +3 -6
  34. data/fastlane/lib/fastlane/actions/run_tests.rb +1 -1
  35. data/fastlane/lib/fastlane/actions/s3.rb +1 -1
  36. data/fastlane/lib/fastlane/actions/say.rb +2 -3
  37. data/fastlane/lib/fastlane/actions/scp.rb +4 -10
  38. data/fastlane/lib/fastlane/actions/set_build_number_repository.rb +1 -1
  39. data/fastlane/lib/fastlane/actions/set_changelog.rb +1 -1
  40. data/fastlane/lib/fastlane/actions/set_github_release.rb +2 -8
  41. data/fastlane/lib/fastlane/actions/set_info_plist_value.rb +1 -1
  42. data/fastlane/lib/fastlane/actions/set_pod_key.rb +3 -4
  43. data/fastlane/lib/fastlane/actions/setup_ci.rb +1 -2
  44. data/fastlane/lib/fastlane/actions/setup_circle_ci.rb +1 -1
  45. data/fastlane/lib/fastlane/actions/setup_jenkins.rb +7 -12
  46. data/fastlane/lib/fastlane/actions/setup_travis.rb +1 -1
  47. data/fastlane/lib/fastlane/actions/sh.rb +2 -4
  48. data/fastlane/lib/fastlane/actions/slack.rb +6 -8
  49. data/fastlane/lib/fastlane/actions/slather.rb +3 -19
  50. data/fastlane/lib/fastlane/actions/sonar.rb +12 -19
  51. data/fastlane/lib/fastlane/actions/sourcedocs.rb +62 -98
  52. data/fastlane/lib/fastlane/actions/splunkmint.rb +2 -2
  53. data/fastlane/lib/fastlane/actions/spm.rb +3 -3
  54. data/fastlane/lib/fastlane/actions/ssh.rb +5 -10
  55. data/fastlane/lib/fastlane/actions/testfairy.rb +0 -1
  56. data/fastlane/lib/fastlane/actions/tryouts.rb +2 -3
  57. data/fastlane/lib/fastlane/actions/twitter.rb +0 -5
  58. data/fastlane/lib/fastlane/actions/unlock_keychain.rb +3 -3
  59. data/fastlane/lib/fastlane/actions/update_app_group_identifiers.rb +1 -4
  60. data/fastlane/lib/fastlane/actions/update_code_signing_settings.rb +8 -15
  61. data/fastlane/lib/fastlane/actions/update_fastlane.rb +2 -2
  62. data/fastlane/lib/fastlane/actions/update_icloud_container_identifiers.rb +1 -4
  63. data/fastlane/lib/fastlane/actions/update_info_plist.rb +1 -1
  64. data/fastlane/lib/fastlane/actions/update_keychain_access_groups.rb +1 -4
  65. data/fastlane/lib/fastlane/actions/update_plist.rb +1 -1
  66. data/fastlane/lib/fastlane/actions/update_project_provisioning.rb +2 -2
  67. data/fastlane/lib/fastlane/actions/update_urban_airship_configuration.rb +0 -1
  68. data/fastlane/lib/fastlane/actions/update_url_schemes.rb +15 -26
  69. data/fastlane/lib/fastlane/actions/upload_app_privacy_details_to_app_store.rb +1 -2
  70. data/fastlane/lib/fastlane/actions/upload_symbols_to_sentry.rb +3 -10
  71. data/fastlane/lib/fastlane/actions/validate_play_store_json_key.rb +40 -44
  72. data/fastlane/lib/fastlane/actions/version_get_podspec.rb +1 -2
  73. data/fastlane/lib/fastlane/actions/xcode_server_get_assets.rb +3 -3
  74. data/fastlane/lib/fastlane/actions/zip.rb +86 -22
  75. data/fastlane/lib/fastlane/documentation/docs_generator.rb +1 -1
  76. data/fastlane/lib/fastlane/documentation/markdown_docs_generator.rb +1 -1
  77. data/fastlane/lib/fastlane/plugins/template/.circleci/config.yml +1 -1
  78. data/fastlane/lib/fastlane/plugins/template/.github/workflows/test.yml +1 -1
  79. data/fastlane/lib/fastlane/version.rb +1 -1
  80. data/fastlane/swift/Deliverfile.swift +1 -1
  81. data/fastlane/swift/DeliverfileProtocol.swift +1 -1
  82. data/fastlane/swift/Fastlane.swift +152 -102
  83. data/fastlane/swift/Gymfile.swift +1 -1
  84. data/fastlane/swift/GymfileProtocol.swift +1 -1
  85. data/fastlane/swift/Matchfile.swift +1 -1
  86. data/fastlane/swift/MatchfileProtocol.swift +1 -1
  87. data/fastlane/swift/Precheckfile.swift +1 -1
  88. data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
  89. data/fastlane/swift/Scanfile.swift +1 -1
  90. data/fastlane/swift/ScanfileProtocol.swift +5 -1
  91. data/fastlane/swift/Screengrabfile.swift +1 -1
  92. data/fastlane/swift/ScreengrabfileProtocol.swift +4 -4
  93. data/fastlane/swift/Snapshotfile.swift +1 -1
  94. data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
  95. data/fastlane/swift/formatting/Brewfile.lock.json +19 -11
  96. data/fastlane_core/lib/fastlane_core/keychain_importer.rb +11 -4
  97. data/fastlane_core/lib/fastlane_core/ui/disable_colors.rb +1 -0
  98. data/pilot/lib/pilot.rb +0 -1
  99. data/precheck/lib/precheck/module.rb +2 -0
  100. data/precheck/lib/precheck/options.rb +3 -3
  101. data/produce/lib/produce/commands_generator.rb +99 -27
  102. data/produce/lib/produce/developer_center.rb +42 -4
  103. data/produce/lib/produce/options.rb +1 -1
  104. data/produce/lib/produce/service.rb +270 -179
  105. data/scan/lib/scan/detect_values.rb +22 -13
  106. data/scan/lib/scan/module.rb +1 -0
  107. data/scan/lib/scan/options.rb +12 -1
  108. data/scan/lib/scan/test_command_generator.rb +29 -6
  109. data/scan/lib/scan/xcpretty_reporter_options_generator.rb +1 -1
  110. data/screengrab/lib/screengrab/android_environment.rb +2 -52
  111. data/screengrab/lib/screengrab/dependency_checker.rb +0 -20
  112. data/screengrab/lib/screengrab/options.rb +5 -2
  113. data/screengrab/lib/screengrab/runner.rb +109 -107
  114. data/sigh/lib/sigh/options.rb +2 -1
  115. data/snapshot/lib/assets/SnapfileTemplate +2 -1
  116. data/snapshot/lib/assets/SnapfileTemplate.swift +2 -1
  117. data/snapshot/lib/assets/SnapshotHelper.swift +14 -10
  118. data/snapshot/lib/snapshot/reports_generator.rb +3 -1
  119. data/snapshot/lib/snapshot/test_command_generator.rb +16 -2
  120. data/spaceship/lib/spaceship/client.rb +19 -3
  121. data/spaceship/lib/spaceship/connect_api/models/bundle_id.rb +8 -0
  122. data/spaceship/lib/spaceship/connect_api/models/bundle_id_capability.rb +58 -17
  123. data/spaceship/lib/spaceship/connect_api/models/user.rb +17 -3
  124. data/spaceship/lib/spaceship/connect_api/models/user_invitation.rb +26 -5
  125. data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +41 -1
  126. data/spaceship/lib/spaceship/connect_api/testflight/client.rb +3 -0
  127. data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +39 -0
  128. data/spaceship/lib/spaceship/connect_api/token.rb +2 -1
  129. data/spaceship/lib/spaceship/connect_api/tunes/client.rb +3 -0
  130. data/spaceship/lib/spaceship/connect_api/users/client.rb +3 -0
  131. data/spaceship/lib/spaceship/connect_api/users/users.rb +24 -2
  132. data/spaceship/lib/spaceship/tunes/tunes_client.rb +3 -0
  133. data/supply/lib/supply/client.rb +7 -1
  134. data/supply/lib/supply/options.rb +5 -0
  135. metadata +25 -31
  136. data/fastlane/lib/fastlane/.erb_template_helper.rb.swp +0 -0
  137. data/fastlane/lib/fastlane/helper/.git_helper.rb.swp +0 -0
  138. data/gym/lib/gym/generators/.package_command_generator_xcode7.rb.swp +0 -0
  139. data/pilot/lib/pilot/features.rb +0 -0
  140. data/spaceship/lib/spaceship/.DS_Store +0 -0
  141. data/spaceship/lib/spaceship/connect_api/models/.app_store_version_submission.rb.swp +0 -0
@@ -28,7 +28,6 @@ module Fastlane
28
28
  FastlaneCore::ConfigItem.new(key: :path,
29
29
  env_name: "FL_VERSION_PODSPEC_PATH",
30
30
  description: "You must specify the path to the podspec file",
31
- is_string: true,
32
31
  code_gen_sensitive: true,
33
32
  default_value: Dir["*.podspec"].last,
34
33
  default_value_dynamic: true,
@@ -38,7 +37,7 @@ module Fastlane
38
37
  FastlaneCore::ConfigItem.new(key: :require_variable_prefix,
39
38
  env_name: "FL_VERSION_BUMP_PODSPEC_VERSION_REQUIRE_VARIABLE_PREFIX",
40
39
  description: "true by default, this is used for non CocoaPods version bumps only",
41
- is_string: false,
40
+ type: Boolean,
42
41
  default_value: true)
43
42
  ]
44
43
  end
@@ -243,7 +243,7 @@ module Fastlane
243
243
  FastlaneCore::ConfigItem.new(key: :integration_number,
244
244
  env_name: "FL_XCODE_SERVER_GET_ASSETS_INTEGRATION_NUMBER",
245
245
  description: "Optionally you can override which integration's assets should be downloaded. If not provided, the latest integration is used",
246
- is_string: false,
246
+ type: Integer,
247
247
  optional: true),
248
248
  FastlaneCore::ConfigItem.new(key: :username,
249
249
  env_name: "FL_XCODE_SERVER_GET_ASSETS_USERNAME",
@@ -265,13 +265,13 @@ module Fastlane
265
265
  env_name: "FL_XCODE_SERVER_GET_ASSETS_KEEP_ALL_ASSETS",
266
266
  description: "Whether to keep all assets or let the script delete everything except for the .xcarchive",
267
267
  optional: true,
268
- is_string: false,
268
+ type: Boolean,
269
269
  default_value: false),
270
270
  FastlaneCore::ConfigItem.new(key: :trust_self_signed_certs,
271
271
  env_name: "FL_XCODE_SERVER_GET_ASSETS_TRUST_SELF_SIGNED_CERTS",
272
272
  description: "Whether to trust self-signed certs on your Xcode Server",
273
273
  optional: true,
274
- is_string: false,
274
+ type: Boolean,
275
275
  default_value: true)
276
276
  ]
277
277
  end
@@ -1,35 +1,75 @@
1
1
  module Fastlane
2
2
  module Actions
3
3
  class ZipAction < Action
4
- def self.run(params)
5
- UI.message("Compressing #{params[:path]}...")
4
+ class Runner
5
+ attr_reader :output_path, :path, :verbose, :password, :symlinks, :include, :exclude
6
+
7
+ def initialize(params)
8
+ @output_path = File.expand_path(params[:output_path] || params[:path])
9
+ @path = params[:path]
10
+ @verbose = params[:verbose]
11
+ @password = params[:password]
12
+ @symlinks = params[:symlinks]
13
+ @include = params[:include]
14
+ @exclude = params[:exclude]
15
+
16
+ @output_path += ".zip" unless @output_path.end_with?(".zip")
17
+ end
6
18
 
7
- params[:output_path] ||= params[:path]
19
+ def run
20
+ UI.message("Compressing #{path}...")
8
21
 
9
- absolute_output_path = File.expand_path(params[:output_path])
22
+ create_output_dir
23
+ run_zip_command
10
24
 
11
- # Appends ".zip" if path does not end in ".zip"
12
- unless absolute_output_path.end_with?(".zip")
13
- absolute_output_path += ".zip"
25
+ UI.success("Successfully generated zip file at path '#{output_path}'")
26
+ output_path
14
27
  end
15
28
 
16
- absolute_output_dir = File.expand_path("..", absolute_output_path)
17
- FileUtils.mkdir_p(absolute_output_dir)
18
-
19
- Dir.chdir(File.expand_path("..", params[:path])) do # required to properly zip
20
- zip_options = params[:verbose] ? "r" : "rq"
21
- zip_options += "y" if params[:symlinks]
29
+ def create_output_dir
30
+ output_dir = File.expand_path("..", output_path)
31
+ FileUtils.mkdir_p(output_dir)
32
+ end
22
33
 
23
- if params[:password]
24
- password_option = "-P '#{params[:password]}'"
25
- Actions.sh("zip -#{zip_options} #{password_option} #{absolute_output_path.shellescape} #{File.basename(params[:path]).shellescape}")
26
- else
27
- Actions.sh("zip -#{zip_options} #{absolute_output_path.shellescape} #{File.basename(params[:path]).shellescape}")
34
+ def run_zip_command
35
+ # The 'zip' command archives relative to the working directory, chdir to produce expected results relative to `path`
36
+ Dir.chdir(File.expand_path("..", path)) do
37
+ Actions.sh(zip_command)
28
38
  end
29
39
  end
30
40
 
31
- UI.success("Successfully generated zip file at path '#{File.expand_path(absolute_output_path)}'")
32
- return File.expand_path(absolute_output_path)
41
+ def zip_command
42
+ zip_options = verbose ? "r" : "rq"
43
+ zip_options += "y" if symlinks
44
+
45
+ command = ["zip", "-#{zip_options}"]
46
+
47
+ if password
48
+ command << "-P"
49
+ command << password
50
+ end
51
+
52
+ # The zip command is executed from the paths **parent** directory, as a result we use just the basename, which is the file or folder within
53
+ basename = File.basename(path)
54
+
55
+ command << output_path
56
+ command << basename
57
+
58
+ unless include.empty?
59
+ command << "-i"
60
+ command += include.map { |path| File.join(basename, path) }
61
+ end
62
+
63
+ unless exclude.empty?
64
+ command << "-x"
65
+ command += exclude.map { |path| File.join(basename, path) }
66
+ end
67
+
68
+ command
69
+ end
70
+ end
71
+ def self.run(params)
72
+ Runner.new(params).run
33
73
  end
34
74
 
35
75
  #####################################################
@@ -46,7 +86,8 @@ module Fastlane
46
86
  env_name: "FL_ZIP_PATH",
47
87
  description: "Path to the directory or file to be zipped",
48
88
  verify_block: proc do |value|
49
- UI.user_error!("Couldn't find file/folder at path '#{File.expand_path(value)}'") unless File.exist?(value)
89
+ path = File.expand_path(value)
90
+ UI.user_error!("Couldn't find file/folder at path '#{path}'") unless File.exist?(path)
50
91
  end),
51
92
  FastlaneCore::ConfigItem.new(key: :output_path,
52
93
  env_name: "FL_ZIP_OUTPUT_NAME",
@@ -67,7 +108,19 @@ module Fastlane
67
108
  description: "Store symbolic links as such in the zip archive",
68
109
  optional: true,
69
110
  type: Boolean,
70
- default_value: false)
111
+ default_value: false),
112
+ FastlaneCore::ConfigItem.new(key: :include,
113
+ env_name: "FL_ZIP_INCLUDE",
114
+ description: "Array of paths or patterns to include",
115
+ optional: true,
116
+ type: Array,
117
+ default_value: []),
118
+ FastlaneCore::ConfigItem.new(key: :exclude,
119
+ env_name: "FL_ZIP_EXCLUDE",
120
+ description: "Array of paths or patterns to exclude",
121
+ optional: true,
122
+ type: Array,
123
+ default_value: [])
71
124
  ]
72
125
  end
73
126
 
@@ -88,6 +141,17 @@ module Fastlane
88
141
  output_path: "Latest.app.zip",
89
142
  verbose: false,
90
143
  symlinks: true
144
+ )',
145
+ 'zip(
146
+ path: "./",
147
+ output_path: "Source Code.zip",
148
+ exclude: [".git/*"]
149
+ )',
150
+ 'zip(
151
+ path: "./",
152
+ output_path: "Swift Code.zip",
153
+ include: ["**/*.swift"],
154
+ exclude: ["Package.swift", "vendor/*", "Pods/*"]
91
155
  )'
92
156
  ]
93
157
  end
@@ -44,7 +44,7 @@ module Fastlane
44
44
  output << ""
45
45
  end
46
46
 
47
- output << "This README.md is auto-generated and will be re-generated every time [fastlane](https://fastlane.tools) is run."
47
+ output << "This README.md is auto-generated and will be re-generated every time [_fastlane_](https://fastlane.tools) is run."
48
48
  output << "More information about fastlane can be found on [fastlane.tools](https://fastlane.tools)."
49
49
  output << "The documentation of fastlane can be found on [docs.fastlane.tools](https://docs.fastlane.tools)."
50
50
  output << ""
@@ -175,7 +175,7 @@ module Fastlane
175
175
  mkdocs_yml_path = File.join(target_path, "mkdocs.yml")
176
176
  raise "Could not find mkdocs.yml in #{target_path}, make sure to point to the fastlane/docs repo" unless File.exist?(mkdocs_yml_path)
177
177
  mkdocs_yml = YAML.load_file(mkdocs_yml_path)
178
- hidden_actions_array = mkdocs_yml["pages"].find { |p| !p["_Actions"].nil? }
178
+ hidden_actions_array = mkdocs_yml["nav"].find { |p| !p["_Actions"].nil? }
179
179
  hidden_actions_array["_Actions"] = all_actions_ref_yml
180
180
  File.write(mkdocs_yml_path, mkdocs_yml.to_yaml)
181
181
 
@@ -7,7 +7,7 @@ jobs:
7
7
  build:
8
8
  docker:
9
9
  # specify the version you desire here
10
- - image: circleci/ruby:2.4.2
10
+ - image: circleci/ruby:2.5
11
11
 
12
12
  working_directory: ~/repo
13
13
 
@@ -17,7 +17,7 @@ jobs:
17
17
  - name: Set up Ruby
18
18
  uses: ruby/setup-ruby@v1
19
19
  with:
20
- ruby-version: 2.4
20
+ ruby-version: 2.5
21
21
  - name: Install dependencies
22
22
  run: bundle check || bundle install --jobs=4 --retry=3 --path vendor/bundle
23
23
  - name: Run tests
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.186.0'.freeze
2
+ VERSION = '2.190.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 = '1.12.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.186.0
20
+ // Generated with fastlane 2.190.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.74]
259
+ // FastlaneRunnerAPIVersion [0.9.78]
@@ -204,7 +204,7 @@ public func appStoreConnectApiKey(keyId: String,
204
204
  keyFilepath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
205
205
  keyContent: OptionalConfigValue<String?> = .fastlaneDefault(nil),
206
206
  isKeyContentBase64: OptionalConfigValue<Bool> = .fastlaneDefault(false),
207
- duration: Int = 1200,
207
+ duration: Int = 500,
208
208
  inHouse: OptionalConfigValue<Bool> = .fastlaneDefault(false),
209
209
  setSpaceshipToken: OptionalConfigValue<Bool> = .fastlaneDefault(true))
210
210
  {
@@ -495,13 +495,13 @@ public func appium(platform: String,
495
495
 
496
496
  Runs `appledoc [OPTIONS] <paths to source dirs or files>` for the project
497
497
  */
498
- public func appledoc(input: Any,
498
+ public func appledoc(input: [String],
499
499
  output: OptionalConfigValue<String?> = .fastlaneDefault(nil),
500
500
  templates: OptionalConfigValue<String?> = .fastlaneDefault(nil),
501
501
  docsetInstallPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
502
502
  include: OptionalConfigValue<String?> = .fastlaneDefault(nil),
503
- ignore: Any? = nil,
504
- excludeOutput: Any? = nil,
503
+ ignore: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
504
+ excludeOutput: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
505
505
  indexDesc: OptionalConfigValue<String?> = .fastlaneDefault(nil),
506
506
  projectName: String,
507
507
  projectVersion: OptionalConfigValue<String?> = .fastlaneDefault(nil),
@@ -538,16 +538,16 @@ public func appledoc(input: Any,
538
538
  exitThreshold: Int = 2,
539
539
  docsSectionTitle: OptionalConfigValue<String?> = .fastlaneDefault(nil),
540
540
  warnings: OptionalConfigValue<String?> = .fastlaneDefault(nil),
541
- logformat: Any? = nil,
542
- verbose: Any? = nil)
541
+ logformat: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
542
+ verbose: OptionalConfigValue<String?> = .fastlaneDefault(nil))
543
543
  {
544
544
  let inputArg = RubyCommand.Argument(name: "input", value: input, type: nil)
545
545
  let outputArg = output.asRubyArgument(name: "output", type: nil)
546
546
  let templatesArg = templates.asRubyArgument(name: "templates", type: nil)
547
547
  let docsetInstallPathArg = docsetInstallPath.asRubyArgument(name: "docset_install_path", type: nil)
548
548
  let includeArg = include.asRubyArgument(name: "include", type: nil)
549
- let ignoreArg = RubyCommand.Argument(name: "ignore", value: ignore, type: nil)
550
- let excludeOutputArg = RubyCommand.Argument(name: "exclude_output", value: excludeOutput, type: nil)
549
+ let ignoreArg = ignore.asRubyArgument(name: "ignore", type: nil)
550
+ let excludeOutputArg = excludeOutput.asRubyArgument(name: "exclude_output", type: nil)
551
551
  let indexDescArg = indexDesc.asRubyArgument(name: "index_desc", type: nil)
552
552
  let projectNameArg = RubyCommand.Argument(name: "project_name", value: projectName, type: nil)
553
553
  let projectVersionArg = projectVersion.asRubyArgument(name: "project_version", type: nil)
@@ -584,8 +584,8 @@ public func appledoc(input: Any,
584
584
  let exitThresholdArg = RubyCommand.Argument(name: "exit_threshold", value: exitThreshold, type: nil)
585
585
  let docsSectionTitleArg = docsSectionTitle.asRubyArgument(name: "docs_section_title", type: nil)
586
586
  let warningsArg = warnings.asRubyArgument(name: "warnings", type: nil)
587
- let logformatArg = RubyCommand.Argument(name: "logformat", value: logformat, type: nil)
588
- let verboseArg = RubyCommand.Argument(name: "verbose", value: verbose, type: nil)
587
+ let logformatArg = logformat.asRubyArgument(name: "logformat", type: nil)
588
+ let verboseArg = verbose.asRubyArgument(name: "verbose", type: nil)
589
589
  let array: [RubyCommand.Argument?] = [inputArg,
590
590
  outputArg,
591
591
  templatesArg,
@@ -1888,6 +1888,8 @@ public func buildAndroidApp(task: OptionalConfigValue<String?> = .fastlaneDefaul
1888
1888
  - trustPolicy: Sets level of security when dealing with signed gems. Accepts `LowSecurity`, `MediumSecurity` and `HighSecurity` as values
1889
1889
  - without: Exclude gems that are part of the specified named group
1890
1890
  - with: Include gems that are part of the specified named group
1891
+ - frozen: Don't allow the Gemfile.lock to be updated after install
1892
+ - redownload: Force download every gem, even if the required versions are already available locally
1891
1893
  */
1892
1894
  public func bundleInstall(binstubs: OptionalConfigValue<String?> = .fastlaneDefault(nil),
1893
1895
  clean: OptionalConfigValue<Bool> = .fastlaneDefault(false),
@@ -1906,7 +1908,9 @@ public func bundleInstall(binstubs: OptionalConfigValue<String?> = .fastlaneDefa
1906
1908
  standalone: OptionalConfigValue<String?> = .fastlaneDefault(nil),
1907
1909
  trustPolicy: OptionalConfigValue<String?> = .fastlaneDefault(nil),
1908
1910
  without: OptionalConfigValue<String?> = .fastlaneDefault(nil),
1909
- with: OptionalConfigValue<String?> = .fastlaneDefault(nil))
1911
+ with: OptionalConfigValue<String?> = .fastlaneDefault(nil),
1912
+ frozen: OptionalConfigValue<Bool> = .fastlaneDefault(false),
1913
+ redownload: OptionalConfigValue<Bool> = .fastlaneDefault(false))
1910
1914
  {
1911
1915
  let binstubsArg = binstubs.asRubyArgument(name: "binstubs", type: nil)
1912
1916
  let cleanArg = clean.asRubyArgument(name: "clean", type: nil)
@@ -1926,6 +1930,8 @@ public func bundleInstall(binstubs: OptionalConfigValue<String?> = .fastlaneDefa
1926
1930
  let trustPolicyArg = trustPolicy.asRubyArgument(name: "trust_policy", type: nil)
1927
1931
  let withoutArg = without.asRubyArgument(name: "without", type: nil)
1928
1932
  let withArg = with.asRubyArgument(name: "with", type: nil)
1933
+ let frozenArg = frozen.asRubyArgument(name: "frozen", type: nil)
1934
+ let redownloadArg = redownload.asRubyArgument(name: "redownload", type: nil)
1929
1935
  let array: [RubyCommand.Argument?] = [binstubsArg,
1930
1936
  cleanArg,
1931
1937
  fullIndexArg,
@@ -1943,7 +1949,9 @@ public func bundleInstall(binstubs: OptionalConfigValue<String?> = .fastlaneDefa
1943
1949
  standaloneArg,
1944
1950
  trustPolicyArg,
1945
1951
  withoutArg,
1946
- withArg]
1952
+ withArg,
1953
+ frozenArg,
1954
+ redownloadArg]
1947
1955
  let args: [RubyCommand.Argument] = array
1948
1956
  .filter { $0?.value != nil }
1949
1957
  .compactMap { $0 }
@@ -1956,7 +1964,7 @@ public func bundleInstall(binstubs: OptionalConfigValue<String?> = .fastlaneDefa
1956
1964
 
1957
1965
  - parameters:
1958
1966
  - androidHome: Path to the root of your Android SDK installation, e.g. ~/tools/android-sdk-macosx
1959
- - buildToolsVersion: The Android build tools version to use, e.g. '23.0.2'
1967
+ - buildToolsVersion: **DEPRECATED!** The Android build tools version to use, e.g. '23.0.2'
1960
1968
  - locales: A list of locales which should be used
1961
1969
  - clearPreviousScreenshots: Enabling this option will automatically clear previously generated screenshots before running screengrab
1962
1970
  - outputDirectory: The directory where to store the screenshots
@@ -1967,8 +1975,8 @@ public func bundleInstall(binstubs: OptionalConfigValue<String?> = .fastlaneDefa
1967
1975
  - useTestsInClasses: Only run tests in these Java classes
1968
1976
  - launchArguments: Additional launch arguments
1969
1977
  - testInstrumentationRunner: The fully qualified class name of your test instrumentation runner
1970
- - endingLocale: Return the device to this locale after running tests
1971
- - useAdbRoot: Restarts the adb daemon using `adb root` to allow access to screenshots directories on device. Use if getting 'Permission denied' errors
1978
+ - endingLocale: **DEPRECATED!** Return the device to this locale after running tests
1979
+ - useAdbRoot: **DEPRECATED!** Restarts the adb daemon using `adb root` to allow access to screenshots directories on device. Use if getting 'Permission denied' errors
1972
1980
  - appApkPath: The path to the APK for the app under test
1973
1981
  - testsApkPath: The path to the APK for the the tests bundle
1974
1982
  - specificDevice: Use the device or emulator with the given serial number or qualifier
@@ -2771,7 +2779,7 @@ public func chatwork(apiToken: String,
2771
2779
  teamId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
2772
2780
  teamName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
2773
2781
  platform: String = "ios",
2774
- defaultRuleLevel: Any = "error",
2782
+ defaultRuleLevel: String = "error",
2775
2783
  includeInAppPurchases: OptionalConfigValue<Bool> = .fastlaneDefault(true),
2776
2784
  useLive: OptionalConfigValue<Bool> = .fastlaneDefault(false),
2777
2785
  negativeAppleSentiment: Any? = nil,
@@ -2854,11 +2862,29 @@ public func cleanBuildArtifacts(excludePattern: OptionalConfigValue<String?> = .
2854
2862
  /**
2855
2863
  Remove the cache for pods
2856
2864
 
2857
- - parameter name: Pod name to be removed from cache
2865
+ - parameters:
2866
+ - name: Pod name to be removed from cache
2867
+ - noAnsi: Show output without ANSI codes
2868
+ - verbose: Show more debugging information
2869
+ - silent: Show nothing
2870
+ - allowRoot: Allows CocoaPods to run as root
2858
2871
  */
2859
- public func cleanCocoapodsCache(name: OptionalConfigValue<String?> = .fastlaneDefault(nil)) {
2872
+ public func cleanCocoapodsCache(name: OptionalConfigValue<String?> = .fastlaneDefault(nil),
2873
+ noAnsi: OptionalConfigValue<Bool> = .fastlaneDefault(false),
2874
+ verbose: OptionalConfigValue<Bool> = .fastlaneDefault(false),
2875
+ silent: OptionalConfigValue<Bool> = .fastlaneDefault(false),
2876
+ allowRoot: OptionalConfigValue<Bool> = .fastlaneDefault(false))
2877
+ {
2860
2878
  let nameArg = name.asRubyArgument(name: "name", type: nil)
2861
- let array: [RubyCommand.Argument?] = [nameArg]
2879
+ let noAnsiArg = noAnsi.asRubyArgument(name: "no_ansi", type: nil)
2880
+ let verboseArg = verbose.asRubyArgument(name: "verbose", type: nil)
2881
+ let silentArg = silent.asRubyArgument(name: "silent", type: nil)
2882
+ let allowRootArg = allowRoot.asRubyArgument(name: "allow_root", type: nil)
2883
+ let array: [RubyCommand.Argument?] = [nameArg,
2884
+ noAnsiArg,
2885
+ verboseArg,
2886
+ silentArg,
2887
+ allowRootArg]
2862
2888
  let args: [RubyCommand.Argument] = array
2863
2889
  .filter { $0?.value != nil }
2864
2890
  .compactMap { $0 }
@@ -3266,11 +3292,11 @@ public func createAppOnManagedPlayStore(jsonKey: OptionalConfigValue<String?> =
3266
3292
  - platform: The platform to use (optional)
3267
3293
  - platforms: The platforms to use (optional)
3268
3294
  - language: Primary Language (e.g. 'en-US', 'fr-FR')
3269
- - companyName: The name of your company. Only required if it's the first app you create
3295
+ - companyName: The name of your company. It's used to set company name on App Store Connect team's app pages. Only required if it's the first app you create
3270
3296
  - skipItc: Skip the creation of the app on App Store Connect
3271
3297
  - itcUsers: Array of App Store Connect users. If provided, you can limit access to this newly created app for users with the App Manager, Developer, Marketer or Sales roles
3272
3298
  - enabledFeatures: **DEPRECATED!** Please use `enable_services` instead - Array with Spaceship App Services
3273
- - enableServices: Array with Spaceship App Services (e.g. access_wifi: (on|off), app_group: (on|off), apple_pay: (on|off), associated_domains: (on|off), auto_fill_credential: (on|off), data_protection: (complete|unlessopen|untilfirstauth), game_center: (on|off), health_kit: (on|off), home_kit: (on|off), hotspot: (on|off), icloud: (legacy|cloudkit), in_app_purchase: (on|off), inter_app_audio: (on|off), multipath: (on|off), network_extension: (on|off), nfc_tag_reading: (on|off), personal_vpn: (on|off), passbook: (on|off), push_notification: (on|off), siri_kit: (on|off), vpn_configuration: (on|off), wallet: (on|off), wireless_accessory: (on|off))
3299
+ - enableServices: Array with Spaceship App Services (e.g. access_wifi: (on|off), app_attest: (on|off), app_group: (on|off), apple_pay: (on|off), associated_domains: (on|off), auto_fill_credential: (on|off), class_kit: (on|off), icloud: (legacy|cloudkit), custom_network_protocol: (on|off), data_protection: (complete|unlessopen|untilfirstauth), extended_virtual_address_space: (on|off), family_controls: (on|off), file_provider_testing_mode: (on|off), fonts: (on|off), game_center: (ios|mac), health_kit: (on|off), hls_interstitial_preview: (on|off), home_kit: (on|off), hotspot: (on|off), in_app_purchase: (on|off), inter_app_audio: (on|off), low_latency_hls: (on|off), managed_associated_domains: (on|off), maps: (on|off), multipath: (on|off), network_extension: (on|off), nfc_tag_reading: (on|off), personal_vpn: (on|off), passbook: (on|off), push_notification: (on|off), sign_in_with_apple: (on), siri_kit: (on|off), system_extension: (on|off), user_management: (on|off), vpn_configuration: (on|off), wallet: (on|off), wireless_accessory: (on|off), car_play_audio_app: (on|off), car_play_messaging_app: (on|off), car_play_navigation_app: (on|off), car_play_voip_calling_app: (on|off), critical_alerts: (on|off), hotspot_helper: (on|off), driver_kit: (on|off), driver_kit_endpoint_security: (on|off), driver_kit_family_hid_device: (on|off), driver_kit_family_networking: (on|off), driver_kit_family_serial: (on|off), driver_kit_hid_event_service: (on|off), driver_kit_transport_hid: (on|off), multitasking_camera_access: (on|off), sf_universal_link_api: (on|off), vp9_decoder: (on|off), music_kit: (on|off), shazam_kit: (on|off), communication_notifications: (on|off), group_activities: (on|off), health_kit_estimate_recalibration: (on|off), time_sensitive_notifications: (on|off))
3274
3300
  - skipDevcenter: Skip the creation of the app on the Apple Developer Portal
3275
3301
  - teamId: The ID of your Developer Portal team if you're in multiple teams
3276
3302
  - teamName: The name of your Developer Portal team if you're in multiple teams
@@ -3355,7 +3381,7 @@ public func createAppOnline(username: String,
3355
3381
  - password: Password for the keychain
3356
3382
  - defaultKeychain: Should the newly created Keychain be the new system default keychain
3357
3383
  - unlock: Unlock keychain after create
3358
- - timeout: timeout interval in seconds
3384
+ - timeout: timeout interval in seconds. Set `0` if you want to specify "no time-out"
3359
3385
  - lockWhenSleeps: Lock keychain when the system sleeps
3360
3386
  - lockAfterTimeout: Lock keychain after timeout interval
3361
3387
  - addToSearchList: Add keychain to search list
@@ -4102,7 +4128,7 @@ public func downloadDsyms(username: String,
4102
4128
  public func downloadFromPlayStore(packageName: String,
4103
4129
  versionName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
4104
4130
  track: String = "production",
4105
- metadataPath: String = "./metadata",
4131
+ metadataPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
4106
4132
  key: OptionalConfigValue<String?> = .fastlaneDefault(nil),
4107
4133
  issuer: OptionalConfigValue<String?> = .fastlaneDefault(nil),
4108
4134
  jsonKey: OptionalConfigValue<String?> = .fastlaneDefault(nil),
@@ -4113,7 +4139,7 @@ public func downloadFromPlayStore(packageName: String,
4113
4139
  let packageNameArg = RubyCommand.Argument(name: "package_name", value: packageName, type: nil)
4114
4140
  let versionNameArg = versionName.asRubyArgument(name: "version_name", type: nil)
4115
4141
  let trackArg = RubyCommand.Argument(name: "track", value: track, type: nil)
4116
- let metadataPathArg = RubyCommand.Argument(name: "metadata_path", value: metadataPath, type: nil)
4142
+ let metadataPathArg = metadataPath.asRubyArgument(name: "metadata_path", type: nil)
4117
4143
  let keyArg = key.asRubyArgument(name: "key", type: nil)
4118
4144
  let issuerArg = issuer.asRubyArgument(name: "issuer", type: nil)
4119
4145
  let jsonKeyArg = jsonKey.asRubyArgument(name: "json_key", type: nil)
@@ -6391,7 +6417,7 @@ public func jazzy(config: OptionalConfigValue<String?> = .fastlaneDefault(nil),
6391
6417
  version: OptionalConfigValue<String?> = .fastlaneDefault(nil),
6392
6418
  platform: String = "ios",
6393
6419
  initialBuildNumber: Int = 1,
6394
- teamId: Any? = nil,
6420
+ teamId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
6395
6421
  teamName: OptionalConfigValue<String?> = .fastlaneDefault(nil)) -> Int
6396
6422
  {
6397
6423
  let apiKeyPathArg = apiKeyPath.asRubyArgument(name: "api_key_path", type: nil)
@@ -6402,7 +6428,7 @@ public func jazzy(config: OptionalConfigValue<String?> = .fastlaneDefault(nil),
6402
6428
  let versionArg = version.asRubyArgument(name: "version", type: nil)
6403
6429
  let platformArg = RubyCommand.Argument(name: "platform", value: platform, type: nil)
6404
6430
  let initialBuildNumberArg = RubyCommand.Argument(name: "initial_build_number", value: initialBuildNumber, type: nil)
6405
- let teamIdArg = RubyCommand.Argument(name: "team_id", value: teamId, type: nil)
6431
+ let teamIdArg = teamId.asRubyArgument(name: "team_id", type: nil)
6406
6432
  let teamNameArg = teamName.asRubyArgument(name: "team_name", type: nil)
6407
6433
  let array: [RubyCommand.Argument?] = [apiKeyPathArg,
6408
6434
  apiKeyArg,
@@ -6485,7 +6511,7 @@ public func mailgun(mailgunSandboxDomain: OptionalConfigValue<String?> = .fastla
6485
6511
  ciBuildLink: OptionalConfigValue<String?> = .fastlaneDefault(nil),
6486
6512
  templatePath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
6487
6513
  replyTo: OptionalConfigValue<String?> = .fastlaneDefault(nil),
6488
- attachment: Any? = nil,
6514
+ attachment: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
6489
6515
  customPlaceholders: [String: Any] = [:])
6490
6516
  {
6491
6517
  let mailgunSandboxDomainArg = mailgunSandboxDomain.asRubyArgument(name: "mailgun_sandbox_domain", type: nil)
@@ -6502,7 +6528,7 @@ public func mailgun(mailgunSandboxDomain: OptionalConfigValue<String?> = .fastla
6502
6528
  let ciBuildLinkArg = ciBuildLink.asRubyArgument(name: "ci_build_link", type: nil)
6503
6529
  let templatePathArg = templatePath.asRubyArgument(name: "template_path", type: nil)
6504
6530
  let replyToArg = replyTo.asRubyArgument(name: "reply_to", type: nil)
6505
- let attachmentArg = RubyCommand.Argument(name: "attachment", value: attachment, type: nil)
6531
+ let attachmentArg = attachment.asRubyArgument(name: "attachment", type: nil)
6506
6532
  let customPlaceholdersArg = RubyCommand.Argument(name: "custom_placeholders", value: customPlaceholders, type: nil)
6507
6533
  let array: [RubyCommand.Argument?] = [mailgunSandboxDomainArg,
6508
6534
  mailgunSandboxPostmasterArg,
@@ -6954,7 +6980,7 @@ public func minFastlaneVersion() {
6954
6980
  - parameters:
6955
6981
  - username: Your Apple ID Username
6956
6982
  - appIdentifier: App Identifier (Bundle ID, e.g. com.krausefx.app)
6957
- - services: Array with Spaceship App Services (e.g. access_wifi: (on|off)(:on|:off)(true|false), app_group: (on|off)(:on|:off)(true|false), apple_pay: (on|off)(:on|:off)(true|false), associated_domains: (on|off)(:on|:off)(true|false), auto_fill_credential: (on|off)(:on|:off)(true|false), data_protection: (complete|unlessopen|untilfirstauth)(:on|:off)(true|false), game_center: (on|off)(:on|:off)(true|false), health_kit: (on|off)(:on|:off)(true|false), home_kit: (on|off)(:on|:off)(true|false), hotspot: (on|off)(:on|:off)(true|false), icloud: (legacy|cloudkit)(:on|:off)(true|false), in_app_purchase: (on|off)(:on|:off)(true|false), inter_app_audio: (on|off)(:on|:off)(true|false), multipath: (on|off)(:on|:off)(true|false), network_extension: (on|off)(:on|:off)(true|false), nfc_tag_reading: (on|off)(:on|:off)(true|false), personal_vpn: (on|off)(:on|:off)(true|false), passbook: (on|off)(:on|:off)(true|false), push_notification: (on|off)(:on|:off)(true|false), siri_kit: (on|off)(:on|:off)(true|false), vpn_configuration: (on|off)(:on|:off)(true|false), wallet: (on|off)(:on|:off)(true|false), wireless_accessory: (on|off)(:on|:off)(true|false))
6983
+ - services: Array with Spaceship App Services (e.g. access_wifi: (on|off)(:on|:off)(true|false), app_attest: (on|off)(:on|:off)(true|false), app_group: (on|off)(:on|:off)(true|false), apple_pay: (on|off)(:on|:off)(true|false), associated_domains: (on|off)(:on|:off)(true|false), auto_fill_credential: (on|off)(:on|:off)(true|false), class_kit: (on|off)(:on|:off)(true|false), icloud: (legacy|cloudkit)(:on|:off)(true|false), custom_network_protocol: (on|off)(:on|:off)(true|false), data_protection: (complete|unlessopen|untilfirstauth)(:on|:off)(true|false), extended_virtual_address_space: (on|off)(:on|:off)(true|false), family_controls: (on|off)(:on|:off)(true|false), file_provider_testing_mode: (on|off)(:on|:off)(true|false), fonts: (on|off)(:on|:off)(true|false), game_center: (ios|mac)(:on|:off)(true|false), health_kit: (on|off)(:on|:off)(true|false), hls_interstitial_preview: (on|off)(:on|:off)(true|false), home_kit: (on|off)(:on|:off)(true|false), hotspot: (on|off)(:on|:off)(true|false), in_app_purchase: (on|off)(:on|:off)(true|false), inter_app_audio: (on|off)(:on|:off)(true|false), low_latency_hls: (on|off)(:on|:off)(true|false), managed_associated_domains: (on|off)(:on|:off)(true|false), maps: (on|off)(:on|:off)(true|false), multipath: (on|off)(:on|:off)(true|false), network_extension: (on|off)(:on|:off)(true|false), nfc_tag_reading: (on|off)(:on|:off)(true|false), personal_vpn: (on|off)(:on|:off)(true|false), passbook: (on|off)(:on|:off)(true|false), push_notification: (on|off)(:on|:off)(true|false), sign_in_with_apple: (on)(:on|:off)(true|false), siri_kit: (on|off)(:on|:off)(true|false), system_extension: (on|off)(:on|:off)(true|false), user_management: (on|off)(:on|:off)(true|false), vpn_configuration: (on|off)(:on|:off)(true|false), wallet: (on|off)(:on|:off)(true|false), wireless_accessory: (on|off)(:on|:off)(true|false), car_play_audio_app: (on|off)(:on|:off)(true|false), car_play_messaging_app: (on|off)(:on|:off)(true|false), car_play_navigation_app: (on|off)(:on|:off)(true|false), car_play_voip_calling_app: (on|off)(:on|:off)(true|false), critical_alerts: (on|off)(:on|:off)(true|false), hotspot_helper: (on|off)(:on|:off)(true|false), driver_kit: (on|off)(:on|:off)(true|false), driver_kit_endpoint_security: (on|off)(:on|:off)(true|false), driver_kit_family_hid_device: (on|off)(:on|:off)(true|false), driver_kit_family_networking: (on|off)(:on|:off)(true|false), driver_kit_family_serial: (on|off)(:on|:off)(true|false), driver_kit_hid_event_service: (on|off)(:on|:off)(true|false), driver_kit_transport_hid: (on|off)(:on|:off)(true|false), multitasking_camera_access: (on|off)(:on|:off)(true|false), sf_universal_link_api: (on|off)(:on|:off)(true|false), vp9_decoder: (on|off)(:on|:off)(true|false), music_kit: (on|off)(:on|:off)(true|false), shazam_kit: (on|off)(:on|:off)(true|false), communication_notifications: (on|off)(:on|:off)(true|false), group_activities: (on|off)(:on|:off)(true|false), health_kit_estimate_recalibration: (on|off)(:on|:off)(true|false), time_sensitive_notifications: (on|off)(:on|:off)(true|false))
6958
6984
  - teamId: The ID of your Developer Portal team if you're in multiple teams
6959
6985
  - teamName: The name of your Developer Portal team if you're in multiple teams
6960
6986
 
@@ -7176,8 +7202,8 @@ public func notify() {
7176
7202
 
7177
7203
  You can use this action to get the number of commits of this branch. This is useful if you want to set the build number to the number of commits. See `fastlane actions number_of_commits` for more details.
7178
7204
  */
7179
- @discardableResult public func numberOfCommits(all: Any? = nil) -> Int {
7180
- let allArg = RubyCommand.Argument(name: "all", value: all, type: nil)
7205
+ @discardableResult public func numberOfCommits(all: OptionalConfigValue<Bool?> = .fastlaneDefault(nil)) -> Int {
7206
+ let allArg = all.asRubyArgument(name: "all", type: nil)
7181
7207
  let array: [RubyCommand.Argument?] = [allArg]
7182
7208
  let args: [RubyCommand.Argument] = array
7183
7209
  .filter { $0?.value != nil }
@@ -7192,7 +7218,7 @@ public func notify() {
7192
7218
  - parameters:
7193
7219
  - oclintPath: The path to oclint binary
7194
7220
  - compileCommands: The json compilation database, use xctool reporter 'json-compilation-database'
7195
- - selectReqex: Select all files matching this reqex
7221
+ - selectReqex: **DEPRECATED!** Use `:select_regex` instead - Select all files matching this reqex
7196
7222
  - selectRegex: Select all files matching this regex
7197
7223
  - excludeRegex: Exclude all files matching this regex
7198
7224
  - reportType: The type of the report (default: html)
@@ -7214,19 +7240,19 @@ public func notify() {
7214
7240
  */
7215
7241
  public func oclint(oclintPath: String = "oclint",
7216
7242
  compileCommands: String = "compile_commands.json",
7217
- selectReqex: Any? = nil,
7218
- selectRegex: Any? = nil,
7219
- excludeRegex: Any? = nil,
7243
+ selectReqex: OptionalConfigValue<String?> = .fastlaneDefault(nil),
7244
+ selectRegex: OptionalConfigValue<String?> = .fastlaneDefault(nil),
7245
+ excludeRegex: OptionalConfigValue<String?> = .fastlaneDefault(nil),
7220
7246
  reportType: String = "html",
7221
7247
  reportPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
7222
7248
  listEnabledRules: OptionalConfigValue<Bool> = .fastlaneDefault(false),
7223
7249
  rc: OptionalConfigValue<String?> = .fastlaneDefault(nil),
7224
- thresholds: Any? = nil,
7225
- enableRules: Any? = nil,
7226
- disableRules: Any? = nil,
7227
- maxPriority1: Any? = nil,
7228
- maxPriority2: Any? = nil,
7229
- maxPriority3: Any? = nil,
7250
+ thresholds: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
7251
+ enableRules: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
7252
+ disableRules: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
7253
+ maxPriority1: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
7254
+ maxPriority2: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
7255
+ maxPriority3: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
7230
7256
  enableClangStaticAnalyzer: OptionalConfigValue<Bool> = .fastlaneDefault(false),
7231
7257
  enableGlobalAnalysis: OptionalConfigValue<Bool> = .fastlaneDefault(false),
7232
7258
  allowDuplicatedViolations: OptionalConfigValue<Bool> = .fastlaneDefault(false),
@@ -7234,19 +7260,19 @@ public func oclint(oclintPath: String = "oclint",
7234
7260
  {
7235
7261
  let oclintPathArg = RubyCommand.Argument(name: "oclint_path", value: oclintPath, type: nil)
7236
7262
  let compileCommandsArg = RubyCommand.Argument(name: "compile_commands", value: compileCommands, type: nil)
7237
- let selectReqexArg = RubyCommand.Argument(name: "select_reqex", value: selectReqex, type: nil)
7238
- let selectRegexArg = RubyCommand.Argument(name: "select_regex", value: selectRegex, type: nil)
7239
- let excludeRegexArg = RubyCommand.Argument(name: "exclude_regex", value: excludeRegex, type: nil)
7263
+ let selectReqexArg = selectReqex.asRubyArgument(name: "select_reqex", type: nil)
7264
+ let selectRegexArg = selectRegex.asRubyArgument(name: "select_regex", type: nil)
7265
+ let excludeRegexArg = excludeRegex.asRubyArgument(name: "exclude_regex", type: nil)
7240
7266
  let reportTypeArg = RubyCommand.Argument(name: "report_type", value: reportType, type: nil)
7241
7267
  let reportPathArg = reportPath.asRubyArgument(name: "report_path", type: nil)
7242
7268
  let listEnabledRulesArg = listEnabledRules.asRubyArgument(name: "list_enabled_rules", type: nil)
7243
7269
  let rcArg = rc.asRubyArgument(name: "rc", type: nil)
7244
- let thresholdsArg = RubyCommand.Argument(name: "thresholds", value: thresholds, type: nil)
7245
- let enableRulesArg = RubyCommand.Argument(name: "enable_rules", value: enableRules, type: nil)
7246
- let disableRulesArg = RubyCommand.Argument(name: "disable_rules", value: disableRules, type: nil)
7247
- let maxPriority1Arg = RubyCommand.Argument(name: "max_priority_1", value: maxPriority1, type: nil)
7248
- let maxPriority2Arg = RubyCommand.Argument(name: "max_priority_2", value: maxPriority2, type: nil)
7249
- let maxPriority3Arg = RubyCommand.Argument(name: "max_priority_3", value: maxPriority3, type: nil)
7270
+ let thresholdsArg = thresholds.asRubyArgument(name: "thresholds", type: nil)
7271
+ let enableRulesArg = enableRules.asRubyArgument(name: "enable_rules", type: nil)
7272
+ let disableRulesArg = disableRules.asRubyArgument(name: "disable_rules", type: nil)
7273
+ let maxPriority1Arg = maxPriority1.asRubyArgument(name: "max_priority_1", type: nil)
7274
+ let maxPriority2Arg = maxPriority2.asRubyArgument(name: "max_priority_2", type: nil)
7275
+ let maxPriority3Arg = maxPriority3.asRubyArgument(name: "max_priority_3", type: nil)
7250
7276
  let enableClangStaticAnalyzerArg = enableClangStaticAnalyzer.asRubyArgument(name: "enable_clang_static_analyzer", type: nil)
7251
7277
  let enableGlobalAnalysisArg = enableGlobalAnalysis.asRubyArgument(name: "enable_global_analysis", type: nil)
7252
7278
  let allowDuplicatedViolationsArg = allowDuplicatedViolations.asRubyArgument(name: "allow_duplicated_violations", type: nil)
@@ -7916,11 +7942,11 @@ public func println(message: OptionalConfigValue<String?> = .fastlaneDefault(nil
7916
7942
  - platform: The platform to use (optional)
7917
7943
  - platforms: The platforms to use (optional)
7918
7944
  - language: Primary Language (e.g. 'en-US', 'fr-FR')
7919
- - companyName: The name of your company. Only required if it's the first app you create
7945
+ - companyName: The name of your company. It's used to set company name on App Store Connect team's app pages. Only required if it's the first app you create
7920
7946
  - skipItc: Skip the creation of the app on App Store Connect
7921
7947
  - itcUsers: Array of App Store Connect users. If provided, you can limit access to this newly created app for users with the App Manager, Developer, Marketer or Sales roles
7922
7948
  - enabledFeatures: **DEPRECATED!** Please use `enable_services` instead - Array with Spaceship App Services
7923
- - enableServices: Array with Spaceship App Services (e.g. access_wifi: (on|off), app_group: (on|off), apple_pay: (on|off), associated_domains: (on|off), auto_fill_credential: (on|off), data_protection: (complete|unlessopen|untilfirstauth), game_center: (on|off), health_kit: (on|off), home_kit: (on|off), hotspot: (on|off), icloud: (legacy|cloudkit), in_app_purchase: (on|off), inter_app_audio: (on|off), multipath: (on|off), network_extension: (on|off), nfc_tag_reading: (on|off), personal_vpn: (on|off), passbook: (on|off), push_notification: (on|off), siri_kit: (on|off), vpn_configuration: (on|off), wallet: (on|off), wireless_accessory: (on|off))
7949
+ - enableServices: Array with Spaceship App Services (e.g. access_wifi: (on|off), app_attest: (on|off), app_group: (on|off), apple_pay: (on|off), associated_domains: (on|off), auto_fill_credential: (on|off), class_kit: (on|off), icloud: (legacy|cloudkit), custom_network_protocol: (on|off), data_protection: (complete|unlessopen|untilfirstauth), extended_virtual_address_space: (on|off), family_controls: (on|off), file_provider_testing_mode: (on|off), fonts: (on|off), game_center: (ios|mac), health_kit: (on|off), hls_interstitial_preview: (on|off), home_kit: (on|off), hotspot: (on|off), in_app_purchase: (on|off), inter_app_audio: (on|off), low_latency_hls: (on|off), managed_associated_domains: (on|off), maps: (on|off), multipath: (on|off), network_extension: (on|off), nfc_tag_reading: (on|off), personal_vpn: (on|off), passbook: (on|off), push_notification: (on|off), sign_in_with_apple: (on), siri_kit: (on|off), system_extension: (on|off), user_management: (on|off), vpn_configuration: (on|off), wallet: (on|off), wireless_accessory: (on|off), car_play_audio_app: (on|off), car_play_messaging_app: (on|off), car_play_navigation_app: (on|off), car_play_voip_calling_app: (on|off), critical_alerts: (on|off), hotspot_helper: (on|off), driver_kit: (on|off), driver_kit_endpoint_security: (on|off), driver_kit_family_hid_device: (on|off), driver_kit_family_networking: (on|off), driver_kit_family_serial: (on|off), driver_kit_hid_event_service: (on|off), driver_kit_transport_hid: (on|off), multitasking_camera_access: (on|off), sf_universal_link_api: (on|off), vp9_decoder: (on|off), music_kit: (on|off), shazam_kit: (on|off), communication_notifications: (on|off), group_activities: (on|off), health_kit_estimate_recalibration: (on|off), time_sensitive_notifications: (on|off))
7924
7950
  - skipDevcenter: Skip the creation of the app on the Apple Developer Portal
7925
7951
  - teamId: The ID of your Developer Portal team if you're in multiple teams
7926
7952
  - teamName: The name of your Developer Portal team if you're in multiple teams
@@ -8277,17 +8303,17 @@ public func registerDevices(devices: OptionalConfigValue<[String: Any]?> = .fast
8277
8303
  >- You have called the `ensure_git_status_clean` action prior to calling this action. This ensures that your repo started off in a clean state, so the only things that will get destroyed by this action are files that are created as a byproduct of the fastlane run.|
8278
8304
  >|
8279
8305
  */
8280
- public func resetGitRepo(files: Any? = nil,
8306
+ public func resetGitRepo(files: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
8281
8307
  force: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8282
8308
  skipClean: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8283
8309
  disregardGitignore: OptionalConfigValue<Bool> = .fastlaneDefault(true),
8284
- exclude: Any? = nil)
8310
+ exclude: OptionalConfigValue<String?> = .fastlaneDefault(nil))
8285
8311
  {
8286
- let filesArg = RubyCommand.Argument(name: "files", value: files, type: nil)
8312
+ let filesArg = files.asRubyArgument(name: "files", type: nil)
8287
8313
  let forceArg = force.asRubyArgument(name: "force", type: nil)
8288
8314
  let skipCleanArg = skipClean.asRubyArgument(name: "skip_clean", type: nil)
8289
8315
  let disregardGitignoreArg = disregardGitignore.asRubyArgument(name: "disregard_gitignore", type: nil)
8290
- let excludeArg = RubyCommand.Argument(name: "exclude", value: exclude, type: nil)
8316
+ let excludeArg = exclude.asRubyArgument(name: "exclude", type: nil)
8291
8317
  let array: [RubyCommand.Argument?] = [filesArg,
8292
8318
  forceArg,
8293
8319
  skipCleanArg,
@@ -8340,13 +8366,13 @@ public func resetSimulatorContents(ios: OptionalConfigValue<[String]?> = .fastla
8340
8366
  public func resign(ipa: String,
8341
8367
  signingIdentity: String,
8342
8368
  entitlements: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8343
- provisioningProfile: Any,
8369
+ provisioningProfile: String,
8344
8370
  version: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8345
8371
  displayName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8346
8372
  shortVersion: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8347
8373
  bundleVersion: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8348
8374
  bundleId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8349
- useAppEntitlements: Any? = nil,
8375
+ useAppEntitlements: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
8350
8376
  keychainPath: OptionalConfigValue<String?> = .fastlaneDefault(nil))
8351
8377
  {
8352
8378
  let ipaArg = RubyCommand.Argument(name: "ipa", value: ipa, type: nil)
@@ -8358,7 +8384,7 @@ public func resign(ipa: String,
8358
8384
  let shortVersionArg = shortVersion.asRubyArgument(name: "short_version", type: nil)
8359
8385
  let bundleVersionArg = bundleVersion.asRubyArgument(name: "bundle_version", type: nil)
8360
8386
  let bundleIdArg = bundleId.asRubyArgument(name: "bundle_id", type: nil)
8361
- let useAppEntitlementsArg = RubyCommand.Argument(name: "use_app_entitlements", value: useAppEntitlements, type: nil)
8387
+ let useAppEntitlementsArg = useAppEntitlements.asRubyArgument(name: "use_app_entitlements", type: nil)
8362
8388
  let keychainPathArg = keychainPath.asRubyArgument(name: "keychain_path", type: nil)
8363
8389
  let array: [RubyCommand.Argument?] = [ipaArg,
8364
8390
  signingIdentityArg,
@@ -8467,6 +8493,7 @@ public func rubyVersion() {
8467
8493
  - parameters:
8468
8494
  - workspace: Path to the workspace file
8469
8495
  - project: Path to the project file
8496
+ - packagePath: Path to the Swift Package
8470
8497
  - scheme: The project's scheme. Make sure it's marked as `Shared`
8471
8498
  - device: The name of the simulator type you want to run tests on (e.g. 'iPhone 6')
8472
8499
  - devices: Array of devices to run the tests on (e.g. ['iPhone 6', 'iPad Air'])
@@ -8541,6 +8568,7 @@ public func rubyVersion() {
8541
8568
  */
8542
8569
  public func runTests(workspace: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8543
8570
  project: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8571
+ packagePath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8544
8572
  scheme: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8545
8573
  device: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8546
8574
  devices: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
@@ -8613,6 +8641,7 @@ public func runTests(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
8613
8641
  {
8614
8642
  let workspaceArg = workspace.asRubyArgument(name: "workspace", type: nil)
8615
8643
  let projectArg = project.asRubyArgument(name: "project", type: nil)
8644
+ let packagePathArg = packagePath.asRubyArgument(name: "package_path", type: nil)
8616
8645
  let schemeArg = scheme.asRubyArgument(name: "scheme", type: nil)
8617
8646
  let deviceArg = device.asRubyArgument(name: "device", type: nil)
8618
8647
  let devicesArg = devices.asRubyArgument(name: "devices", type: nil)
@@ -8684,6 +8713,7 @@ public func runTests(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
8684
8713
  let failBuildArg = failBuild.asRubyArgument(name: "fail_build", type: nil)
8685
8714
  let array: [RubyCommand.Argument?] = [workspaceArg,
8686
8715
  projectArg,
8716
+ packagePathArg,
8687
8717
  schemeArg,
8688
8718
  deviceArg,
8689
8719
  devicesArg,
@@ -8848,7 +8878,7 @@ public func s3(ipa: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8848
8878
  - text: Text to be spoken out loud (as string or array of strings)
8849
8879
  - mute: If say should be muted with text printed out
8850
8880
  */
8851
- public func say(text: Any,
8881
+ public func say(text: [String],
8852
8882
  mute: OptionalConfigValue<Bool> = .fastlaneDefault(false))
8853
8883
  {
8854
8884
  let textArg = RubyCommand.Argument(name: "text", value: text, type: nil)
@@ -8868,6 +8898,7 @@ public func say(text: Any,
8868
8898
  - parameters:
8869
8899
  - workspace: Path to the workspace file
8870
8900
  - project: Path to the project file
8901
+ - packagePath: Path to the Swift Package
8871
8902
  - scheme: The project's scheme. Make sure it's marked as `Shared`
8872
8903
  - device: The name of the simulator type you want to run tests on (e.g. 'iPhone 6')
8873
8904
  - devices: Array of devices to run the tests on (e.g. ['iPhone 6', 'iPad Air'])
@@ -8942,6 +8973,7 @@ public func say(text: Any,
8942
8973
  */
8943
8974
  public func scan(workspace: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.workspace),
8944
8975
  project: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.project),
8976
+ packagePath: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.packagePath),
8945
8977
  scheme: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.scheme),
8946
8978
  device: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.device),
8947
8979
  devices: OptionalConfigValue<[String]?> = .fastlaneDefault(scanfile.devices),
@@ -9014,6 +9046,7 @@ public func scan(workspace: OptionalConfigValue<String?> = .fastlaneDefault(scan
9014
9046
  {
9015
9047
  let workspaceArg = workspace.asRubyArgument(name: "workspace", type: nil)
9016
9048
  let projectArg = project.asRubyArgument(name: "project", type: nil)
9049
+ let packagePathArg = packagePath.asRubyArgument(name: "package_path", type: nil)
9017
9050
  let schemeArg = scheme.asRubyArgument(name: "scheme", type: nil)
9018
9051
  let deviceArg = device.asRubyArgument(name: "device", type: nil)
9019
9052
  let devicesArg = devices.asRubyArgument(name: "devices", type: nil)
@@ -9085,6 +9118,7 @@ public func scan(workspace: OptionalConfigValue<String?> = .fastlaneDefault(scan
9085
9118
  let failBuildArg = failBuild.asRubyArgument(name: "fail_build", type: nil)
9086
9119
  let array: [RubyCommand.Argument?] = [workspaceArg,
9087
9120
  projectArg,
9121
+ packagePathArg,
9088
9122
  schemeArg,
9089
9123
  deviceArg,
9090
9124
  devicesArg,
@@ -9203,7 +9237,7 @@ public func scp(username: String,
9203
9237
 
9204
9238
  - parameters:
9205
9239
  - androidHome: Path to the root of your Android SDK installation, e.g. ~/tools/android-sdk-macosx
9206
- - buildToolsVersion: The Android build tools version to use, e.g. '23.0.2'
9240
+ - buildToolsVersion: **DEPRECATED!** The Android build tools version to use, e.g. '23.0.2'
9207
9241
  - locales: A list of locales which should be used
9208
9242
  - clearPreviousScreenshots: Enabling this option will automatically clear previously generated screenshots before running screengrab
9209
9243
  - outputDirectory: The directory where to store the screenshots
@@ -9214,8 +9248,8 @@ public func scp(username: String,
9214
9248
  - useTestsInClasses: Only run tests in these Java classes
9215
9249
  - launchArguments: Additional launch arguments
9216
9250
  - testInstrumentationRunner: The fully qualified class name of your test instrumentation runner
9217
- - endingLocale: Return the device to this locale after running tests
9218
- - useAdbRoot: Restarts the adb daemon using `adb root` to allow access to screenshots directories on device. Use if getting 'Permission denied' errors
9251
+ - endingLocale: **DEPRECATED!** Return the device to this locale after running tests
9252
+ - useAdbRoot: **DEPRECATED!** Restarts the adb daemon using `adb root` to allow access to screenshots directories on device. Use if getting 'Permission denied' errors
9219
9253
  - appApkPath: The path to the APK for the app under test
9220
9254
  - testsApkPath: The path to the APK for the the tests bundle
9221
9255
  - specificDevice: Use the device or emulator with the given serial number or qualifier
@@ -9348,7 +9382,7 @@ public func setChangelog(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDef
9348
9382
  username: OptionalConfigValue<String?> = .fastlaneDefault(nil),
9349
9383
  version: OptionalConfigValue<String?> = .fastlaneDefault(nil),
9350
9384
  changelog: OptionalConfigValue<String?> = .fastlaneDefault(nil),
9351
- teamId: Any? = nil,
9385
+ teamId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
9352
9386
  teamName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
9353
9387
  platform: String = "ios")
9354
9388
  {
@@ -9358,7 +9392,7 @@ public func setChangelog(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDef
9358
9392
  let usernameArg = username.asRubyArgument(name: "username", type: nil)
9359
9393
  let versionArg = version.asRubyArgument(name: "version", type: nil)
9360
9394
  let changelogArg = changelog.asRubyArgument(name: "changelog", type: nil)
9361
- let teamIdArg = RubyCommand.Argument(name: "team_id", value: teamId, type: nil)
9395
+ let teamIdArg = teamId.asRubyArgument(name: "team_id", type: nil)
9362
9396
  let teamNameArg = teamName.asRubyArgument(name: "team_name", type: nil)
9363
9397
  let platformArg = RubyCommand.Argument(name: "platform", value: platform, type: nil)
9364
9398
  let array: [RubyCommand.Argument?] = [apiKeyPathArg,
@@ -9453,7 +9487,7 @@ public func setChangelog(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDef
9453
9487
  */
9454
9488
  public func setInfoPlistValue(key: String,
9455
9489
  subkey: OptionalConfigValue<String?> = .fastlaneDefault(nil),
9456
- value: Any,
9490
+ value: String,
9457
9491
  path: String,
9458
9492
  outputFileName: OptionalConfigValue<String?> = .fastlaneDefault(nil))
9459
9493
  {
@@ -9559,7 +9593,7 @@ public func setupCircleCi(force: OptionalConfigValue<Bool> = .fastlaneDefault(fa
9559
9593
  - parameters:
9560
9594
  - force: Force setup, even if not executed by Jenkins
9561
9595
  - unlockKeychain: Unlocks keychain
9562
- - addKeychainToSearchList: Add to keychain search list
9596
+ - addKeychainToSearchList: Add to keychain search list, valid values are true, false, :add, and :replace
9563
9597
  - setDefaultKeychain: Set keychain as default
9564
9598
  - keychainPath: Path to keychain
9565
9599
  - keychainPassword: Keychain password
@@ -9583,7 +9617,7 @@ public func setupCircleCi(force: OptionalConfigValue<Bool> = .fastlaneDefault(fa
9583
9617
  */
9584
9618
  public func setupJenkins(force: OptionalConfigValue<Bool> = .fastlaneDefault(false),
9585
9619
  unlockKeychain: OptionalConfigValue<Bool> = .fastlaneDefault(true),
9586
- addKeychainToSearchList: Any = "replace",
9620
+ addKeychainToSearchList: String = "replace",
9587
9621
  setDefaultKeychain: OptionalConfigValue<Bool> = .fastlaneDefault(true),
9588
9622
  keychainPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
9589
9623
  keychainPassword: String,
@@ -9964,7 +9998,7 @@ public func slather(buildDirectory: OptionalConfigValue<String?> = .fastlaneDefa
9964
9998
  gutterJson: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
9965
9999
  coberturaXml: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
9966
10000
  sonarqubeXml: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
9967
- llvmCov: Any? = nil,
10001
+ llvmCov: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
9968
10002
  json: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
9969
10003
  html: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
9970
10004
  show: OptionalConfigValue<Bool> = .fastlaneDefault(false),
@@ -9996,7 +10030,7 @@ public func slather(buildDirectory: OptionalConfigValue<String?> = .fastlaneDefa
9996
10030
  let gutterJsonArg = gutterJson.asRubyArgument(name: "gutter_json", type: nil)
9997
10031
  let coberturaXmlArg = coberturaXml.asRubyArgument(name: "cobertura_xml", type: nil)
9998
10032
  let sonarqubeXmlArg = sonarqubeXml.asRubyArgument(name: "sonarqube_xml", type: nil)
9999
- let llvmCovArg = RubyCommand.Argument(name: "llvm_cov", value: llvmCov, type: nil)
10033
+ let llvmCovArg = llvmCov.asRubyArgument(name: "llvm_cov", type: nil)
10000
10034
  let jsonArg = json.asRubyArgument(name: "json", type: nil)
10001
10035
  let htmlArg = html.asRubyArgument(name: "html", type: nil)
10002
10036
  let showArg = show.asRubyArgument(name: "show", type: nil)
@@ -10519,7 +10553,7 @@ public func splunkmint(dsym: OptionalConfigValue<String?> = .fastlaneDefault(nil
10519
10553
  - verbose: Increase verbosity of informational output
10520
10554
  */
10521
10555
  public func spm(command: String = "build",
10522
- enableCodeCoverage: Any? = nil,
10556
+ enableCodeCoverage: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
10523
10557
  buildPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
10524
10558
  packagePath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
10525
10559
  xcconfig: OptionalConfigValue<String?> = .fastlaneDefault(nil),
@@ -10530,7 +10564,7 @@ public func spm(command: String = "build",
10530
10564
  verbose: OptionalConfigValue<Bool> = .fastlaneDefault(false))
10531
10565
  {
10532
10566
  let commandArg = RubyCommand.Argument(name: "command", value: command, type: nil)
10533
- let enableCodeCoverageArg = RubyCommand.Argument(name: "enable_code_coverage", value: enableCodeCoverage, type: nil)
10567
+ let enableCodeCoverageArg = enableCodeCoverage.asRubyArgument(name: "enable_code_coverage", type: nil)
10534
10568
  let buildPathArg = buildPath.asRubyArgument(name: "build_path", type: nil)
10535
10569
  let packagePathArg = packagePath.asRubyArgument(name: "package_path", type: nil)
10536
10570
  let xcconfigArg = xcconfig.asRubyArgument(name: "xcconfig", type: nil)
@@ -10629,6 +10663,7 @@ public func ssh(username: String,
10629
10663
  - timeout: Timeout for read, open, and send (in seconds)
10630
10664
  - deactivateOnPromote: **DEPRECATED!** Google Play does this automatically now - When promoting to a new track, deactivate the binary in the origin track
10631
10665
  - versionCodesToRetain: An array of version codes to retain when publishing a new APK
10666
+ - changesNotSentForReview: Indicates that the changes in this edit will not be reviewed until they are explicitly sent for review from the Google Play Console UI
10632
10667
  - inAppUpdatePriority: In-app update priority for all the newly added apks in the release. Can take values between [0,5]
10633
10668
  - obbMainReferencesVersion: References version of 'main' expansion file
10634
10669
  - obbMainFileSize: Size of 'main' expansion file in bytes
@@ -10644,7 +10679,7 @@ public func supply(packageName: String,
10644
10679
  releaseStatus: String = "completed",
10645
10680
  track: String = "production",
10646
10681
  rollout: OptionalConfigValue<String?> = .fastlaneDefault(nil),
10647
- metadataPath: String = "./metadata",
10682
+ metadataPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
10648
10683
  key: OptionalConfigValue<String?> = .fastlaneDefault(nil),
10649
10684
  issuer: OptionalConfigValue<String?> = .fastlaneDefault(nil),
10650
10685
  jsonKey: OptionalConfigValue<String?> = .fastlaneDefault(nil),
@@ -10668,6 +10703,7 @@ public func supply(packageName: String,
10668
10703
  timeout: Int = 300,
10669
10704
  deactivateOnPromote: OptionalConfigValue<Bool> = .fastlaneDefault(true),
10670
10705
  versionCodesToRetain: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
10706
+ changesNotSentForReview: OptionalConfigValue<Bool> = .fastlaneDefault(false),
10671
10707
  inAppUpdatePriority: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
10672
10708
  obbMainReferencesVersion: OptionalConfigValue<String?> = .fastlaneDefault(nil),
10673
10709
  obbMainFileSize: OptionalConfigValue<String?> = .fastlaneDefault(nil),
@@ -10681,7 +10717,7 @@ public func supply(packageName: String,
10681
10717
  let releaseStatusArg = RubyCommand.Argument(name: "release_status", value: releaseStatus, type: nil)
10682
10718
  let trackArg = RubyCommand.Argument(name: "track", value: track, type: nil)
10683
10719
  let rolloutArg = rollout.asRubyArgument(name: "rollout", type: nil)
10684
- let metadataPathArg = RubyCommand.Argument(name: "metadata_path", value: metadataPath, type: nil)
10720
+ let metadataPathArg = metadataPath.asRubyArgument(name: "metadata_path", type: nil)
10685
10721
  let keyArg = key.asRubyArgument(name: "key", type: nil)
10686
10722
  let issuerArg = issuer.asRubyArgument(name: "issuer", type: nil)
10687
10723
  let jsonKeyArg = jsonKey.asRubyArgument(name: "json_key", type: nil)
@@ -10705,6 +10741,7 @@ public func supply(packageName: String,
10705
10741
  let timeoutArg = RubyCommand.Argument(name: "timeout", value: timeout, type: nil)
10706
10742
  let deactivateOnPromoteArg = deactivateOnPromote.asRubyArgument(name: "deactivate_on_promote", type: nil)
10707
10743
  let versionCodesToRetainArg = versionCodesToRetain.asRubyArgument(name: "version_codes_to_retain", type: nil)
10744
+ let changesNotSentForReviewArg = changesNotSentForReview.asRubyArgument(name: "changes_not_sent_for_review", type: nil)
10708
10745
  let inAppUpdatePriorityArg = inAppUpdatePriority.asRubyArgument(name: "in_app_update_priority", type: nil)
10709
10746
  let obbMainReferencesVersionArg = obbMainReferencesVersion.asRubyArgument(name: "obb_main_references_version", type: nil)
10710
10747
  let obbMainFileSizeArg = obbMainFileSize.asRubyArgument(name: "obb_main_file_size", type: nil)
@@ -10741,6 +10778,7 @@ public func supply(packageName: String,
10741
10778
  timeoutArg,
10742
10779
  deactivateOnPromoteArg,
10743
10780
  versionCodesToRetainArg,
10781
+ changesNotSentForReviewArg,
10744
10782
  inAppUpdatePriorityArg,
10745
10783
  obbMainReferencesVersionArg,
10746
10784
  obbMainFileSizeArg,
@@ -11356,7 +11394,7 @@ public func typetalk() {
11356
11394
  - parameters:
11357
11395
  - path: Path to the keychain file
11358
11396
  - password: Keychain password
11359
- - addToSearchList: Add to keychain search list
11397
+ - addToSearchList: Add to keychain search list, valid values are true, false, :add, and :replace
11360
11398
  - setDefault: Set as default keychain
11361
11399
 
11362
11400
  Unlocks the given keychain file and adds it to the keychain search list.
@@ -11392,7 +11430,7 @@ public func unlockKeychain(path: String = "login",
11392
11430
  Updates the App Group Identifiers in the given Entitlements file, so you can have app groups for the app store build and app groups for an enterprise build.
11393
11431
  */
11394
11432
  public func updateAppGroupIdentifiers(entitlementsFile: String,
11395
- appGroupIdentifiers: Any)
11433
+ appGroupIdentifiers: [String])
11396
11434
  {
11397
11435
  let entitlementsFileArg = RubyCommand.Argument(name: "entitlements_file", value: entitlementsFile, type: nil)
11398
11436
  let appGroupIdentifiersArg = RubyCommand.Argument(name: "app_group_identifiers", value: appGroupIdentifiers, type: nil)
@@ -11531,7 +11569,7 @@ public func updateFastlane(noUpdate: OptionalConfigValue<Bool> = .fastlaneDefaul
11531
11569
  Updates the iCloud Container Identifiers in the given Entitlements file, so you can use different iCloud containers for different builds like Adhoc, App Store, etc.
11532
11570
  */
11533
11571
  public func updateIcloudContainerIdentifiers(entitlementsFile: String,
11534
- icloudContainerIdentifiers: Any)
11572
+ icloudContainerIdentifiers: [String])
11535
11573
  {
11536
11574
  let entitlementsFileArg = RubyCommand.Argument(name: "entitlements_file", value: entitlementsFile, type: nil)
11537
11575
  let icloudContainerIdentifiersArg = RubyCommand.Argument(name: "icloud_container_identifiers", value: icloudContainerIdentifiers, type: nil)
@@ -11562,14 +11600,14 @@ public func updateInfoPlist(xcodeproj: OptionalConfigValue<String?> = .fastlaneD
11562
11600
  scheme: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11563
11601
  appIdentifier: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11564
11602
  displayName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11565
- block: Any? = nil)
11603
+ block: ((String) -> Void)? = nil)
11566
11604
  {
11567
11605
  let xcodeprojArg = xcodeproj.asRubyArgument(name: "xcodeproj", type: nil)
11568
11606
  let plistPathArg = plistPath.asRubyArgument(name: "plist_path", type: nil)
11569
11607
  let schemeArg = scheme.asRubyArgument(name: "scheme", type: nil)
11570
11608
  let appIdentifierArg = appIdentifier.asRubyArgument(name: "app_identifier", type: nil)
11571
11609
  let displayNameArg = displayName.asRubyArgument(name: "display_name", type: nil)
11572
- let blockArg = RubyCommand.Argument(name: "block", value: block, type: nil)
11610
+ let blockArg = RubyCommand.Argument(name: "block", value: block, type: .stringClosure)
11573
11611
  let array: [RubyCommand.Argument?] = [xcodeprojArg,
11574
11612
  plistPathArg,
11575
11613
  schemeArg,
@@ -11593,7 +11631,7 @@ public func updateInfoPlist(xcodeproj: OptionalConfigValue<String?> = .fastlaneD
11593
11631
  Updates the Keychain Group Access Groups in the given Entitlements file, so you can have keychain access groups for the app store build and keychain access groups for an enterprise build.
11594
11632
  */
11595
11633
  public func updateKeychainAccessGroups(entitlementsFile: String,
11596
- identifiers: Any)
11634
+ identifiers: [String])
11597
11635
  {
11598
11636
  let entitlementsFileArg = RubyCommand.Argument(name: "entitlements_file", value: entitlementsFile, type: nil)
11599
11637
  let identifiersArg = RubyCommand.Argument(name: "identifiers", value: identifiers, type: nil)
@@ -11616,10 +11654,10 @@ public func updateKeychainAccessGroups(entitlementsFile: String,
11616
11654
  This action allows you to modify any value inside any `plist` file.
11617
11655
  */
11618
11656
  public func updatePlist(plistPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11619
- block: Any)
11657
+ block: ((String) -> Void)? = nil)
11620
11658
  {
11621
11659
  let plistPathArg = plistPath.asRubyArgument(name: "plist_path", type: nil)
11622
- let blockArg = RubyCommand.Argument(name: "block", value: block, type: nil)
11660
+ let blockArg = RubyCommand.Argument(name: "block", value: block, type: .stringClosure)
11623
11661
  let array: [RubyCommand.Argument?] = [plistPathArg,
11624
11662
  blockArg]
11625
11663
  let args: [RubyCommand.Argument] = array
@@ -11675,17 +11713,17 @@ public func updateProjectCodeSigning(path: String,
11675
11713
  */
11676
11714
  public func updateProjectProvisioning(xcodeproj: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11677
11715
  profile: String,
11678
- targetFilter: Any? = nil,
11716
+ targetFilter: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11679
11717
  buildConfigurationFilter: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11680
- buildConfiguration: Any? = nil,
11718
+ buildConfiguration: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11681
11719
  certificate: String = "/tmp/AppleIncRootCertificate.cer",
11682
11720
  codeSigningIdentity: OptionalConfigValue<String?> = .fastlaneDefault(nil))
11683
11721
  {
11684
11722
  let xcodeprojArg = xcodeproj.asRubyArgument(name: "xcodeproj", type: nil)
11685
11723
  let profileArg = RubyCommand.Argument(name: "profile", value: profile, type: nil)
11686
- let targetFilterArg = RubyCommand.Argument(name: "target_filter", value: targetFilter, type: nil)
11724
+ let targetFilterArg = targetFilter.asRubyArgument(name: "target_filter", type: nil)
11687
11725
  let buildConfigurationFilterArg = buildConfigurationFilter.asRubyArgument(name: "build_configuration_filter", type: nil)
11688
- let buildConfigurationArg = RubyCommand.Argument(name: "build_configuration", value: buildConfiguration, type: nil)
11726
+ let buildConfigurationArg = buildConfiguration.asRubyArgument(name: "build_configuration", type: nil)
11689
11727
  let certificateArg = RubyCommand.Argument(name: "certificate", value: certificate, type: nil)
11690
11728
  let codeSigningIdentityArg = codeSigningIdentity.asRubyArgument(name: "code_signing_identity", type: nil)
11691
11729
  let array: [RubyCommand.Argument?] = [xcodeprojArg,
@@ -11780,12 +11818,12 @@ public func updateUrbanAirshipConfiguration(plistPath: String,
11780
11818
  For example, you can use this to set a different URL scheme for the alpha or beta version of the app.
11781
11819
  */
11782
11820
  public func updateUrlSchemes(path: String,
11783
- urlSchemes: Any? = nil,
11784
- updateUrlSchemes: Any? = nil)
11821
+ urlSchemes: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
11822
+ updateUrlSchemes: ((String) -> Void)? = nil)
11785
11823
  {
11786
11824
  let pathArg = RubyCommand.Argument(name: "path", value: path, type: nil)
11787
- let urlSchemesArg = RubyCommand.Argument(name: "url_schemes", value: urlSchemes, type: nil)
11788
- let updateUrlSchemesArg = RubyCommand.Argument(name: "update_url_schemes", value: updateUrlSchemes, type: nil)
11825
+ let urlSchemesArg = urlSchemes.asRubyArgument(name: "url_schemes", type: nil)
11826
+ let updateUrlSchemesArg = RubyCommand.Argument(name: "update_url_schemes", value: updateUrlSchemes, type: .stringClosure)
11789
11827
  let array: [RubyCommand.Argument?] = [pathArg,
11790
11828
  urlSchemesArg,
11791
11829
  updateUrlSchemesArg]
@@ -11814,7 +11852,7 @@ public func updateUrlSchemes(path: String,
11814
11852
  */
11815
11853
  public func uploadAppPrivacyDetailsToAppStore(username: String,
11816
11854
  appIdentifier: String,
11817
- teamId: Any? = nil,
11855
+ teamId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11818
11856
  teamName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11819
11857
  jsonPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11820
11858
  outputJsonPath: String = "./fastlane/app_privacy_details.json",
@@ -11824,7 +11862,7 @@ public func uploadAppPrivacyDetailsToAppStore(username: String,
11824
11862
  {
11825
11863
  let usernameArg = RubyCommand.Argument(name: "username", value: username, type: nil)
11826
11864
  let appIdentifierArg = RubyCommand.Argument(name: "app_identifier", value: appIdentifier, type: nil)
11827
- let teamIdArg = RubyCommand.Argument(name: "team_id", value: teamId, type: nil)
11865
+ let teamIdArg = teamId.asRubyArgument(name: "team_id", type: nil)
11828
11866
  let teamNameArg = teamName.asRubyArgument(name: "team_name", type: nil)
11829
11867
  let jsonPathArg = jsonPath.asRubyArgument(name: "json_path", type: nil)
11830
11868
  let outputJsonPathArg = RubyCommand.Argument(name: "output_json_path", value: outputJsonPath, type: nil)
@@ -11920,7 +11958,7 @@ public func uploadSymbolsToSentry(apiHost: String = "https://app.getsentry.com/a
11920
11958
  orgSlug: String,
11921
11959
  projectSlug: String,
11922
11960
  dsymPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11923
- dsymPaths: Any? = nil)
11961
+ dsymPaths: OptionalConfigValue<[String]?> = .fastlaneDefault(nil))
11924
11962
  {
11925
11963
  let apiHostArg = RubyCommand.Argument(name: "api_host", value: apiHost, type: nil)
11926
11964
  let apiKeyArg = apiKey.asRubyArgument(name: "api_key", type: nil)
@@ -11928,7 +11966,7 @@ public func uploadSymbolsToSentry(apiHost: String = "https://app.getsentry.com/a
11928
11966
  let orgSlugArg = RubyCommand.Argument(name: "org_slug", value: orgSlug, type: nil)
11929
11967
  let projectSlugArg = RubyCommand.Argument(name: "project_slug", value: projectSlug, type: nil)
11930
11968
  let dsymPathArg = dsymPath.asRubyArgument(name: "dsym_path", type: nil)
11931
- let dsymPathsArg = RubyCommand.Argument(name: "dsym_paths", value: dsymPaths, type: nil)
11969
+ let dsymPathsArg = dsymPaths.asRubyArgument(name: "dsym_paths", type: nil)
11932
11970
  let array: [RubyCommand.Argument?] = [apiHostArg,
11933
11971
  apiKeyArg,
11934
11972
  authTokenArg,
@@ -12245,6 +12283,7 @@ public func uploadToAppStore(apiKeyPath: OptionalConfigValue<String?> = .fastlan
12245
12283
  - timeout: Timeout for read, open, and send (in seconds)
12246
12284
  - deactivateOnPromote: **DEPRECATED!** Google Play does this automatically now - When promoting to a new track, deactivate the binary in the origin track
12247
12285
  - versionCodesToRetain: An array of version codes to retain when publishing a new APK
12286
+ - changesNotSentForReview: Indicates that the changes in this edit will not be reviewed until they are explicitly sent for review from the Google Play Console UI
12248
12287
  - inAppUpdatePriority: In-app update priority for all the newly added apks in the release. Can take values between [0,5]
12249
12288
  - obbMainReferencesVersion: References version of 'main' expansion file
12250
12289
  - obbMainFileSize: Size of 'main' expansion file in bytes
@@ -12260,7 +12299,7 @@ public func uploadToPlayStore(packageName: String,
12260
12299
  releaseStatus: String = "completed",
12261
12300
  track: String = "production",
12262
12301
  rollout: OptionalConfigValue<String?> = .fastlaneDefault(nil),
12263
- metadataPath: String = "./metadata",
12302
+ metadataPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
12264
12303
  key: OptionalConfigValue<String?> = .fastlaneDefault(nil),
12265
12304
  issuer: OptionalConfigValue<String?> = .fastlaneDefault(nil),
12266
12305
  jsonKey: OptionalConfigValue<String?> = .fastlaneDefault(nil),
@@ -12284,6 +12323,7 @@ public func uploadToPlayStore(packageName: String,
12284
12323
  timeout: Int = 300,
12285
12324
  deactivateOnPromote: OptionalConfigValue<Bool> = .fastlaneDefault(true),
12286
12325
  versionCodesToRetain: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
12326
+ changesNotSentForReview: OptionalConfigValue<Bool> = .fastlaneDefault(false),
12287
12327
  inAppUpdatePriority: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
12288
12328
  obbMainReferencesVersion: OptionalConfigValue<String?> = .fastlaneDefault(nil),
12289
12329
  obbMainFileSize: OptionalConfigValue<String?> = .fastlaneDefault(nil),
@@ -12297,7 +12337,7 @@ public func uploadToPlayStore(packageName: String,
12297
12337
  let releaseStatusArg = RubyCommand.Argument(name: "release_status", value: releaseStatus, type: nil)
12298
12338
  let trackArg = RubyCommand.Argument(name: "track", value: track, type: nil)
12299
12339
  let rolloutArg = rollout.asRubyArgument(name: "rollout", type: nil)
12300
- let metadataPathArg = RubyCommand.Argument(name: "metadata_path", value: metadataPath, type: nil)
12340
+ let metadataPathArg = metadataPath.asRubyArgument(name: "metadata_path", type: nil)
12301
12341
  let keyArg = key.asRubyArgument(name: "key", type: nil)
12302
12342
  let issuerArg = issuer.asRubyArgument(name: "issuer", type: nil)
12303
12343
  let jsonKeyArg = jsonKey.asRubyArgument(name: "json_key", type: nil)
@@ -12321,6 +12361,7 @@ public func uploadToPlayStore(packageName: String,
12321
12361
  let timeoutArg = RubyCommand.Argument(name: "timeout", value: timeout, type: nil)
12322
12362
  let deactivateOnPromoteArg = deactivateOnPromote.asRubyArgument(name: "deactivate_on_promote", type: nil)
12323
12363
  let versionCodesToRetainArg = versionCodesToRetain.asRubyArgument(name: "version_codes_to_retain", type: nil)
12364
+ let changesNotSentForReviewArg = changesNotSentForReview.asRubyArgument(name: "changes_not_sent_for_review", type: nil)
12324
12365
  let inAppUpdatePriorityArg = inAppUpdatePriority.asRubyArgument(name: "in_app_update_priority", type: nil)
12325
12366
  let obbMainReferencesVersionArg = obbMainReferencesVersion.asRubyArgument(name: "obb_main_references_version", type: nil)
12326
12367
  let obbMainFileSizeArg = obbMainFileSize.asRubyArgument(name: "obb_main_file_size", type: nil)
@@ -12357,6 +12398,7 @@ public func uploadToPlayStore(packageName: String,
12357
12398
  timeoutArg,
12358
12399
  deactivateOnPromoteArg,
12359
12400
  versionCodesToRetainArg,
12401
+ changesNotSentForReviewArg,
12360
12402
  inAppUpdatePriorityArg,
12361
12403
  obbMainReferencesVersionArg,
12362
12404
  obbMainFileSizeArg,
@@ -12854,7 +12896,7 @@ public func xcodeSelect() {
12854
12896
  */
12855
12897
  @discardableResult public func xcodeServerGetAssets(host: String,
12856
12898
  botName: String,
12857
- integrationNumber: Any? = nil,
12899
+ integrationNumber: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
12858
12900
  username: String = "",
12859
12901
  password: OptionalConfigValue<String?> = .fastlaneDefault(nil),
12860
12902
  targetFolder: String = "./xcs_assets",
@@ -12863,7 +12905,7 @@ public func xcodeSelect() {
12863
12905
  {
12864
12906
  let hostArg = RubyCommand.Argument(name: "host", value: host, type: nil)
12865
12907
  let botNameArg = RubyCommand.Argument(name: "bot_name", value: botName, type: nil)
12866
- let integrationNumberArg = RubyCommand.Argument(name: "integration_number", value: integrationNumber, type: nil)
12908
+ let integrationNumberArg = integrationNumber.asRubyArgument(name: "integration_number", type: nil)
12867
12909
  let usernameArg = RubyCommand.Argument(name: "username", value: username, type: nil)
12868
12910
  let passwordArg = password.asRubyArgument(name: "password", type: nil)
12869
12911
  let targetFolderArg = RubyCommand.Argument(name: "target_folder", value: targetFolder, type: nil)
@@ -12957,7 +12999,7 @@ public func xcov(workspace: OptionalConfigValue<String?> = .fastlaneDefault(nil)
12957
12999
  coverallsServiceJobId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
12958
13000
  coverallsRepoToken: OptionalConfigValue<String?> = .fastlaneDefault(nil),
12959
13001
  xcconfig: OptionalConfigValue<String?> = .fastlaneDefault(nil),
12960
- ideFoundationPath: String = "/Applications/Xcode-12.4.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
13002
+ ideFoundationPath: String = "/Applications/Xcode-13.beta.4.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
12961
13003
  legacySupport: OptionalConfigValue<Bool> = .fastlaneDefault(false))
12962
13004
  {
12963
13005
  let workspaceArg = workspace.asRubyArgument(name: "workspace", type: nil)
@@ -13071,6 +13113,8 @@ public func xcversion(version: String) {
13071
13113
  - verbose: Enable verbose output of zipped file
13072
13114
  - password: Encrypt the contents of the zip archive using a password
13073
13115
  - symlinks: Store symbolic links as such in the zip archive
13116
+ - include: Array of paths or patterns to include
13117
+ - exclude: Array of paths or patterns to exclude
13074
13118
 
13075
13119
  - returns: The path to the output zip file
13076
13120
  */
@@ -13078,18 +13122,24 @@ public func xcversion(version: String) {
13078
13122
  outputPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
13079
13123
  verbose: OptionalConfigValue<Bool> = .fastlaneDefault(true),
13080
13124
  password: OptionalConfigValue<String?> = .fastlaneDefault(nil),
13081
- symlinks: OptionalConfigValue<Bool> = .fastlaneDefault(false)) -> String
13125
+ symlinks: OptionalConfigValue<Bool> = .fastlaneDefault(false),
13126
+ include: [String] = [],
13127
+ exclude: [String] = []) -> String
13082
13128
  {
13083
13129
  let pathArg = RubyCommand.Argument(name: "path", value: path, type: nil)
13084
13130
  let outputPathArg = outputPath.asRubyArgument(name: "output_path", type: nil)
13085
13131
  let verboseArg = verbose.asRubyArgument(name: "verbose", type: nil)
13086
13132
  let passwordArg = password.asRubyArgument(name: "password", type: nil)
13087
13133
  let symlinksArg = symlinks.asRubyArgument(name: "symlinks", type: nil)
13134
+ let includeArg = RubyCommand.Argument(name: "include", value: include, type: nil)
13135
+ let excludeArg = RubyCommand.Argument(name: "exclude", value: exclude, type: nil)
13088
13136
  let array: [RubyCommand.Argument?] = [pathArg,
13089
13137
  outputPathArg,
13090
13138
  verboseArg,
13091
13139
  passwordArg,
13092
- symlinksArg]
13140
+ symlinksArg,
13141
+ includeArg,
13142
+ excludeArg]
13093
13143
  let args: [RubyCommand.Argument] = array
13094
13144
  .filter { $0?.value != nil }
13095
13145
  .compactMap { $0 }
@@ -13151,4 +13201,4 @@ public let snapshotfile = Snapshotfile()
13151
13201
 
13152
13202
  // Please don't remove the lines below
13153
13203
  // They are used to detect outdated files
13154
- // FastlaneRunnerAPIVersion [0.9.127]
13204
+ // FastlaneRunnerAPIVersion [0.9.131]