fastlane 2.212.1 → 2.219.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (227) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +100 -100
  3. data/deliver/lib/deliver/app_screenshot.rb +22 -12
  4. data/deliver/lib/deliver/app_screenshot_iterator.rb +2 -2
  5. data/deliver/lib/deliver/detect_values.rb +1 -1
  6. data/deliver/lib/deliver/languages.rb +1 -1
  7. data/deliver/lib/deliver/loader.rb +2 -2
  8. data/deliver/lib/deliver/options.rb +4 -4
  9. data/deliver/lib/deliver/runner.rb +10 -9
  10. data/deliver/lib/deliver/submit_for_review.rb +13 -0
  11. data/deliver/lib/deliver/sync_screenshots.rb +2 -2
  12. data/deliver/lib/deliver/upload_metadata.rb +60 -15
  13. data/deliver/lib/deliver/upload_price_tier.rb +2 -2
  14. data/deliver/lib/deliver/upload_screenshots.rb +3 -3
  15. data/fastlane/lib/assets/custom_action_template.rb +18 -12
  16. data/fastlane/lib/fastlane/action.rb +1 -1
  17. data/fastlane/lib/fastlane/actions/appledoc.rb +1 -1
  18. data/fastlane/lib/fastlane/actions/apteligent.rb +1 -1
  19. data/fastlane/lib/fastlane/actions/backup_xcarchive.rb +1 -1
  20. data/fastlane/lib/fastlane/actions/commit_github_file.rb +2 -2
  21. data/fastlane/lib/fastlane/actions/copy_artifacts.rb +1 -1
  22. data/fastlane/lib/fastlane/actions/create_app_online.rb +1 -1
  23. data/fastlane/lib/fastlane/actions/create_pull_request.rb +1 -1
  24. data/fastlane/lib/fastlane/actions/docs/build_app.md +2 -2
  25. data/fastlane/lib/fastlane/actions/docs/capture_android_screenshots.md +8 -8
  26. data/fastlane/lib/fastlane/actions/docs/check_app_store_metadata.md +3 -3
  27. data/fastlane/lib/fastlane/actions/docs/get_push_certificate.md +2 -2
  28. data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +6 -4
  29. data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +1 -1
  30. data/fastlane/lib/fastlane/actions/docs/upload_to_play_store.md +6 -2
  31. data/fastlane/lib/fastlane/actions/docs/upload_to_testflight.md +1 -1
  32. data/fastlane/lib/fastlane/actions/download_universal_apk_from_google_play.rb +124 -0
  33. data/fastlane/lib/fastlane/actions/ensure_git_status_clean.rb +44 -5
  34. data/fastlane/lib/fastlane/actions/ensure_xcode_version.rb +4 -0
  35. data/fastlane/lib/fastlane/actions/get_certificates.rb +1 -1
  36. data/fastlane/lib/fastlane/actions/get_github_release.rb +1 -1
  37. data/fastlane/lib/fastlane/actions/get_provisioning_profile.rb +1 -1
  38. data/fastlane/lib/fastlane/actions/git_branch.rb +1 -1
  39. data/fastlane/lib/fastlane/actions/github_api.rb +1 -1
  40. data/fastlane/lib/fastlane/actions/gradle.rb +1 -1
  41. data/fastlane/lib/fastlane/actions/install_on_device.rb +2 -2
  42. data/fastlane/lib/fastlane/actions/ipa.rb +1 -1
  43. data/fastlane/lib/fastlane/actions/jazzy.rb +1 -1
  44. data/fastlane/lib/fastlane/actions/nexus_upload.rb +1 -0
  45. data/fastlane/lib/fastlane/actions/notarize.rb +17 -2
  46. data/fastlane/lib/fastlane/actions/oclint.rb +3 -3
  47. data/fastlane/lib/fastlane/actions/opt_out_crash_reporting.rb +2 -2
  48. data/fastlane/lib/fastlane/actions/restore_file.rb +1 -1
  49. data/fastlane/lib/fastlane/actions/set_github_release.rb +1 -1
  50. data/fastlane/lib/fastlane/actions/slather.rb +18 -5
  51. data/fastlane/lib/fastlane/actions/sonar.rb +12 -3
  52. data/fastlane/lib/fastlane/actions/splunkmint.rb +1 -1
  53. data/fastlane/lib/fastlane/actions/spm.rb +76 -2
  54. data/fastlane/lib/fastlane/actions/update_info_plist.rb +1 -1
  55. data/fastlane/lib/fastlane/actions/update_urban_airship_configuration.rb +1 -1
  56. data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +1 -0
  57. data/fastlane/lib/fastlane/actions/upload_symbols_to_sentry.rb +1 -1
  58. data/fastlane/lib/fastlane/actions/upload_to_testflight.rb +2 -2
  59. data/fastlane/lib/fastlane/actions/verify_build.rb +7 -4
  60. data/fastlane/lib/fastlane/actions/xcov.rb +1 -1
  61. data/fastlane/lib/fastlane/cli_tools_distributor.rb +1 -1
  62. data/fastlane/lib/fastlane/command_line_handler.rb +2 -4
  63. data/fastlane/lib/fastlane/commands_generator.rb +2 -2
  64. data/fastlane/lib/fastlane/fast_file.rb +1 -1
  65. data/fastlane/lib/fastlane/helper/dotenv_helper.rb +1 -1
  66. data/fastlane/lib/fastlane/helper/git_helper.rb +3 -0
  67. data/fastlane/lib/fastlane/helper/xcodes_helper.rb +0 -3
  68. data/fastlane/lib/fastlane/junit_generator.rb +1 -1
  69. data/fastlane/lib/fastlane/lane.rb +9 -1
  70. data/fastlane/lib/fastlane/lane_manager.rb +1 -2
  71. data/fastlane/lib/fastlane/new_action.rb +1 -1
  72. data/fastlane/lib/fastlane/plugins/plugin_info_collector.rb +3 -3
  73. data/fastlane/lib/fastlane/plugins/template/%gem_name%.gemspec.erb +1 -13
  74. data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +9 -1
  75. data/fastlane/lib/fastlane/plugins/template/Gemfile.erb +27 -0
  76. data/fastlane/lib/fastlane/plugins/template/lib/fastlane/plugin/%plugin_name%/helper/%plugin_name%_helper.rb.erb +1 -1
  77. data/fastlane/lib/fastlane/runner.rb +2 -2
  78. data/fastlane/lib/fastlane/setup/setup.rb +1 -1
  79. data/fastlane/lib/fastlane/swift_lane_manager.rb +2 -5
  80. data/fastlane/lib/fastlane/swift_runner_upgrader.rb +7 -4
  81. data/fastlane/lib/fastlane/version.rb +2 -2
  82. data/fastlane/swift/Actions.swift +1 -1
  83. data/fastlane/swift/Appfile.swift +1 -1
  84. data/fastlane/swift/ArgumentProcessor.swift +1 -1
  85. data/fastlane/swift/Atomic.swift +1 -1
  86. data/fastlane/swift/ControlCommand.swift +1 -1
  87. data/fastlane/swift/Deliverfile.swift +2 -2
  88. data/fastlane/swift/DeliverfileProtocol.swift +4 -4
  89. data/fastlane/swift/Fastlane.swift +227 -36
  90. data/fastlane/swift/Gymfile.swift +2 -2
  91. data/fastlane/swift/GymfileProtocol.swift +2 -2
  92. data/fastlane/swift/LaneFileProtocol.swift +5 -5
  93. data/fastlane/swift/MainProcess.swift +1 -1
  94. data/fastlane/swift/Matchfile.swift +2 -2
  95. data/fastlane/swift/MatchfileProtocol.swift +22 -2
  96. data/fastlane/swift/OptionalConfigValue.swift +1 -1
  97. data/fastlane/swift/Plugins.swift +1 -1
  98. data/fastlane/swift/Precheckfile.swift +2 -2
  99. data/fastlane/swift/PrecheckfileProtocol.swift +2 -2
  100. data/fastlane/swift/RubyCommand.swift +1 -1
  101. data/fastlane/swift/RubyCommandable.swift +1 -1
  102. data/fastlane/swift/Runner.swift +1 -1
  103. data/fastlane/swift/RunnerArgument.swift +1 -1
  104. data/fastlane/swift/Scanfile.swift +2 -2
  105. data/fastlane/swift/ScanfileProtocol.swift +6 -2
  106. data/fastlane/swift/Screengrabfile.swift +2 -2
  107. data/fastlane/swift/ScreengrabfileProtocol.swift +2 -2
  108. data/fastlane/swift/Snapshotfile.swift +2 -2
  109. data/fastlane/swift/SnapshotfileProtocol.swift +2 -2
  110. data/fastlane/swift/SocketClient.swift +1 -1
  111. data/fastlane/swift/SocketClientDelegateProtocol.swift +1 -1
  112. data/fastlane/swift/SocketResponse.swift +1 -1
  113. data/fastlane/swift/formatting/Brewfile.lock.json +31 -23
  114. data/fastlane/swift/main.swift +1 -1
  115. data/fastlane_core/lib/fastlane_core/build_watcher.rb +1 -1
  116. data/fastlane_core/lib/fastlane_core/cert_checker.rb +4 -9
  117. data/fastlane_core/lib/fastlane_core/configuration/configuration_file.rb +1 -1
  118. data/fastlane_core/lib/fastlane_core/device_manager.rb +17 -15
  119. data/fastlane_core/lib/fastlane_core/fastlane_pty.rb +34 -12
  120. data/fastlane_core/lib/fastlane_core/helper.rb +1 -1
  121. data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +53 -16
  122. data/fastlane_core/lib/fastlane_core/project.rb +7 -2
  123. data/fastlane_core/lib/fastlane_core/queue_worker.rb +2 -2
  124. data/fastlane_core/lib/fastlane_core/string_filters.rb +6 -6
  125. data/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb +2 -2
  126. data/frameit/lib/frameit/device_types.rb +1 -1
  127. data/frameit/lib/frameit/editor.rb +4 -4
  128. data/frameit/lib/frameit/trim_box.rb +1 -1
  129. data/gym/lib/gym/error_handler.rb +1 -1
  130. data/gym/lib/gym/generators/build_command_generator.rb +1 -1
  131. data/gym/lib/gym/generators/package_command_generator_xcode7.rb +3 -3
  132. data/gym/lib/gym/module.rb +13 -2
  133. data/gym/lib/gym/options.rb +1 -1
  134. data/gym/lib/gym/runner.rb +1 -1
  135. data/gym/lib/gym/xcodebuild_fixes/README.md +1 -1
  136. data/match/lib/match/change_password.rb +3 -9
  137. data/match/lib/match/commands_generator.rb +3 -6
  138. data/match/lib/match/encryption.rb +1 -1
  139. data/match/lib/match/generator.rb +9 -1
  140. data/match/lib/match/importer.rb +3 -30
  141. data/match/lib/match/migrate.rb +6 -2
  142. data/match/lib/match/module.rb +2 -1
  143. data/match/lib/match/nuke.rb +3 -24
  144. data/match/lib/match/options.rb +25 -0
  145. data/match/lib/match/portal_cache.rb +106 -0
  146. data/match/lib/match/portal_fetcher.rb +72 -0
  147. data/match/lib/match/profile_includes.rb +120 -0
  148. data/match/lib/match/runner.rb +93 -209
  149. data/match/lib/match/setup.rb +1 -1
  150. data/match/lib/match/spaceship_ensure.rb +15 -11
  151. data/match/lib/match/storage/git_storage.rb +17 -4
  152. data/match/lib/match/storage/gitlab/client.rb +40 -14
  153. data/match/lib/match/storage/gitlab_secure_files.rb +18 -7
  154. data/match/lib/match/storage/interface.rb +1 -1
  155. data/match/lib/match/storage/s3_storage.rb +7 -1
  156. data/match/lib/match/storage.rb +56 -5
  157. data/match/lib/match.rb +3 -0
  158. data/pilot/lib/pilot/build_manager.rb +4 -4
  159. data/precheck/lib/precheck/rules/unreachable_urls_rule.rb +1 -1
  160. data/produce/lib/produce/itunes_connect.rb +1 -1
  161. data/scan/lib/scan/detect_values.rb +86 -21
  162. data/scan/lib/scan/options.rb +6 -1
  163. data/scan/lib/scan/runner.rb +1 -1
  164. data/scan/lib/scan/test_command_generator.rb +1 -1
  165. data/screengrab/lib/screengrab/runner.rb +1 -1
  166. data/sigh/lib/assets/resign.sh +10 -10
  167. data/sigh/lib/sigh/commands_generator.rb +1 -1
  168. data/sigh/lib/sigh/module.rb +98 -0
  169. data/sigh/lib/sigh/options.rb +55 -1
  170. data/sigh/lib/sigh/resign.rb +1 -1
  171. data/sigh/lib/sigh/runner.rb +36 -112
  172. data/snapshot/lib/assets/SnapshotHelper.swift +13 -9
  173. data/snapshot/lib/snapshot/latest_os_version.rb +2 -5
  174. data/snapshot/lib/snapshot/reports_generator.rb +48 -7
  175. data/snapshot/lib/snapshot/setup.rb +2 -2
  176. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb +23 -22
  177. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +2 -2
  178. data/snapshot/lib/snapshot/test_command_generator.rb +1 -1
  179. data/spaceship/lib/spaceship/client.rb +1 -2
  180. data/spaceship/lib/spaceship/connect_api/api_client.rb +22 -3
  181. data/spaceship/lib/spaceship/connect_api/client.rb +4 -4
  182. data/spaceship/lib/spaceship/connect_api/models/app.rb +5 -4
  183. data/spaceship/lib/spaceship/connect_api/models/app_info.rb +15 -9
  184. data/spaceship/lib/spaceship/connect_api/models/app_preview_set.rb +2 -0
  185. data/spaceship/lib/spaceship/connect_api/models/app_screenshot.rb +2 -2
  186. data/spaceship/lib/spaceship/connect_api/models/app_screenshot_set.rb +7 -0
  187. data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +1 -0
  188. data/spaceship/lib/spaceship/connect_api/models/beta_group.rb +3 -1
  189. data/spaceship/lib/spaceship/connect_api/models/bundle_id.rb +5 -5
  190. data/spaceship/lib/spaceship/connect_api/models/certificate.rb +3 -3
  191. data/spaceship/lib/spaceship/connect_api/models/device.rb +83 -4
  192. data/spaceship/lib/spaceship/connect_api/models/profile.rb +5 -3
  193. data/spaceship/lib/spaceship/connect_api/models/user.rb +38 -0
  194. data/spaceship/lib/spaceship/connect_api/models/user_invitation.rb +5 -15
  195. data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +14 -8
  196. data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +8 -2
  197. data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +3 -6
  198. data/spaceship/lib/spaceship/connect_api/users/users.rb +34 -0
  199. data/spaceship/lib/spaceship/connect_api.rb +2 -0
  200. data/spaceship/lib/spaceship/portal/app.rb +1 -1
  201. data/spaceship/lib/spaceship/portal/app_group.rb +1 -1
  202. data/spaceship/lib/spaceship/test_flight/client.rb +1 -1
  203. data/spaceship/lib/spaceship/test_flight/tester.rb +1 -1
  204. data/spaceship/lib/spaceship/tunes/app_details.rb +2 -2
  205. data/spaceship/lib/spaceship/tunes/app_image.rb +1 -1
  206. data/spaceship/lib/spaceship/tunes/app_review_attachment.rb +1 -1
  207. data/spaceship/lib/spaceship/tunes/app_submission.rb +1 -1
  208. data/spaceship/lib/spaceship/tunes/app_version.rb +5 -5
  209. data/spaceship/lib/spaceship/tunes/build_details.rb +1 -1
  210. data/spaceship/lib/spaceship/tunes/iap.rb +3 -3
  211. data/spaceship/lib/spaceship/tunes/iap_detail.rb +2 -2
  212. data/spaceship/lib/spaceship/tunes/iap_families.rb +1 -1
  213. data/spaceship/lib/spaceship/tunes/iap_family_details.rb +2 -2
  214. data/spaceship/lib/spaceship/tunes/iap_family_list.rb +1 -1
  215. data/spaceship/lib/spaceship/tunes/tunes_client.rb +3 -3
  216. data/supply/lib/supply/client.rb +80 -21
  217. data/supply/lib/supply/generated_universal_apk.rb +24 -0
  218. data/supply/lib/supply/image_listing.rb +15 -0
  219. data/supply/lib/supply/options.rb +5 -0
  220. data/supply/lib/supply/setup.rb +2 -2
  221. data/supply/lib/supply/uploader.rb +60 -18
  222. data/supply/lib/supply.rb +2 -0
  223. data/trainer/lib/trainer/junit_generator.rb +1 -1
  224. data/trainer/lib/trainer/test_parser.rb +1 -1
  225. data/trainer/lib/trainer/xcresult.rb +1 -1
  226. metadata +205 -431
  227. data/fastlane/lib/fastlane/plugins/template/Gemfile +0 -6
@@ -1,5 +1,5 @@
1
1
  // Fastlane.swift
2
- // Copyright (c) 2023 FastlaneTools
2
+ // Copyright (c) 2024 FastlaneTools
3
3
 
4
4
  import Foundation
5
5
  /**
@@ -665,8 +665,8 @@ public func appledoc(input: [String],
665
665
  - submitForReview: Submit the new version for Review after uploading everything
666
666
  - verifyOnly: Verifies archive with App Store Connect without uploading
667
667
  - rejectIfPossible: Rejects the previously submitted build if it's in a state where it's possible
668
- - automaticRelease: Should the app be automatically released once it's approved? (Can not be used together with `auto_release_date`)
669
- - autoReleaseDate: Date in milliseconds for automatically releasing on pending approval (Can not be used together with `automatic_release`)
668
+ - automaticRelease: Should the app be automatically released once it's approved? (Cannot be used together with `auto_release_date`)
669
+ - autoReleaseDate: Date in milliseconds for automatically releasing on pending approval (Cannot be used together with `automatic_release`)
670
670
  - phasedRelease: Enable the phased release feature of iTC
671
671
  - resetRatings: Reset the summary rating when you release a new version of the application
672
672
  - priceTier: The price tier of this application
@@ -3095,7 +3095,7 @@ public func cocoapods(repoUpdate: OptionalConfigValue<Bool> = .fastlaneDefault(f
3095
3095
  - repositoryName: The path to your repo, e.g. 'fastlane/fastlane'
3096
3096
  - serverUrl: The server url. e.g. 'https://your.internal.github.host/api/v3' (Default: 'https://api.github.com')
3097
3097
  - apiToken: Personal API Token for GitHub - generate one at https://github.com/settings/tokens
3098
- - apiBearer: Use a Bearer authorization token. Usually generated by Github Apps, e.g. GitHub Actions GITHUB_TOKEN environment variable
3098
+ - apiBearer: Use a Bearer authorization token. Usually generated by GitHub Apps, e.g. GitHub Actions GITHUB_TOKEN environment variable
3099
3099
  - branch: The branch that the file should be committed on (default: master)
3100
3100
  - path: The relative path to your file from project root e.g. assets/my_app.xcarchive
3101
3101
  - message: The commit message. Defaults to the file name
@@ -3421,7 +3421,7 @@ public func createKeychain(name: OptionalConfigValue<String?> = .fastlaneDefault
3421
3421
 
3422
3422
  - parameters:
3423
3423
  - apiToken: Personal API Token for GitHub - generate one at https://github.com/settings/tokens
3424
- - apiBearer: Use a Bearer authorization token. Usually generated by Github Apps, e.g. GitHub Actions GITHUB_TOKEN environment variable
3424
+ - apiBearer: Use a Bearer authorization token. Usually generated by GitHub Apps, e.g. GitHub Actions GITHUB_TOKEN environment variable
3425
3425
  - repo: The name of the repository you want to submit the pull request to
3426
3426
  - title: The title of the pull request
3427
3427
  - body: The contents of the pull request
@@ -3697,8 +3697,8 @@ public func deleteKeychain(name: OptionalConfigValue<String?> = .fastlaneDefault
3697
3697
  - submitForReview: Submit the new version for Review after uploading everything
3698
3698
  - verifyOnly: Verifies archive with App Store Connect without uploading
3699
3699
  - rejectIfPossible: Rejects the previously submitted build if it's in a state where it's possible
3700
- - automaticRelease: Should the app be automatically released once it's approved? (Can not be used together with `auto_release_date`)
3701
- - autoReleaseDate: Date in milliseconds for automatically releasing on pending approval (Can not be used together with `automatic_release`)
3700
+ - automaticRelease: Should the app be automatically released once it's approved? (Cannot be used together with `auto_release_date`)
3701
+ - autoReleaseDate: Date in milliseconds for automatically releasing on pending approval (Cannot be used together with `automatic_release`)
3702
3702
  - phasedRelease: Enable the phased release feature of iTC
3703
3703
  - resetRatings: Reset the summary rating when you release a new version of the application
3704
3704
  - priceTier: The price tier of this application
@@ -4204,6 +4204,61 @@ public func downloadFromPlayStore(packageName: String,
4204
4204
  _ = runner.executeCommand(command)
4205
4205
  }
4206
4206
 
4207
+ /**
4208
+ Download the Universal APK of a given version code from the Google Play Console
4209
+
4210
+ - parameters:
4211
+ - packageName: The package name of the application to use
4212
+ - versionCode: The versionCode for which to download the generated APK
4213
+ - jsonKey: The path to a file containing service account JSON, used to authenticate with Google
4214
+ - jsonKeyData: The raw service account JSON data used to authenticate with Google
4215
+ - rootUrl: Root URL for the Google Play API. The provided URL will be used for API calls in place of https://www.googleapis.com/
4216
+ - timeout: Timeout for read, open, and send (in seconds)
4217
+ - destination: The path on disk where to download the Generated Universal APK
4218
+ - certificateSha256Hash: The SHA256 hash of the signing key for which to download the Universal, Code-Signed APK for. Use 'xx:xx:xx:…' format (32 hex bytes separated by colons), as printed by `keytool -list -keystore <keystorefile>`. Only useful to provide if you have multiple signing keys configured on GPC, to specify which generated APK to download
4219
+
4220
+ - returns: The path to the downloaded Universal APK. The action will raise an exception if it failed to find or download the APK in Google Play
4221
+
4222
+ Download the universal APK of a given version code from the Google Play Console.
4223
+
4224
+ This uses _fastlane_ `supply` (and the `AndroidPublisher` Google API) to download the Universal APK
4225
+ generated by Google after you uploaded an `.aab` bundle to the Play Console.
4226
+
4227
+ See https://developers.google.com/android-publisher/api-ref/rest/v3/generatedapks/list
4228
+
4229
+ */
4230
+ public func downloadUniversalApkFromGooglePlay(packageName: String,
4231
+ versionCode: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
4232
+ jsonKey: OptionalConfigValue<String?> = .fastlaneDefault(nil),
4233
+ jsonKeyData: OptionalConfigValue<String?> = .fastlaneDefault(nil),
4234
+ rootUrl: OptionalConfigValue<String?> = .fastlaneDefault(nil),
4235
+ timeout: Int = 300,
4236
+ destination: String,
4237
+ certificateSha256Hash: OptionalConfigValue<String?> = .fastlaneDefault(nil))
4238
+ {
4239
+ let packageNameArg = RubyCommand.Argument(name: "package_name", value: packageName, type: nil)
4240
+ let versionCodeArg = versionCode.asRubyArgument(name: "version_code", type: nil)
4241
+ let jsonKeyArg = jsonKey.asRubyArgument(name: "json_key", type: nil)
4242
+ let jsonKeyDataArg = jsonKeyData.asRubyArgument(name: "json_key_data", type: nil)
4243
+ let rootUrlArg = rootUrl.asRubyArgument(name: "root_url", type: nil)
4244
+ let timeoutArg = RubyCommand.Argument(name: "timeout", value: timeout, type: nil)
4245
+ let destinationArg = RubyCommand.Argument(name: "destination", value: destination, type: nil)
4246
+ let certificateSha256HashArg = certificateSha256Hash.asRubyArgument(name: "certificate_sha256_hash", type: nil)
4247
+ let array: [RubyCommand.Argument?] = [packageNameArg,
4248
+ versionCodeArg,
4249
+ jsonKeyArg,
4250
+ jsonKeyDataArg,
4251
+ rootUrlArg,
4252
+ timeoutArg,
4253
+ destinationArg,
4254
+ certificateSha256HashArg]
4255
+ let args: [RubyCommand.Argument] = array
4256
+ .filter { $0?.value != nil }
4257
+ .compactMap { $0 }
4258
+ let command = RubyCommand(commandID: "", methodName: "download_universal_apk_from_google_play", className: nil, args: args)
4259
+ _ = runner.executeCommand(command)
4260
+ }
4261
+
4207
4262
  /**
4208
4263
  Creates a zipped dSYM in the project root from the .xcarchive
4209
4264
 
@@ -4299,7 +4354,8 @@ public func ensureGitBranch(branch: String = "master") {
4299
4354
  - parameters:
4300
4355
  - showUncommittedChanges: The flag whether to show uncommitted changes if the repo is dirty
4301
4356
  - showDiff: The flag whether to show the git diff if the repo is dirty
4302
- - ignored: The flag whether to ignore file the git status if the repo is dirty
4357
+ - ignored: The handling mode of the ignored files. The available options are: `'traditional'`, `'none'` (default) and `'matching'`. Specifying `'none'` to this parameter is the same as not specifying the parameter at all, which means that no ignored file will be used to check if the repo is dirty or not. Specifying `'traditional'` or `'matching'` causes some ignored files to be used to check if the repo is dirty or not (more info in the official docs: https://git-scm.com/docs/git-status#Documentation/git-status.txt---ignoredltmodegt)
4358
+ - ignoreFiles: Array of files to ignore
4303
4359
 
4304
4360
  A sanity check to make sure you are working in a repo that is clean.
4305
4361
  Especially useful to put at the beginning of your Fastfile in the `before_all` block, if some of your other actions will touch your filesystem, do things to your git repo, or just as a general reminder to save your work.
@@ -4307,14 +4363,17 @@ public func ensureGitBranch(branch: String = "master") {
4307
4363
  */
4308
4364
  public func ensureGitStatusClean(showUncommittedChanges: OptionalConfigValue<Bool> = .fastlaneDefault(false),
4309
4365
  showDiff: OptionalConfigValue<Bool> = .fastlaneDefault(false),
4310
- ignored: OptionalConfigValue<String?> = .fastlaneDefault(nil))
4366
+ ignored: OptionalConfigValue<String?> = .fastlaneDefault(nil),
4367
+ ignoreFiles: OptionalConfigValue<[String]?> = .fastlaneDefault(nil))
4311
4368
  {
4312
4369
  let showUncommittedChangesArg = showUncommittedChanges.asRubyArgument(name: "show_uncommitted_changes", type: nil)
4313
4370
  let showDiffArg = showDiff.asRubyArgument(name: "show_diff", type: nil)
4314
4371
  let ignoredArg = ignored.asRubyArgument(name: "ignored", type: nil)
4372
+ let ignoreFilesArg = ignoreFiles.asRubyArgument(name: "ignore_files", type: nil)
4315
4373
  let array: [RubyCommand.Argument?] = [showUncommittedChangesArg,
4316
4374
  showDiffArg,
4317
- ignoredArg]
4375
+ ignoredArg,
4376
+ ignoreFilesArg]
4318
4377
  let args: [RubyCommand.Argument] = array
4319
4378
  .filter { $0?.value != nil }
4320
4379
  .compactMap { $0 }
@@ -4792,7 +4851,7 @@ public func getCertificates(development: OptionalConfigValue<Bool> = .fastlaneDe
4792
4851
  - serverUrl: The server url. e.g. 'https://your.github.server/api/v3' (Default: 'https://api.github.com')
4793
4852
  - version: The version tag of the release to check
4794
4853
  - apiToken: GitHub Personal Token (required for private repositories)
4795
- - apiBearer: Use a Bearer authorization token. Usually generated by Github Apps, e.g. GitHub Actions GITHUB_TOKEN environment variable
4854
+ - apiBearer: Use a Bearer authorization token. Usually generated by GitHub Apps, e.g. GitHub Actions GITHUB_TOKEN environment variable
4796
4855
 
4797
4856
  This will return all information about a release. For example:|
4798
4857
  |
@@ -4965,6 +5024,10 @@ public func getManagedPlayStorePublishingRights(jsonKey: OptionalConfigValue<Str
4965
5024
  - readonly: Only fetch existing profile, don't generate new ones
4966
5025
  - templateName: The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. "Apple Pay Pass Suppression Development")
4967
5026
  - failOnNameTaken: Should the command fail if it was about to create a duplicate of an existing provisioning profile. It can happen due to issues on Apple Developer Portal, when profile to be recreated was not properly deleted first
5027
+ - cachedCertificates: A list of cached certificates
5028
+ - cachedDevices: A list of cached devices
5029
+ - cachedBundleIds: A list of cached bundle ids
5030
+ - cachedProfiles: A list of cached bundle ids
4968
5031
 
4969
5032
  - returns: The UUID of the profile sigh just fetched/generated
4970
5033
 
@@ -4994,7 +5057,11 @@ public func getManagedPlayStorePublishingRights(jsonKey: OptionalConfigValue<Str
4994
5057
  platform: Any = "ios",
4995
5058
  readonly: OptionalConfigValue<Bool> = .fastlaneDefault(false),
4996
5059
  templateName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
4997
- failOnNameTaken: OptionalConfigValue<Bool> = .fastlaneDefault(false)) -> String
5060
+ failOnNameTaken: OptionalConfigValue<Bool> = .fastlaneDefault(false),
5061
+ cachedCertificates: Any? = nil,
5062
+ cachedDevices: Any? = nil,
5063
+ cachedBundleIds: Any? = nil,
5064
+ cachedProfiles: Any? = nil) -> String
4998
5065
  {
4999
5066
  let adhocArg = adhoc.asRubyArgument(name: "adhoc", type: nil)
5000
5067
  let developerIdArg = developerId.asRubyArgument(name: "developer_id", type: nil)
@@ -5021,6 +5088,10 @@ public func getManagedPlayStorePublishingRights(jsonKey: OptionalConfigValue<Str
5021
5088
  let readonlyArg = readonly.asRubyArgument(name: "readonly", type: nil)
5022
5089
  let templateNameArg = templateName.asRubyArgument(name: "template_name", type: nil)
5023
5090
  let failOnNameTakenArg = failOnNameTaken.asRubyArgument(name: "fail_on_name_taken", type: nil)
5091
+ let cachedCertificatesArg = RubyCommand.Argument(name: "cached_certificates", value: cachedCertificates, type: nil)
5092
+ let cachedDevicesArg = RubyCommand.Argument(name: "cached_devices", value: cachedDevices, type: nil)
5093
+ let cachedBundleIdsArg = RubyCommand.Argument(name: "cached_bundle_ids", value: cachedBundleIds, type: nil)
5094
+ let cachedProfilesArg = RubyCommand.Argument(name: "cached_profiles", value: cachedProfiles, type: nil)
5024
5095
  let array: [RubyCommand.Argument?] = [adhocArg,
5025
5096
  developerIdArg,
5026
5097
  developmentArg,
@@ -5045,7 +5116,11 @@ public func getManagedPlayStorePublishingRights(jsonKey: OptionalConfigValue<Str
5045
5116
  platformArg,
5046
5117
  readonlyArg,
5047
5118
  templateNameArg,
5048
- failOnNameTakenArg]
5119
+ failOnNameTakenArg,
5120
+ cachedCertificatesArg,
5121
+ cachedDevicesArg,
5122
+ cachedBundleIdsArg,
5123
+ cachedProfilesArg]
5049
5124
  let args: [RubyCommand.Argument] = array
5050
5125
  .filter { $0?.value != nil }
5051
5126
  .compactMap { $0 }
@@ -5193,7 +5268,7 @@ public func gitAdd(path: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
5193
5268
  /**
5194
5269
  Returns the name of the current git branch, possibly as managed by CI ENV vars
5195
5270
 
5196
- If no branch could be found, this action will return an empty string. This is a wrapper for the internal action Actions.git_branch
5271
+ If no branch could be found, this action will return an empty string. If `FL_GIT_BRANCH_DONT_USE_ENV_VARS` is `true`, it'll ignore CI ENV vars. This is a wrapper for the internal action Actions.git_branch
5197
5272
  */
5198
5273
  @discardableResult public func gitBranch() -> String {
5199
5274
  let args: [RubyCommand.Argument] = []
@@ -5322,7 +5397,7 @@ public func gitSubmoduleUpdate(recursive: OptionalConfigValue<Bool> = .fastlaneD
5322
5397
  - parameters:
5323
5398
  - serverUrl: The server url. e.g. 'https://your.internal.github.host/api/v3' (Default: 'https://api.github.com')
5324
5399
  - apiToken: Personal API Token for GitHub - generate one at https://github.com/settings/tokens
5325
- - apiBearer: Use a Bearer authorization token. Usually generated by Github Apps, e.g. GitHub Actions GITHUB_TOKEN environment variable
5400
+ - apiBearer: Use a Bearer authorization token. Usually generated by GitHub Apps, e.g. GitHub Actions GITHUB_TOKEN environment variable
5326
5401
  - httpMethod: The HTTP method. e.g. GET / POST
5327
5402
  - body: The request body in JSON or hash format
5328
5403
  - rawBody: The request body taken verbatim instead of as JSON, useful for file uploads
@@ -6172,12 +6247,12 @@ public func importCertificate(certificatePath: String,
6172
6247
  Installs an .ipa file on a connected iOS-device via usb or wifi
6173
6248
 
6174
6249
  - parameters:
6175
- - extra: Extra Commandline arguments passed to ios-deploy
6250
+ - extra: Extra Command-line arguments passed to ios-deploy
6176
6251
  - deviceId: id of the device / if not set defaults to first found device
6177
6252
  - skipWifi: Do not search for devices via WiFi
6178
6253
  - ipa: The IPA file to put on the device
6179
6254
 
6180
- Installs the ipa on the device. If no id is given, the first found iOS device will be used. Works via USB or Wi-Fi. This requires `ios-deploy` to be installed. Please have a look at [ios-deploy](https://github.com/ios-control/ios-deploy). To quickly install it, use `npm -g i ios-deploy`
6255
+ Installs the ipa on the device. If no id is given, the first found iOS device will be used. Works via USB or Wi-Fi. This requires `ios-deploy` to be installed. Please have a look at [ios-deploy](https://github.com/ios-control/ios-deploy). To quickly install it, use `brew install ios-deploy`
6181
6256
  */
6182
6257
  public func installOnDevice(extra: OptionalConfigValue<String?> = .fastlaneDefault(nil),
6183
6258
  deviceId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
@@ -6353,7 +6428,7 @@ public func ipa(workspace: OptionalConfigValue<String?> = .fastlaneDefault(nil),
6353
6428
 
6354
6429
  - parameters:
6355
6430
  - config: Path to jazzy config file
6356
- - moduleVersion: Version string to use as part of the the default docs title and inside the docset
6431
+ - moduleVersion: Version string to use as part of the default docs title and inside the docset
6357
6432
  */
6358
6433
  public func jazzy(config: OptionalConfigValue<String?> = .fastlaneDefault(nil),
6359
6434
  moduleVersion: OptionalConfigValue<String?> = .fastlaneDefault(nil))
@@ -6675,13 +6750,18 @@ public func makeChangelogFromJenkins(fallbackChangelog: String = "",
6675
6750
  - s3SecretAccessKey: S3 secret access key
6676
6751
  - s3Bucket: Name of the S3 bucket
6677
6752
  - s3ObjectPrefix: Prefix to be used on all objects uploaded to S3
6753
+ - s3SkipEncryption: Skip encryption of all objects uploaded to S3. WARNING: only enable this on S3 buckets with sufficiently restricted permissions and server-side encryption enabled. See https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingEncryption.html
6678
6754
  - gitlabProject: GitLab Project Path (i.e. 'gitlab-org/gitlab')
6755
+ - gitlabHost: GitLab Host (i.e. 'https://gitlab.com')
6756
+ - jobToken: GitLab CI_JOB_TOKEN
6757
+ - privateToken: GitLab Access Token
6679
6758
  - keychainName: Keychain the items should be imported to
6680
6759
  - keychainPassword: This might be required the first time you access certificates on a new mac. For the login/default keychain this is your macOS account password
6681
6760
  - force: Renew the provisioning profiles every time you run match
6682
6761
  - forceForNewDevices: Renew the provisioning profiles if the device count on the developer portal has changed. Ignored for profile types 'appstore' and 'developer_id'
6683
6762
  - includeMacInProfiles: Include Apple Silicon Mac devices in provisioning profiles for iOS/iPadOS apps
6684
6763
  - includeAllCertificates: Include all matching certificates in the provisioning profile. Works only for the 'development' provisioning profile type
6764
+ - certificateId: Select certificate by id. Useful if multiple certificates are stored in one place
6685
6765
  - forceForNewCertificates: Renew the provisioning profiles if the certificate count on the developer portal has changed. Works only for the 'development' provisioning profile type. Requires 'include_all_certificates' option to be 'true'
6686
6766
  - skipConfirmation: Disables confirmation prompts during nuke, answering them with yes
6687
6767
  - safeRemoveCerts: Remove certs from repository during nuke without revoking them on the developer portal
@@ -6728,13 +6808,18 @@ public func match(type: String = matchfile.type,
6728
6808
  s3SecretAccessKey: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.s3SecretAccessKey),
6729
6809
  s3Bucket: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.s3Bucket),
6730
6810
  s3ObjectPrefix: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.s3ObjectPrefix),
6811
+ s3SkipEncryption: OptionalConfigValue<Bool> = .fastlaneDefault(matchfile.s3SkipEncryption),
6731
6812
  gitlabProject: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.gitlabProject),
6813
+ gitlabHost: String = matchfile.gitlabHost,
6814
+ jobToken: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.jobToken),
6815
+ privateToken: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.privateToken),
6732
6816
  keychainName: String = matchfile.keychainName,
6733
6817
  keychainPassword: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.keychainPassword),
6734
6818
  force: OptionalConfigValue<Bool> = .fastlaneDefault(matchfile.force),
6735
6819
  forceForNewDevices: OptionalConfigValue<Bool> = .fastlaneDefault(matchfile.forceForNewDevices),
6736
6820
  includeMacInProfiles: OptionalConfigValue<Bool> = .fastlaneDefault(matchfile.includeMacInProfiles),
6737
6821
  includeAllCertificates: OptionalConfigValue<Bool> = .fastlaneDefault(matchfile.includeAllCertificates),
6822
+ certificateId: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.certificateId),
6738
6823
  forceForNewCertificates: OptionalConfigValue<Bool> = .fastlaneDefault(matchfile.forceForNewCertificates),
6739
6824
  skipConfirmation: OptionalConfigValue<Bool> = .fastlaneDefault(matchfile.skipConfirmation),
6740
6825
  safeRemoveCerts: OptionalConfigValue<Bool> = .fastlaneDefault(matchfile.safeRemoveCerts),
@@ -6779,13 +6864,18 @@ public func match(type: String = matchfile.type,
6779
6864
  let s3SecretAccessKeyArg = s3SecretAccessKey.asRubyArgument(name: "s3_secret_access_key", type: nil)
6780
6865
  let s3BucketArg = s3Bucket.asRubyArgument(name: "s3_bucket", type: nil)
6781
6866
  let s3ObjectPrefixArg = s3ObjectPrefix.asRubyArgument(name: "s3_object_prefix", type: nil)
6867
+ let s3SkipEncryptionArg = s3SkipEncryption.asRubyArgument(name: "s3_skip_encryption", type: nil)
6782
6868
  let gitlabProjectArg = gitlabProject.asRubyArgument(name: "gitlab_project", type: nil)
6869
+ let gitlabHostArg = RubyCommand.Argument(name: "gitlab_host", value: gitlabHost, type: nil)
6870
+ let jobTokenArg = jobToken.asRubyArgument(name: "job_token", type: nil)
6871
+ let privateTokenArg = privateToken.asRubyArgument(name: "private_token", type: nil)
6783
6872
  let keychainNameArg = RubyCommand.Argument(name: "keychain_name", value: keychainName, type: nil)
6784
6873
  let keychainPasswordArg = keychainPassword.asRubyArgument(name: "keychain_password", type: nil)
6785
6874
  let forceArg = force.asRubyArgument(name: "force", type: nil)
6786
6875
  let forceForNewDevicesArg = forceForNewDevices.asRubyArgument(name: "force_for_new_devices", type: nil)
6787
6876
  let includeMacInProfilesArg = includeMacInProfiles.asRubyArgument(name: "include_mac_in_profiles", type: nil)
6788
6877
  let includeAllCertificatesArg = includeAllCertificates.asRubyArgument(name: "include_all_certificates", type: nil)
6878
+ let certificateIdArg = certificateId.asRubyArgument(name: "certificate_id", type: nil)
6789
6879
  let forceForNewCertificatesArg = forceForNewCertificates.asRubyArgument(name: "force_for_new_certificates", type: nil)
6790
6880
  let skipConfirmationArg = skipConfirmation.asRubyArgument(name: "skip_confirmation", type: nil)
6791
6881
  let safeRemoveCertsArg = safeRemoveCerts.asRubyArgument(name: "safe_remove_certs", type: nil)
@@ -6829,13 +6919,18 @@ public func match(type: String = matchfile.type,
6829
6919
  s3SecretAccessKeyArg,
6830
6920
  s3BucketArg,
6831
6921
  s3ObjectPrefixArg,
6922
+ s3SkipEncryptionArg,
6832
6923
  gitlabProjectArg,
6924
+ gitlabHostArg,
6925
+ jobTokenArg,
6926
+ privateTokenArg,
6833
6927
  keychainNameArg,
6834
6928
  keychainPasswordArg,
6835
6929
  forceArg,
6836
6930
  forceForNewDevicesArg,
6837
6931
  includeMacInProfilesArg,
6838
6932
  includeAllCertificatesArg,
6933
+ certificateIdArg,
6839
6934
  forceForNewCertificatesArg,
6840
6935
  skipConfirmationArg,
6841
6936
  safeRemoveCertsArg,
@@ -6890,13 +6985,18 @@ public func match(type: String = matchfile.type,
6890
6985
  - s3SecretAccessKey: S3 secret access key
6891
6986
  - s3Bucket: Name of the S3 bucket
6892
6987
  - s3ObjectPrefix: Prefix to be used on all objects uploaded to S3
6988
+ - s3SkipEncryption: Skip encryption of all objects uploaded to S3. WARNING: only enable this on S3 buckets with sufficiently restricted permissions and server-side encryption enabled. See https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingEncryption.html
6893
6989
  - gitlabProject: GitLab Project Path (i.e. 'gitlab-org/gitlab')
6990
+ - gitlabHost: GitLab Host (i.e. 'https://gitlab.com')
6991
+ - jobToken: GitLab CI_JOB_TOKEN
6992
+ - privateToken: GitLab Access Token
6894
6993
  - keychainName: Keychain the items should be imported to
6895
6994
  - keychainPassword: This might be required the first time you access certificates on a new mac. For the login/default keychain this is your macOS account password
6896
6995
  - force: Renew the provisioning profiles every time you run match
6897
6996
  - forceForNewDevices: Renew the provisioning profiles if the device count on the developer portal has changed. Ignored for profile types 'appstore' and 'developer_id'
6898
6997
  - includeMacInProfiles: Include Apple Silicon Mac devices in provisioning profiles for iOS/iPadOS apps
6899
6998
  - includeAllCertificates: Include all matching certificates in the provisioning profile. Works only for the 'development' provisioning profile type
6999
+ - certificateId: Select certificate by id. Useful if multiple certificates are stored in one place
6900
7000
  - forceForNewCertificates: Renew the provisioning profiles if the certificate count on the developer portal has changed. Works only for the 'development' provisioning profile type. Requires 'include_all_certificates' option to be 'true'
6901
7001
  - skipConfirmation: Disables confirmation prompts during nuke, answering them with yes
6902
7002
  - safeRemoveCerts: Remove certs from repository during nuke without revoking them on the developer portal
@@ -6947,13 +7047,18 @@ public func matchNuke(type: String = "development",
6947
7047
  s3SecretAccessKey: OptionalConfigValue<String?> = .fastlaneDefault(nil),
6948
7048
  s3Bucket: OptionalConfigValue<String?> = .fastlaneDefault(nil),
6949
7049
  s3ObjectPrefix: OptionalConfigValue<String?> = .fastlaneDefault(nil),
7050
+ s3SkipEncryption: OptionalConfigValue<Bool> = .fastlaneDefault(false),
6950
7051
  gitlabProject: OptionalConfigValue<String?> = .fastlaneDefault(nil),
7052
+ gitlabHost: String = "https://gitlab.com",
7053
+ jobToken: OptionalConfigValue<String?> = .fastlaneDefault(nil),
7054
+ privateToken: OptionalConfigValue<String?> = .fastlaneDefault(nil),
6951
7055
  keychainName: String = "login.keychain",
6952
7056
  keychainPassword: OptionalConfigValue<String?> = .fastlaneDefault(nil),
6953
7057
  force: OptionalConfigValue<Bool> = .fastlaneDefault(false),
6954
7058
  forceForNewDevices: OptionalConfigValue<Bool> = .fastlaneDefault(false),
6955
7059
  includeMacInProfiles: OptionalConfigValue<Bool> = .fastlaneDefault(false),
6956
7060
  includeAllCertificates: OptionalConfigValue<Bool> = .fastlaneDefault(false),
7061
+ certificateId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
6957
7062
  forceForNewCertificates: OptionalConfigValue<Bool> = .fastlaneDefault(false),
6958
7063
  skipConfirmation: OptionalConfigValue<Bool> = .fastlaneDefault(false),
6959
7064
  safeRemoveCerts: OptionalConfigValue<Bool> = .fastlaneDefault(false),
@@ -6998,13 +7103,18 @@ public func matchNuke(type: String = "development",
6998
7103
  let s3SecretAccessKeyArg = s3SecretAccessKey.asRubyArgument(name: "s3_secret_access_key", type: nil)
6999
7104
  let s3BucketArg = s3Bucket.asRubyArgument(name: "s3_bucket", type: nil)
7000
7105
  let s3ObjectPrefixArg = s3ObjectPrefix.asRubyArgument(name: "s3_object_prefix", type: nil)
7106
+ let s3SkipEncryptionArg = s3SkipEncryption.asRubyArgument(name: "s3_skip_encryption", type: nil)
7001
7107
  let gitlabProjectArg = gitlabProject.asRubyArgument(name: "gitlab_project", type: nil)
7108
+ let gitlabHostArg = RubyCommand.Argument(name: "gitlab_host", value: gitlabHost, type: nil)
7109
+ let jobTokenArg = jobToken.asRubyArgument(name: "job_token", type: nil)
7110
+ let privateTokenArg = privateToken.asRubyArgument(name: "private_token", type: nil)
7002
7111
  let keychainNameArg = RubyCommand.Argument(name: "keychain_name", value: keychainName, type: nil)
7003
7112
  let keychainPasswordArg = keychainPassword.asRubyArgument(name: "keychain_password", type: nil)
7004
7113
  let forceArg = force.asRubyArgument(name: "force", type: nil)
7005
7114
  let forceForNewDevicesArg = forceForNewDevices.asRubyArgument(name: "force_for_new_devices", type: nil)
7006
7115
  let includeMacInProfilesArg = includeMacInProfiles.asRubyArgument(name: "include_mac_in_profiles", type: nil)
7007
7116
  let includeAllCertificatesArg = includeAllCertificates.asRubyArgument(name: "include_all_certificates", type: nil)
7117
+ let certificateIdArg = certificateId.asRubyArgument(name: "certificate_id", type: nil)
7008
7118
  let forceForNewCertificatesArg = forceForNewCertificates.asRubyArgument(name: "force_for_new_certificates", type: nil)
7009
7119
  let skipConfirmationArg = skipConfirmation.asRubyArgument(name: "skip_confirmation", type: nil)
7010
7120
  let safeRemoveCertsArg = safeRemoveCerts.asRubyArgument(name: "safe_remove_certs", type: nil)
@@ -7048,13 +7158,18 @@ public func matchNuke(type: String = "development",
7048
7158
  s3SecretAccessKeyArg,
7049
7159
  s3BucketArg,
7050
7160
  s3ObjectPrefixArg,
7161
+ s3SkipEncryptionArg,
7051
7162
  gitlabProjectArg,
7163
+ gitlabHostArg,
7164
+ jobTokenArg,
7165
+ privateTokenArg,
7052
7166
  keychainNameArg,
7053
7167
  keychainPasswordArg,
7054
7168
  forceArg,
7055
7169
  forceForNewDevicesArg,
7056
7170
  includeMacInProfilesArg,
7057
7171
  includeAllCertificatesArg,
7172
+ certificateIdArg,
7058
7173
  forceForNewCertificatesArg,
7059
7174
  skipConfirmationArg,
7060
7175
  safeRemoveCertsArg,
@@ -7482,7 +7597,7 @@ public func onesignal(appId: OptionalConfigValue<String?> = .fastlaneDefault(nil
7482
7597
  /**
7483
7598
  This will prevent reports from being uploaded when _fastlane_ crashes
7484
7599
 
7485
- _fastlane_ doesn't have crash reporting any more. Feel free to remove `opt_out_crash_reporting` from your Fastfile.
7600
+ _fastlane_ doesn't have crash reporting anymore. Feel free to remove `opt_out_crash_reporting` from your Fastfile.
7486
7601
  */
7487
7602
  public func optOutCrashReporting() {
7488
7603
  let args: [RubyCommand.Argument] = []
@@ -8550,7 +8665,7 @@ public func resign(ipa: String,
8550
8665
  }
8551
8666
 
8552
8667
  /**
8553
- This action restore your file that was backuped with the `backup_file` action
8668
+ This action restore your file that was backed up with the `backup_file` action
8554
8669
 
8555
8670
  - parameter path: Original file name you want to restore
8556
8671
  */
@@ -8704,6 +8819,7 @@ public func rubyVersion() {
8704
8819
  - slackOnlyOnFailure: Only post on Slack if the tests fail
8705
8820
  - slackDefaultPayloads: Specifies default payloads to include in Slack messages. For more info visit https://docs.fastlane.tools/actions/slack
8706
8821
  - destination: Use only if you're a pro, use the other options instead
8822
+ - runRosettaSimulator: Adds arch=x86_64 to the xcodebuild 'destination' argument to run simulator in a Rosetta mode
8707
8823
  - catalystPlatform: Platform to build when using a Catalyst enabled app. Valid values are: ios, macos
8708
8824
  - customReportFileName: **DEPRECATED!** Use `--output_files` instead - Sets custom full report file name when generating a single report
8709
8825
  - xcodebuildCommand: Allows for override of the default `xcodebuild` command
@@ -8786,6 +8902,7 @@ public func rubyVersion() {
8786
8902
  slackOnlyOnFailure: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8787
8903
  slackDefaultPayloads: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
8788
8904
  destination: Any? = nil,
8905
+ runRosettaSimulator: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8789
8906
  catalystPlatform: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8790
8907
  customReportFileName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8791
8908
  xcodebuildCommand: String = "env NSUnbufferedIO=YES xcodebuild",
@@ -8864,6 +8981,7 @@ public func rubyVersion() {
8864
8981
  let slackOnlyOnFailureArg = slackOnlyOnFailure.asRubyArgument(name: "slack_only_on_failure", type: nil)
8865
8982
  let slackDefaultPayloadsArg = slackDefaultPayloads.asRubyArgument(name: "slack_default_payloads", type: nil)
8866
8983
  let destinationArg = RubyCommand.Argument(name: "destination", value: destination, type: nil)
8984
+ let runRosettaSimulatorArg = runRosettaSimulator.asRubyArgument(name: "run_rosetta_simulator", type: nil)
8867
8985
  let catalystPlatformArg = catalystPlatform.asRubyArgument(name: "catalyst_platform", type: nil)
8868
8986
  let customReportFileNameArg = customReportFileName.asRubyArgument(name: "custom_report_file_name", type: nil)
8869
8987
  let xcodebuildCommandArg = RubyCommand.Argument(name: "xcodebuild_command", value: xcodebuildCommand, type: nil)
@@ -8941,6 +9059,7 @@ public func rubyVersion() {
8941
9059
  slackOnlyOnFailureArg,
8942
9060
  slackDefaultPayloadsArg,
8943
9061
  destinationArg,
9062
+ runRosettaSimulatorArg,
8944
9063
  catalystPlatformArg,
8945
9064
  customReportFileNameArg,
8946
9065
  xcodebuildCommandArg,
@@ -9131,6 +9250,7 @@ public func say(text: [String],
9131
9250
  - slackOnlyOnFailure: Only post on Slack if the tests fail
9132
9251
  - slackDefaultPayloads: Specifies default payloads to include in Slack messages. For more info visit https://docs.fastlane.tools/actions/slack
9133
9252
  - destination: Use only if you're a pro, use the other options instead
9253
+ - runRosettaSimulator: Adds arch=x86_64 to the xcodebuild 'destination' argument to run simulator in a Rosetta mode
9134
9254
  - catalystPlatform: Platform to build when using a Catalyst enabled app. Valid values are: ios, macos
9135
9255
  - customReportFileName: **DEPRECATED!** Use `--output_files` instead - Sets custom full report file name when generating a single report
9136
9256
  - xcodebuildCommand: Allows for override of the default `xcodebuild` command
@@ -9213,6 +9333,7 @@ public func say(text: [String],
9213
9333
  slackOnlyOnFailure: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.slackOnlyOnFailure),
9214
9334
  slackDefaultPayloads: OptionalConfigValue<[String]?> = .fastlaneDefault(scanfile.slackDefaultPayloads),
9215
9335
  destination: Any? = scanfile.destination,
9336
+ runRosettaSimulator: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.runRosettaSimulator),
9216
9337
  catalystPlatform: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.catalystPlatform),
9217
9338
  customReportFileName: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.customReportFileName),
9218
9339
  xcodebuildCommand: String = scanfile.xcodebuildCommand,
@@ -9291,6 +9412,7 @@ public func say(text: [String],
9291
9412
  let slackOnlyOnFailureArg = slackOnlyOnFailure.asRubyArgument(name: "slack_only_on_failure", type: nil)
9292
9413
  let slackDefaultPayloadsArg = slackDefaultPayloads.asRubyArgument(name: "slack_default_payloads", type: nil)
9293
9414
  let destinationArg = RubyCommand.Argument(name: "destination", value: destination, type: nil)
9415
+ let runRosettaSimulatorArg = runRosettaSimulator.asRubyArgument(name: "run_rosetta_simulator", type: nil)
9294
9416
  let catalystPlatformArg = catalystPlatform.asRubyArgument(name: "catalyst_platform", type: nil)
9295
9417
  let customReportFileNameArg = customReportFileName.asRubyArgument(name: "custom_report_file_name", type: nil)
9296
9418
  let xcodebuildCommandArg = RubyCommand.Argument(name: "xcodebuild_command", value: xcodebuildCommand, type: nil)
@@ -9368,6 +9490,7 @@ public func say(text: [String],
9368
9490
  slackOnlyOnFailureArg,
9369
9491
  slackDefaultPayloadsArg,
9370
9492
  destinationArg,
9493
+ runRosettaSimulatorArg,
9371
9494
  catalystPlatformArg,
9372
9495
  customReportFileNameArg,
9373
9496
  xcodebuildCommandArg,
@@ -9607,7 +9730,7 @@ public func setChangelog(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDef
9607
9730
  - repositoryName: The path to your repo, e.g. 'fastlane/fastlane'
9608
9731
  - serverUrl: The server url. e.g. 'https://your.internal.github.host/api/v3' (Default: 'https://api.github.com')
9609
9732
  - apiToken: Personal API Token for GitHub - generate one at https://github.com/settings/tokens
9610
- - apiBearer: Use a Bearer authorization token. Usually generated by Github Apps, e.g. GitHub Actions GITHUB_TOKEN environment variable
9733
+ - apiBearer: Use a Bearer authorization token. Usually generated by GitHub Apps, e.g. GitHub Actions GITHUB_TOKEN environment variable
9611
9734
  - tagName: Pass in the tag name
9612
9735
  - name: Name of this release
9613
9736
  - commitish: Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually master)
@@ -9932,6 +10055,10 @@ public func setupTravis(force: OptionalConfigValue<Bool> = .fastlaneDefault(fals
9932
10055
  - readonly: Only fetch existing profile, don't generate new ones
9933
10056
  - templateName: The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. "Apple Pay Pass Suppression Development")
9934
10057
  - failOnNameTaken: Should the command fail if it was about to create a duplicate of an existing provisioning profile. It can happen due to issues on Apple Developer Portal, when profile to be recreated was not properly deleted first
10058
+ - cachedCertificates: A list of cached certificates
10059
+ - cachedDevices: A list of cached devices
10060
+ - cachedBundleIds: A list of cached bundle ids
10061
+ - cachedProfiles: A list of cached bundle ids
9935
10062
 
9936
10063
  - returns: The UUID of the profile sigh just fetched/generated
9937
10064
 
@@ -9961,7 +10088,11 @@ public func setupTravis(force: OptionalConfigValue<Bool> = .fastlaneDefault(fals
9961
10088
  platform: Any = "ios",
9962
10089
  readonly: OptionalConfigValue<Bool> = .fastlaneDefault(false),
9963
10090
  templateName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
9964
- failOnNameTaken: OptionalConfigValue<Bool> = .fastlaneDefault(false)) -> String
10091
+ failOnNameTaken: OptionalConfigValue<Bool> = .fastlaneDefault(false),
10092
+ cachedCertificates: Any? = nil,
10093
+ cachedDevices: Any? = nil,
10094
+ cachedBundleIds: Any? = nil,
10095
+ cachedProfiles: Any? = nil) -> String
9965
10096
  {
9966
10097
  let adhocArg = adhoc.asRubyArgument(name: "adhoc", type: nil)
9967
10098
  let developerIdArg = developerId.asRubyArgument(name: "developer_id", type: nil)
@@ -9988,6 +10119,10 @@ public func setupTravis(force: OptionalConfigValue<Bool> = .fastlaneDefault(fals
9988
10119
  let readonlyArg = readonly.asRubyArgument(name: "readonly", type: nil)
9989
10120
  let templateNameArg = templateName.asRubyArgument(name: "template_name", type: nil)
9990
10121
  let failOnNameTakenArg = failOnNameTaken.asRubyArgument(name: "fail_on_name_taken", type: nil)
10122
+ let cachedCertificatesArg = RubyCommand.Argument(name: "cached_certificates", value: cachedCertificates, type: nil)
10123
+ let cachedDevicesArg = RubyCommand.Argument(name: "cached_devices", value: cachedDevices, type: nil)
10124
+ let cachedBundleIdsArg = RubyCommand.Argument(name: "cached_bundle_ids", value: cachedBundleIds, type: nil)
10125
+ let cachedProfilesArg = RubyCommand.Argument(name: "cached_profiles", value: cachedProfiles, type: nil)
9991
10126
  let array: [RubyCommand.Argument?] = [adhocArg,
9992
10127
  developerIdArg,
9993
10128
  developmentArg,
@@ -10012,7 +10147,11 @@ public func setupTravis(force: OptionalConfigValue<Bool> = .fastlaneDefault(fals
10012
10147
  platformArg,
10013
10148
  readonlyArg,
10014
10149
  templateNameArg,
10015
- failOnNameTakenArg]
10150
+ failOnNameTakenArg,
10151
+ cachedCertificatesArg,
10152
+ cachedDevicesArg,
10153
+ cachedBundleIdsArg,
10154
+ cachedProfilesArg]
10016
10155
  let args: [RubyCommand.Argument] = array
10017
10156
  .filter { $0?.value != nil }
10018
10157
  .compactMap { $0 }
@@ -10157,7 +10296,7 @@ public func slackTrainStart(distance: Int = 5,
10157
10296
  - scheme: Scheme to use when calling slather
10158
10297
  - configuration: Configuration to use when calling slather (since slather-2.4.1)
10159
10298
  - inputFormat: The input format that slather should look for
10160
- - github: Tell slather that it is running on Github Actions
10299
+ - github: Tell slather that it is running on GitHub Actions
10161
10300
  - buildkite: Tell slather that it is running on Buildkite
10162
10301
  - teamcity: Tell slather that it is running on TeamCity
10163
10302
  - jenkins: Tell slather that it is running on Jenkins
@@ -10183,6 +10322,7 @@ public func slackTrainStart(distance: Int = 5,
10183
10322
  - arch: Specify which architecture the binary file is in. Needed for universal binaries
10184
10323
  - sourceFiles: A Dir.glob compatible pattern used to limit the lookup to specific source files. Ignored in gcov mode
10185
10324
  - decimals: The amount of decimals to use for % coverage reporting
10325
+ - ymlfile: Relative path to a file used in place of '.slather.yml'
10186
10326
 
10187
10327
  Slather works with multiple code coverage formats, including Xcode 7 code coverage.
10188
10328
  Slather is available at [https://github.com/SlatherOrg/slather](https://github.com/SlatherOrg/slather).
@@ -10218,7 +10358,8 @@ public func slather(buildDirectory: OptionalConfigValue<String?> = .fastlaneDefa
10218
10358
  binaryFile: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
10219
10359
  arch: OptionalConfigValue<String?> = .fastlaneDefault(nil),
10220
10360
  sourceFiles: OptionalConfigValue<Bool> = .fastlaneDefault(false),
10221
- decimals: OptionalConfigValue<Bool> = .fastlaneDefault(false))
10361
+ decimals: OptionalConfigValue<Bool> = .fastlaneDefault(false),
10362
+ ymlfile: OptionalConfigValue<String?> = .fastlaneDefault(nil))
10222
10363
  {
10223
10364
  let buildDirectoryArg = buildDirectory.asRubyArgument(name: "build_directory", type: nil)
10224
10365
  let projArg = proj.asRubyArgument(name: "proj", type: nil)
@@ -10252,6 +10393,7 @@ public func slather(buildDirectory: OptionalConfigValue<String?> = .fastlaneDefa
10252
10393
  let archArg = arch.asRubyArgument(name: "arch", type: nil)
10253
10394
  let sourceFilesArg = sourceFiles.asRubyArgument(name: "source_files", type: nil)
10254
10395
  let decimalsArg = decimals.asRubyArgument(name: "decimals", type: nil)
10396
+ let ymlfileArg = ymlfile.asRubyArgument(name: "ymlfile", type: nil)
10255
10397
  let array: [RubyCommand.Argument?] = [buildDirectoryArg,
10256
10398
  projArg,
10257
10399
  workspaceArg,
@@ -10283,7 +10425,8 @@ public func slather(buildDirectory: OptionalConfigValue<String?> = .fastlaneDefa
10283
10425
  binaryFileArg,
10284
10426
  archArg,
10285
10427
  sourceFilesArg,
10286
- decimalsArg]
10428
+ decimalsArg,
10429
+ ymlfileArg]
10287
10430
  let args: [RubyCommand.Argument] = array
10288
10431
  .filter { $0?.value != nil }
10289
10432
  .compactMap { $0 }
@@ -10513,7 +10656,8 @@ public func snapshot(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
10513
10656
  - projectLanguage: Language key, e.g. objc
10514
10657
  - sourceEncoding: Used encoding of source files, e.g., UTF-8
10515
10658
  - sonarRunnerArgs: Pass additional arguments to sonar-scanner. Be sure to provide the arguments with a leading `-D` e.g. FL_SONAR_RUNNER_ARGS="-Dsonar.verbose=true"
10516
- - sonarLogin: Pass the Sonar Login token (e.g: xxxxxxprivate_token_XXXXbXX7e)
10659
+ - sonarLogin: **DEPRECATED!** Login and password were deprecated in favor of login token. See https://community.sonarsource.com/t/deprecating-sonar-login-and-sonar-password-in-favor-of-sonar-token/95829 for more details - Pass the Sonar Login Token (e.g: xxxxxxprivate_token_XXXXbXX7e)
10660
+ - sonarToken: Pass the Sonar Token (e.g: xxxxxxprivate_token_XXXXbXX7e)
10517
10661
  - sonarUrl: Pass the url of the Sonar server
10518
10662
  - sonarOrganization: Key of the organization on SonarCloud
10519
10663
  - branchName: Pass the branch name which is getting scanned
@@ -10536,6 +10680,7 @@ public func sonar(projectConfigurationPath: OptionalConfigValue<String?> = .fast
10536
10680
  sourceEncoding: OptionalConfigValue<String?> = .fastlaneDefault(nil),
10537
10681
  sonarRunnerArgs: OptionalConfigValue<String?> = .fastlaneDefault(nil),
10538
10682
  sonarLogin: OptionalConfigValue<String?> = .fastlaneDefault(nil),
10683
+ sonarToken: OptionalConfigValue<String?> = .fastlaneDefault(nil),
10539
10684
  sonarUrl: OptionalConfigValue<String?> = .fastlaneDefault(nil),
10540
10685
  sonarOrganization: OptionalConfigValue<String?> = .fastlaneDefault(nil),
10541
10686
  branchName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
@@ -10553,6 +10698,7 @@ public func sonar(projectConfigurationPath: OptionalConfigValue<String?> = .fast
10553
10698
  let sourceEncodingArg = sourceEncoding.asRubyArgument(name: "source_encoding", type: nil)
10554
10699
  let sonarRunnerArgsArg = sonarRunnerArgs.asRubyArgument(name: "sonar_runner_args", type: nil)
10555
10700
  let sonarLoginArg = sonarLogin.asRubyArgument(name: "sonar_login", type: nil)
10701
+ let sonarTokenArg = sonarToken.asRubyArgument(name: "sonar_token", type: nil)
10556
10702
  let sonarUrlArg = sonarUrl.asRubyArgument(name: "sonar_url", type: nil)
10557
10703
  let sonarOrganizationArg = sonarOrganization.asRubyArgument(name: "sonar_organization", type: nil)
10558
10704
  let branchNameArg = branchName.asRubyArgument(name: "branch_name", type: nil)
@@ -10569,6 +10715,7 @@ public func sonar(projectConfigurationPath: OptionalConfigValue<String?> = .fast
10569
10715
  sourceEncodingArg,
10570
10716
  sonarRunnerArgsArg,
10571
10717
  sonarLoginArg,
10718
+ sonarTokenArg,
10572
10719
  sonarUrlArg,
10573
10720
  sonarOrganizationArg,
10574
10721
  branchNameArg,
@@ -10756,7 +10903,9 @@ public func splunkmint(dsym: OptionalConfigValue<String?> = .fastlaneDefault(nil
10756
10903
  - parameters:
10757
10904
  - command: The swift command (one of: build, test, clean, reset, update, resolve, generate-xcodeproj, init)
10758
10905
  - enableCodeCoverage: Enables code coverage for the generated Xcode project when using the 'generate-xcodeproj' and the 'test' command
10759
- - buildPath: Specify build/cache directory [default: ./.build]
10906
+ - scratchPath: Specify build/cache directory [default: ./.build]
10907
+ - parallel: Enables running tests in parallel when using the 'test' command
10908
+ - buildPath: **DEPRECATED!** `build_path` option is deprecated, use `scratch_path` instead - Specify build/cache directory [default: ./.build]
10760
10909
  - packagePath: Change working directory before any other operation
10761
10910
  - xcconfig: Use xcconfig file to override swift package generate-xcodeproj defaults
10762
10911
  - configuration: Build with configuration (debug|release) [default: debug]
@@ -10764,9 +10913,13 @@ public func splunkmint(dsym: OptionalConfigValue<String?> = .fastlaneDefault(nil
10764
10913
  - xcprettyOutput: Specifies the output type for xcpretty. eg. 'test', or 'simple'
10765
10914
  - xcprettyArgs: Pass in xcpretty additional command line arguments (e.g. '--test --no-color' or '--tap --no-utf'), requires xcpretty_output to be specified also
10766
10915
  - verbose: Increase verbosity of informational output
10916
+ - simulator: Specifies the simulator to pass for Swift Compiler (one of: iphonesimulator, macosx)
10917
+ - simulatorArch: Specifies the architecture of the simulator to pass for Swift Compiler (one of: x86_64, arm64). Requires the simulator option to be specified also, otherwise, it's ignored
10767
10918
  */
10768
10919
  public func spm(command: String = "build",
10769
10920
  enableCodeCoverage: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
10921
+ scratchPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
10922
+ parallel: OptionalConfigValue<Bool> = .fastlaneDefault(false),
10770
10923
  buildPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
10771
10924
  packagePath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
10772
10925
  xcconfig: OptionalConfigValue<String?> = .fastlaneDefault(nil),
@@ -10774,10 +10927,14 @@ public func spm(command: String = "build",
10774
10927
  disableSandbox: OptionalConfigValue<Bool> = .fastlaneDefault(false),
10775
10928
  xcprettyOutput: OptionalConfigValue<String?> = .fastlaneDefault(nil),
10776
10929
  xcprettyArgs: OptionalConfigValue<String?> = .fastlaneDefault(nil),
10777
- verbose: OptionalConfigValue<Bool> = .fastlaneDefault(false))
10930
+ verbose: OptionalConfigValue<Bool> = .fastlaneDefault(false),
10931
+ simulator: OptionalConfigValue<String?> = .fastlaneDefault(nil),
10932
+ simulatorArch: String = "arm64")
10778
10933
  {
10779
10934
  let commandArg = RubyCommand.Argument(name: "command", value: command, type: nil)
10780
10935
  let enableCodeCoverageArg = enableCodeCoverage.asRubyArgument(name: "enable_code_coverage", type: nil)
10936
+ let scratchPathArg = scratchPath.asRubyArgument(name: "scratch_path", type: nil)
10937
+ let parallelArg = parallel.asRubyArgument(name: "parallel", type: nil)
10781
10938
  let buildPathArg = buildPath.asRubyArgument(name: "build_path", type: nil)
10782
10939
  let packagePathArg = packagePath.asRubyArgument(name: "package_path", type: nil)
10783
10940
  let xcconfigArg = xcconfig.asRubyArgument(name: "xcconfig", type: nil)
@@ -10786,8 +10943,12 @@ public func spm(command: String = "build",
10786
10943
  let xcprettyOutputArg = xcprettyOutput.asRubyArgument(name: "xcpretty_output", type: nil)
10787
10944
  let xcprettyArgsArg = xcprettyArgs.asRubyArgument(name: "xcpretty_args", type: nil)
10788
10945
  let verboseArg = verbose.asRubyArgument(name: "verbose", type: nil)
10946
+ let simulatorArg = simulator.asRubyArgument(name: "simulator", type: nil)
10947
+ let simulatorArchArg = RubyCommand.Argument(name: "simulator_arch", value: simulatorArch, type: nil)
10789
10948
  let array: [RubyCommand.Argument?] = [commandArg,
10790
10949
  enableCodeCoverageArg,
10950
+ scratchPathArg,
10951
+ parallelArg,
10791
10952
  buildPathArg,
10792
10953
  packagePathArg,
10793
10954
  xcconfigArg,
@@ -10795,7 +10956,9 @@ public func spm(command: String = "build",
10795
10956
  disableSandboxArg,
10796
10957
  xcprettyOutputArg,
10797
10958
  xcprettyArgsArg,
10798
- verboseArg]
10959
+ verboseArg,
10960
+ simulatorArg,
10961
+ simulatorArchArg]
10799
10962
  let args: [RubyCommand.Argument] = array
10800
10963
  .filter { $0?.value != nil }
10801
10964
  .compactMap { $0 }
@@ -10848,7 +11011,7 @@ public func ssh(username: String,
10848
11011
  - parameters:
10849
11012
  - packageName: The package name of the application to use
10850
11013
  - versionName: Version name (used when uploading new apks/aabs) - defaults to 'versionName' in build.gradle or AndroidManifest.xml
10851
- - versionCode: Version code (used when updating rollout or promoting specific versions)
11014
+ - versionCode: The versionCode for which to download the generated APK
10852
11015
  - releaseStatus: Release status (used when uploading new apks/aabs) - valid values are completed, draft, halted, inProgress
10853
11016
  - track: The track of the application to use. The default available tracks are: production, beta, alpha, internal
10854
11017
  - rollout: The percentage of the user fraction when uploading to the rollout track (setting to 1 will complete the rollout)
@@ -10867,6 +11030,7 @@ public func ssh(username: String,
10867
11030
  - skipUploadChangelogs: Whether to skip uploading changelogs
10868
11031
  - skipUploadImages: Whether to skip uploading images, screenshots not included
10869
11032
  - skipUploadScreenshots: Whether to skip uploading SCREENSHOTS
11033
+ - syncImageUpload: Whether to use sha256 comparison to skip upload of images and screenshots that are already in Play Store
10870
11034
  - trackPromoteTo: The track to promote to. The default available tracks are: production, beta, alpha, internal
10871
11035
  - trackPromoteReleaseStatus: Promoted track release status (used when promoting a track) - valid values are completed, draft, halted, inProgress
10872
11036
  - validateOnly: Only validate changes with Google Play rather than actually publish
@@ -10909,6 +11073,7 @@ public func supply(packageName: String,
10909
11073
  skipUploadChangelogs: OptionalConfigValue<Bool> = .fastlaneDefault(false),
10910
11074
  skipUploadImages: OptionalConfigValue<Bool> = .fastlaneDefault(false),
10911
11075
  skipUploadScreenshots: OptionalConfigValue<Bool> = .fastlaneDefault(false),
11076
+ syncImageUpload: OptionalConfigValue<Bool> = .fastlaneDefault(false),
10912
11077
  trackPromoteTo: OptionalConfigValue<String?> = .fastlaneDefault(nil),
10913
11078
  trackPromoteReleaseStatus: String = "completed",
10914
11079
  validateOnly: OptionalConfigValue<Bool> = .fastlaneDefault(false),
@@ -10949,6 +11114,7 @@ public func supply(packageName: String,
10949
11114
  let skipUploadChangelogsArg = skipUploadChangelogs.asRubyArgument(name: "skip_upload_changelogs", type: nil)
10950
11115
  let skipUploadImagesArg = skipUploadImages.asRubyArgument(name: "skip_upload_images", type: nil)
10951
11116
  let skipUploadScreenshotsArg = skipUploadScreenshots.asRubyArgument(name: "skip_upload_screenshots", type: nil)
11117
+ let syncImageUploadArg = syncImageUpload.asRubyArgument(name: "sync_image_upload", type: nil)
10952
11118
  let trackPromoteToArg = trackPromoteTo.asRubyArgument(name: "track_promote_to", type: nil)
10953
11119
  let trackPromoteReleaseStatusArg = RubyCommand.Argument(name: "track_promote_release_status", value: trackPromoteReleaseStatus, type: nil)
10954
11120
  let validateOnlyArg = validateOnly.asRubyArgument(name: "validate_only", type: nil)
@@ -10988,6 +11154,7 @@ public func supply(packageName: String,
10988
11154
  skipUploadChangelogsArg,
10989
11155
  skipUploadImagesArg,
10990
11156
  skipUploadScreenshotsArg,
11157
+ syncImageUploadArg,
10991
11158
  trackPromoteToArg,
10992
11159
  trackPromoteReleaseStatusArg,
10993
11160
  validateOnlyArg,
@@ -11116,13 +11283,18 @@ public func swiftlint(mode: String = "lint",
11116
11283
  - s3SecretAccessKey: S3 secret access key
11117
11284
  - s3Bucket: Name of the S3 bucket
11118
11285
  - s3ObjectPrefix: Prefix to be used on all objects uploaded to S3
11286
+ - s3SkipEncryption: Skip encryption of all objects uploaded to S3. WARNING: only enable this on S3 buckets with sufficiently restricted permissions and server-side encryption enabled. See https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingEncryption.html
11119
11287
  - gitlabProject: GitLab Project Path (i.e. 'gitlab-org/gitlab')
11288
+ - gitlabHost: GitLab Host (i.e. 'https://gitlab.com')
11289
+ - jobToken: GitLab CI_JOB_TOKEN
11290
+ - privateToken: GitLab Access Token
11120
11291
  - keychainName: Keychain the items should be imported to
11121
11292
  - keychainPassword: This might be required the first time you access certificates on a new mac. For the login/default keychain this is your macOS account password
11122
11293
  - force: Renew the provisioning profiles every time you run match
11123
11294
  - forceForNewDevices: Renew the provisioning profiles if the device count on the developer portal has changed. Ignored for profile types 'appstore' and 'developer_id'
11124
11295
  - includeMacInProfiles: Include Apple Silicon Mac devices in provisioning profiles for iOS/iPadOS apps
11125
11296
  - includeAllCertificates: Include all matching certificates in the provisioning profile. Works only for the 'development' provisioning profile type
11297
+ - certificateId: Select certificate by id. Useful if multiple certificates are stored in one place
11126
11298
  - forceForNewCertificates: Renew the provisioning profiles if the certificate count on the developer portal has changed. Works only for the 'development' provisioning profile type. Requires 'include_all_certificates' option to be 'true'
11127
11299
  - skipConfirmation: Disables confirmation prompts during nuke, answering them with yes
11128
11300
  - safeRemoveCerts: Remove certs from repository during nuke without revoking them on the developer portal
@@ -11169,13 +11341,18 @@ public func syncCodeSigning(type: String = "development",
11169
11341
  s3SecretAccessKey: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11170
11342
  s3Bucket: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11171
11343
  s3ObjectPrefix: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11344
+ s3SkipEncryption: OptionalConfigValue<Bool> = .fastlaneDefault(false),
11172
11345
  gitlabProject: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11346
+ gitlabHost: String = "https://gitlab.com",
11347
+ jobToken: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11348
+ privateToken: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11173
11349
  keychainName: String = "login.keychain",
11174
11350
  keychainPassword: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11175
11351
  force: OptionalConfigValue<Bool> = .fastlaneDefault(false),
11176
11352
  forceForNewDevices: OptionalConfigValue<Bool> = .fastlaneDefault(false),
11177
11353
  includeMacInProfiles: OptionalConfigValue<Bool> = .fastlaneDefault(false),
11178
11354
  includeAllCertificates: OptionalConfigValue<Bool> = .fastlaneDefault(false),
11355
+ certificateId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11179
11356
  forceForNewCertificates: OptionalConfigValue<Bool> = .fastlaneDefault(false),
11180
11357
  skipConfirmation: OptionalConfigValue<Bool> = .fastlaneDefault(false),
11181
11358
  safeRemoveCerts: OptionalConfigValue<Bool> = .fastlaneDefault(false),
@@ -11220,13 +11397,18 @@ public func syncCodeSigning(type: String = "development",
11220
11397
  let s3SecretAccessKeyArg = s3SecretAccessKey.asRubyArgument(name: "s3_secret_access_key", type: nil)
11221
11398
  let s3BucketArg = s3Bucket.asRubyArgument(name: "s3_bucket", type: nil)
11222
11399
  let s3ObjectPrefixArg = s3ObjectPrefix.asRubyArgument(name: "s3_object_prefix", type: nil)
11400
+ let s3SkipEncryptionArg = s3SkipEncryption.asRubyArgument(name: "s3_skip_encryption", type: nil)
11223
11401
  let gitlabProjectArg = gitlabProject.asRubyArgument(name: "gitlab_project", type: nil)
11402
+ let gitlabHostArg = RubyCommand.Argument(name: "gitlab_host", value: gitlabHost, type: nil)
11403
+ let jobTokenArg = jobToken.asRubyArgument(name: "job_token", type: nil)
11404
+ let privateTokenArg = privateToken.asRubyArgument(name: "private_token", type: nil)
11224
11405
  let keychainNameArg = RubyCommand.Argument(name: "keychain_name", value: keychainName, type: nil)
11225
11406
  let keychainPasswordArg = keychainPassword.asRubyArgument(name: "keychain_password", type: nil)
11226
11407
  let forceArg = force.asRubyArgument(name: "force", type: nil)
11227
11408
  let forceForNewDevicesArg = forceForNewDevices.asRubyArgument(name: "force_for_new_devices", type: nil)
11228
11409
  let includeMacInProfilesArg = includeMacInProfiles.asRubyArgument(name: "include_mac_in_profiles", type: nil)
11229
11410
  let includeAllCertificatesArg = includeAllCertificates.asRubyArgument(name: "include_all_certificates", type: nil)
11411
+ let certificateIdArg = certificateId.asRubyArgument(name: "certificate_id", type: nil)
11230
11412
  let forceForNewCertificatesArg = forceForNewCertificates.asRubyArgument(name: "force_for_new_certificates", type: nil)
11231
11413
  let skipConfirmationArg = skipConfirmation.asRubyArgument(name: "skip_confirmation", type: nil)
11232
11414
  let safeRemoveCertsArg = safeRemoveCerts.asRubyArgument(name: "safe_remove_certs", type: nil)
@@ -11270,13 +11452,18 @@ public func syncCodeSigning(type: String = "development",
11270
11452
  s3SecretAccessKeyArg,
11271
11453
  s3BucketArg,
11272
11454
  s3ObjectPrefixArg,
11455
+ s3SkipEncryptionArg,
11273
11456
  gitlabProjectArg,
11457
+ gitlabHostArg,
11458
+ jobTokenArg,
11459
+ privateTokenArg,
11274
11460
  keychainNameArg,
11275
11461
  keychainPasswordArg,
11276
11462
  forceArg,
11277
11463
  forceForNewDevicesArg,
11278
11464
  includeMacInProfilesArg,
11279
11465
  includeAllCertificatesArg,
11466
+ certificateIdArg,
11280
11467
  forceForNewCertificatesArg,
11281
11468
  skipConfirmationArg,
11282
11469
  safeRemoveCertsArg,
@@ -12316,8 +12503,8 @@ public func uploadSymbolsToSentry(apiHost: String = "https://app.getsentry.com/a
12316
12503
  - submitForReview: Submit the new version for Review after uploading everything
12317
12504
  - verifyOnly: Verifies archive with App Store Connect without uploading
12318
12505
  - rejectIfPossible: Rejects the previously submitted build if it's in a state where it's possible
12319
- - automaticRelease: Should the app be automatically released once it's approved? (Can not be used together with `auto_release_date`)
12320
- - autoReleaseDate: Date in milliseconds for automatically releasing on pending approval (Can not be used together with `automatic_release`)
12506
+ - automaticRelease: Should the app be automatically released once it's approved? (Cannot be used together with `auto_release_date`)
12507
+ - autoReleaseDate: Date in milliseconds for automatically releasing on pending approval (Cannot be used together with `automatic_release`)
12321
12508
  - phasedRelease: Enable the phased release feature of iTC
12322
12509
  - resetRatings: Reset the summary rating when you release a new version of the application
12323
12510
  - priceTier: The price tier of this application
@@ -12571,7 +12758,7 @@ public func uploadToAppStore(apiKeyPath: OptionalConfigValue<String?> = .fastlan
12571
12758
  - parameters:
12572
12759
  - packageName: The package name of the application to use
12573
12760
  - versionName: Version name (used when uploading new apks/aabs) - defaults to 'versionName' in build.gradle or AndroidManifest.xml
12574
- - versionCode: Version code (used when updating rollout or promoting specific versions)
12761
+ - versionCode: The versionCode for which to download the generated APK
12575
12762
  - releaseStatus: Release status (used when uploading new apks/aabs) - valid values are completed, draft, halted, inProgress
12576
12763
  - track: The track of the application to use. The default available tracks are: production, beta, alpha, internal
12577
12764
  - rollout: The percentage of the user fraction when uploading to the rollout track (setting to 1 will complete the rollout)
@@ -12590,6 +12777,7 @@ public func uploadToAppStore(apiKeyPath: OptionalConfigValue<String?> = .fastlan
12590
12777
  - skipUploadChangelogs: Whether to skip uploading changelogs
12591
12778
  - skipUploadImages: Whether to skip uploading images, screenshots not included
12592
12779
  - skipUploadScreenshots: Whether to skip uploading SCREENSHOTS
12780
+ - syncImageUpload: Whether to use sha256 comparison to skip upload of images and screenshots that are already in Play Store
12593
12781
  - trackPromoteTo: The track to promote to. The default available tracks are: production, beta, alpha, internal
12594
12782
  - trackPromoteReleaseStatus: Promoted track release status (used when promoting a track) - valid values are completed, draft, halted, inProgress
12595
12783
  - validateOnly: Only validate changes with Google Play rather than actually publish
@@ -12632,6 +12820,7 @@ public func uploadToPlayStore(packageName: String,
12632
12820
  skipUploadChangelogs: OptionalConfigValue<Bool> = .fastlaneDefault(false),
12633
12821
  skipUploadImages: OptionalConfigValue<Bool> = .fastlaneDefault(false),
12634
12822
  skipUploadScreenshots: OptionalConfigValue<Bool> = .fastlaneDefault(false),
12823
+ syncImageUpload: OptionalConfigValue<Bool> = .fastlaneDefault(false),
12635
12824
  trackPromoteTo: OptionalConfigValue<String?> = .fastlaneDefault(nil),
12636
12825
  trackPromoteReleaseStatus: String = "completed",
12637
12826
  validateOnly: OptionalConfigValue<Bool> = .fastlaneDefault(false),
@@ -12672,6 +12861,7 @@ public func uploadToPlayStore(packageName: String,
12672
12861
  let skipUploadChangelogsArg = skipUploadChangelogs.asRubyArgument(name: "skip_upload_changelogs", type: nil)
12673
12862
  let skipUploadImagesArg = skipUploadImages.asRubyArgument(name: "skip_upload_images", type: nil)
12674
12863
  let skipUploadScreenshotsArg = skipUploadScreenshots.asRubyArgument(name: "skip_upload_screenshots", type: nil)
12864
+ let syncImageUploadArg = syncImageUpload.asRubyArgument(name: "sync_image_upload", type: nil)
12675
12865
  let trackPromoteToArg = trackPromoteTo.asRubyArgument(name: "track_promote_to", type: nil)
12676
12866
  let trackPromoteReleaseStatusArg = RubyCommand.Argument(name: "track_promote_release_status", value: trackPromoteReleaseStatus, type: nil)
12677
12867
  let validateOnlyArg = validateOnly.asRubyArgument(name: "validate_only", type: nil)
@@ -12711,6 +12901,7 @@ public func uploadToPlayStore(packageName: String,
12711
12901
  skipUploadChangelogsArg,
12712
12902
  skipUploadImagesArg,
12713
12903
  skipUploadScreenshotsArg,
12904
+ syncImageUploadArg,
12714
12905
  trackPromoteToArg,
12715
12906
  trackPromoteReleaseStatusArg,
12716
12907
  validateOnlyArg,
@@ -13370,7 +13561,7 @@ public func xcov(workspace: OptionalConfigValue<String?> = .fastlaneDefault(nil)
13370
13561
  coverallsServiceJobId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
13371
13562
  coverallsRepoToken: OptionalConfigValue<String?> = .fastlaneDefault(nil),
13372
13563
  xcconfig: OptionalConfigValue<String?> = .fastlaneDefault(nil),
13373
- ideFoundationPath: String = "/Applications/Xcode-14.1.0.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
13564
+ ideFoundationPath: String = "/Applications/Xcode-15.1.0.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
13374
13565
  legacySupport: OptionalConfigValue<Bool> = .fastlaneDefault(false))
13375
13566
  {
13376
13567
  let workspaceArg = workspace.asRubyArgument(name: "workspace", type: nil)
@@ -13573,4 +13764,4 @@ public let snapshotfile: Snapshotfile = .init()
13573
13764
 
13574
13765
  // Please don't remove the lines below
13575
13766
  // They are used to detect outdated files
13576
- // FastlaneRunnerAPIVersion [0.9.167]
13767
+ // FastlaneRunnerAPIVersion [0.9.176]