fastlane 2.227.0 → 2.232.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +102 -96
  3. data/bin/fastlane +2 -2
  4. data/deliver/lib/assets/summary.html.erb +3 -3
  5. data/deliver/lib/deliver/app_screenshot.rb +215 -347
  6. data/deliver/lib/deliver/app_screenshot_iterator.rb +4 -1
  7. data/deliver/lib/deliver/app_screenshot_validator.rb +5 -21
  8. data/deliver/lib/deliver/loader.rb +2 -9
  9. data/deliver/lib/deliver/runner.rb +1 -1
  10. data/deliver/lib/deliver/upload_metadata.rb +5 -0
  11. data/deliver/lib/deliver/upload_screenshots.rb +4 -2
  12. data/fastlane/lib/assets/completions/completion.bash +1 -1
  13. data/fastlane/lib/assets/completions/completion.sh +2 -2
  14. data/fastlane/lib/fastlane/actions/app_store_build_number.rb +19 -14
  15. data/fastlane/lib/fastlane/actions/appium.rb +1 -1
  16. data/fastlane/lib/fastlane/actions/docs/create_app_online.md +6 -3
  17. data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +11 -7
  18. data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +56 -17
  19. data/fastlane/lib/fastlane/actions/docs/upload_to_testflight.md +13 -1
  20. data/fastlane/lib/fastlane/actions/get_version_number.rb +1 -1
  21. data/fastlane/lib/fastlane/actions/import_certificate.rb +9 -1
  22. data/fastlane/lib/fastlane/actions/increment_build_number.rb +1 -1
  23. data/fastlane/lib/fastlane/actions/install_xcode_plugin.rb +3 -2
  24. data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +1 -1
  25. data/fastlane/lib/fastlane/actions/modify_services.rb +1 -0
  26. data/fastlane/lib/fastlane/actions/notarize.rb +1 -1
  27. data/fastlane/lib/fastlane/actions/upload_to_app_store.rb +1 -1
  28. data/fastlane/lib/fastlane/actions/xcov.rb +1 -7
  29. data/fastlane/lib/fastlane/cli_tools_distributor.rb +19 -1
  30. data/fastlane/lib/fastlane/console.rb +2 -2
  31. data/fastlane/lib/fastlane/documentation/markdown_docs_generator.rb +4 -4
  32. data/fastlane/lib/fastlane/erb_template_helper.rb +1 -7
  33. data/fastlane/lib/fastlane/helper/s3_client_helper.rb +4 -0
  34. data/fastlane/lib/fastlane/plugins/template/%gem_name%.gemspec.erb +1 -1
  35. data/fastlane/lib/fastlane/plugins/template/.github/workflows/test.yml +20 -20
  36. data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +1 -1
  37. data/fastlane/lib/fastlane/version.rb +2 -1
  38. data/fastlane/swift/Actions.swift +1 -1
  39. data/fastlane/swift/Appfile.swift +13 -5
  40. data/fastlane/swift/ArgumentProcessor.swift +1 -1
  41. data/fastlane/swift/Atomic.swift +1 -1
  42. data/fastlane/swift/ControlCommand.swift +5 -4
  43. data/fastlane/swift/Deliverfile.swift +2 -2
  44. data/fastlane/swift/DeliverfileProtocol.swift +265 -68
  45. data/fastlane/swift/Fastlane.swift +150 -157
  46. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.pbxproj +3 -1
  47. data/fastlane/swift/Gymfile.swift +2 -2
  48. data/fastlane/swift/GymfileProtocol.swift +227 -54
  49. data/fastlane/swift/LaneFileProtocol.swift +4 -2
  50. data/fastlane/swift/MainProcess.swift +1 -1
  51. data/fastlane/swift/Matchfile.swift +2 -2
  52. data/fastlane/swift/MatchfileProtocol.swift +226 -59
  53. data/fastlane/swift/OptionalConfigValue.swift +1 -1
  54. data/fastlane/swift/Plugins.swift +1 -1
  55. data/fastlane/swift/Precheckfile.swift +2 -2
  56. data/fastlane/swift/PrecheckfileProtocol.swift +45 -13
  57. data/fastlane/swift/RubyCommand.swift +6 -7
  58. data/fastlane/swift/RubyCommandable.swift +1 -1
  59. data/fastlane/swift/Runner.swift +3 -3
  60. data/fastlane/swift/RunnerArgument.swift +1 -1
  61. data/fastlane/swift/Scanfile.swift +2 -2
  62. data/fastlane/swift/ScanfileProtocol.swift +334 -84
  63. data/fastlane/swift/Screengrabfile.swift +2 -2
  64. data/fastlane/swift/ScreengrabfileProtocol.swift +89 -24
  65. data/fastlane/swift/Snapshotfile.swift +2 -2
  66. data/fastlane/swift/SnapshotfileProtocol.swift +216 -53
  67. data/fastlane/swift/SocketClient.swift +7 -7
  68. data/fastlane/swift/SocketClientDelegateProtocol.swift +1 -1
  69. data/fastlane/swift/SocketResponse.swift +1 -1
  70. data/fastlane/swift/formatting/Rakefile +1 -2
  71. data/fastlane/swift/main.swift +1 -1
  72. data/fastlane_core/lib/assets/XMLTemplate.xml.erb +5 -1
  73. data/fastlane_core/lib/fastlane_core/cert_checker.rb +10 -0
  74. data/fastlane_core/lib/fastlane_core/command_executor.rb +3 -1
  75. data/fastlane_core/lib/fastlane_core/fastlane_pty.rb +5 -1
  76. data/fastlane_core/lib/fastlane_core/ipa_file_analyser.rb +4 -14
  77. data/fastlane_core/lib/fastlane_core/ipa_upload_package_builder.rb +19 -2
  78. data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +143 -106
  79. data/fastlane_core/lib/fastlane_core/keychain_importer.rb +3 -1
  80. data/fastlane_core/lib/fastlane_core/project.rb +8 -0
  81. data/fastlane_core/lib/fastlane_core/provisioning_profile.rb +7 -1
  82. data/frameit/lib/frameit/device.rb +2 -2
  83. data/frameit/lib/frameit/device_types.rb +108 -70
  84. data/frameit/lib/frameit/template_finder.rb +1 -1
  85. data/gym/lib/assets/wrap_xcodebuild/xcbuild-safe.sh +1 -0
  86. data/gym/lib/gym/module.rb +9 -4
  87. data/gym/lib/gym/options.rb +20 -2
  88. data/gym/lib/gym/runner.rb +38 -3
  89. data/match/lib/match/options.rb +1 -0
  90. data/match/lib/match/storage/s3_storage.rb +4 -7
  91. data/pilot/lib/pilot/build_manager.rb +7 -1
  92. data/produce/lib/produce/commands_generator.rb +2 -0
  93. data/produce/lib/produce/developer_center.rb +1 -0
  94. data/produce/lib/produce/service.rb +6 -1
  95. data/scan/lib/scan/error_handler.rb +5 -0
  96. data/scan/lib/scan/options.rb +13 -3
  97. data/scan/lib/scan/test_command_generator.rb +10 -2
  98. data/sigh/lib/assets/resign.sh +6 -3
  99. data/sigh/lib/sigh/local_manage.rb +6 -4
  100. data/sigh/lib/sigh/options.rb +1 -0
  101. data/sigh/lib/sigh/runner.rb +23 -3
  102. data/snapshot/lib/snapshot/detect_values.rb +1 -1
  103. data/snapshot/lib/snapshot/options.rb +13 -1
  104. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +4 -2
  105. data/spaceship/lib/spaceship/client.rb +32 -2
  106. data/spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb +65 -9
  107. data/spaceship/lib/spaceship/connect_api/models/app_info_localization.rb +4 -4
  108. data/spaceship/lib/spaceship/connect_api/models/app_screenshot_set.rb +7 -1
  109. data/spaceship/lib/spaceship/connect_api/models/app_store_version_localization.rb +16 -16
  110. data/spaceship/lib/spaceship/connect_api/models/build_upload.rb +42 -0
  111. data/spaceship/lib/spaceship/connect_api/models/bundle_id_capability.rb +2 -0
  112. data/spaceship/lib/spaceship/connect_api/models/certificate.rb +32 -2
  113. data/spaceship/lib/spaceship/connect_api/models/device.rb +1 -2
  114. data/spaceship/lib/spaceship/connect_api/models/profile.rb +2 -3
  115. data/spaceship/lib/spaceship/connect_api/models/webhook.rb +62 -0
  116. data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +0 -6
  117. data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +9 -0
  118. data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +38 -0
  119. data/spaceship/lib/spaceship/connect_api.rb +2 -0
  120. data/spaceship/lib/spaceship/errors.rb +8 -6
  121. data/spaceship/lib/spaceship/portal/key.rb +22 -3
  122. data/spaceship/lib/spaceship/portal/portal_client.rb +29 -2
  123. data/spaceship/lib/spaceship/spaceauth_runner.rb +5 -15
  124. data/supply/lib/supply/client.rb +18 -1
  125. data/trainer/lib/trainer/legacy_xcresult.rb +1 -1
  126. data/trainer/lib/trainer/test_parser.rb +1 -1
  127. data/trainer/lib/trainer/xcresult/helper.rb +11 -1
  128. metadata +153 -37
  129. data/fastlane/lib/fastlane/actions/hipchat.rb +0 -200
  130. data/fastlane/lib/fastlane/core_ext/bundler_monkey_patch.rb +0 -14
  131. data/fastlane/lib/fastlane/plugins/template/.circleci/config.yml +0 -43
  132. data/fastlane/lib/fastlane/plugins/template/.travis.yml +0 -4
@@ -1,5 +1,5 @@
1
1
  // Fastlane.swift
2
- // Copyright (c) 2025 FastlaneTools
2
+ // Copyright (c) 2026 FastlaneTools
3
3
 
4
4
  import Foundation
5
5
 
@@ -135,7 +135,7 @@ public func addGitTag(tag: OptionalConfigValue<String?> = .fastlaneDefault(nil),
135
135
  - parameters:
136
136
  - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
137
137
  - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
138
- - initialBuildNumber: sets the build number to given value if no build is in current train
138
+ - initialBuildNumber: sets the build number to given value if no build (upload) is in current train
139
139
  - appIdentifier: The bundle identifier of your app
140
140
  - username: Your Apple ID Username
141
141
  - teamId: The ID of your App Store Connect team if you're in multiple teams
@@ -1339,10 +1339,13 @@ public func buildAndroidApp(task: OptionalConfigValue<String?> = .fastlaneDefaul
1339
1339
  - skipProfileDetection: Do not try to build a profile mapping from the xcodeproj. Match or a manually provided mapping should be used
1340
1340
  - xcodebuildCommand: Allows for override of the default `xcodebuild` command
1341
1341
  - clonedSourcePackagesPath: Sets a custom path for Swift Package Manager dependencies
1342
+ - packageCachePath: Sets a custom package cache path for Swift Package Manager dependencies
1342
1343
  - skipPackageDependenciesResolution: Skips resolution of Swift Package Manager dependencies
1343
- - disablePackageAutomaticUpdates: Prevents packages from automatically being resolved to versions other than those recorded in the `Package.resolved` file
1344
+ - disablePackageAutomaticUpdates: Prevents packages from automatically being resolved to versions other than those recorded in the `Package.resolved` file. This translates in the option `-disableAutomaticPackageResolution` being passed to xcodebuild
1345
+ - skipPackageRepositoryFetches: Skips updating package dependencies from their remote. This translates in the option `-skipPackageUpdates` being passed to xcodebuild
1344
1346
  - useSystemScm: Lets xcodebuild use system's scm configuration
1345
1347
  - packageAuthorizationProvider: Lets xcodebuild use a specified package authorization provider (keychain|netrc)
1348
+ - generateAppstoreInfo: Generate AppStoreInfo.plist using swinfo for app-store exports
1346
1349
 
1347
1350
  - returns: The absolute path to the generated ipa file
1348
1351
 
@@ -1395,10 +1398,13 @@ public func buildAndroidApp(task: OptionalConfigValue<String?> = .fastlaneDefaul
1395
1398
  skipProfileDetection: OptionalConfigValue<Bool> = .fastlaneDefault(false),
1396
1399
  xcodebuildCommand: String = "xcodebuild",
1397
1400
  clonedSourcePackagesPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
1401
+ packageCachePath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
1398
1402
  skipPackageDependenciesResolution: OptionalConfigValue<Bool> = .fastlaneDefault(false),
1399
1403
  disablePackageAutomaticUpdates: OptionalConfigValue<Bool> = .fastlaneDefault(false),
1404
+ skipPackageRepositoryFetches: OptionalConfigValue<Bool> = .fastlaneDefault(false),
1400
1405
  useSystemScm: OptionalConfigValue<Bool> = .fastlaneDefault(false),
1401
- packageAuthorizationProvider: OptionalConfigValue<String?> = .fastlaneDefault(nil)) -> String
1406
+ packageAuthorizationProvider: OptionalConfigValue<String?> = .fastlaneDefault(nil),
1407
+ generateAppstoreInfo: OptionalConfigValue<Bool> = .fastlaneDefault(false)) -> String
1402
1408
  {
1403
1409
  let workspaceArg = workspace.asRubyArgument(name: "workspace", type: nil)
1404
1410
  let projectArg = project.asRubyArgument(name: "project", type: nil)
@@ -1447,10 +1453,13 @@ public func buildAndroidApp(task: OptionalConfigValue<String?> = .fastlaneDefaul
1447
1453
  let skipProfileDetectionArg = skipProfileDetection.asRubyArgument(name: "skip_profile_detection", type: nil)
1448
1454
  let xcodebuildCommandArg = RubyCommand.Argument(name: "xcodebuild_command", value: xcodebuildCommand, type: nil)
1449
1455
  let clonedSourcePackagesPathArg = clonedSourcePackagesPath.asRubyArgument(name: "cloned_source_packages_path", type: nil)
1456
+ let packageCachePathArg = packageCachePath.asRubyArgument(name: "package_cache_path", type: nil)
1450
1457
  let skipPackageDependenciesResolutionArg = skipPackageDependenciesResolution.asRubyArgument(name: "skip_package_dependencies_resolution", type: nil)
1451
1458
  let disablePackageAutomaticUpdatesArg = disablePackageAutomaticUpdates.asRubyArgument(name: "disable_package_automatic_updates", type: nil)
1459
+ let skipPackageRepositoryFetchesArg = skipPackageRepositoryFetches.asRubyArgument(name: "skip_package_repository_fetches", type: nil)
1452
1460
  let useSystemScmArg = useSystemScm.asRubyArgument(name: "use_system_scm", type: nil)
1453
1461
  let packageAuthorizationProviderArg = packageAuthorizationProvider.asRubyArgument(name: "package_authorization_provider", type: nil)
1462
+ let generateAppstoreInfoArg = generateAppstoreInfo.asRubyArgument(name: "generate_appstore_info", type: nil)
1454
1463
  let array: [RubyCommand.Argument?] = [workspaceArg,
1455
1464
  projectArg,
1456
1465
  schemeArg,
@@ -1498,10 +1507,13 @@ public func buildAndroidApp(task: OptionalConfigValue<String?> = .fastlaneDefaul
1498
1507
  skipProfileDetectionArg,
1499
1508
  xcodebuildCommandArg,
1500
1509
  clonedSourcePackagesPathArg,
1510
+ packageCachePathArg,
1501
1511
  skipPackageDependenciesResolutionArg,
1502
1512
  disablePackageAutomaticUpdatesArg,
1513
+ skipPackageRepositoryFetchesArg,
1503
1514
  useSystemScmArg,
1504
- packageAuthorizationProviderArg]
1515
+ packageAuthorizationProviderArg,
1516
+ generateAppstoreInfoArg]
1505
1517
  let args: [RubyCommand.Argument] = array
1506
1518
  .filter { $0?.value != nil }
1507
1519
  .compactMap { $0 }
@@ -1557,10 +1569,13 @@ public func buildAndroidApp(task: OptionalConfigValue<String?> = .fastlaneDefaul
1557
1569
  - skipProfileDetection: Do not try to build a profile mapping from the xcodeproj. Match or a manually provided mapping should be used
1558
1570
  - xcodebuildCommand: Allows for override of the default `xcodebuild` command
1559
1571
  - clonedSourcePackagesPath: Sets a custom path for Swift Package Manager dependencies
1572
+ - packageCachePath: Sets a custom package cache path for Swift Package Manager dependencies
1560
1573
  - skipPackageDependenciesResolution: Skips resolution of Swift Package Manager dependencies
1561
- - disablePackageAutomaticUpdates: Prevents packages from automatically being resolved to versions other than those recorded in the `Package.resolved` file
1574
+ - disablePackageAutomaticUpdates: Prevents packages from automatically being resolved to versions other than those recorded in the `Package.resolved` file. This translates in the option `-disableAutomaticPackageResolution` being passed to xcodebuild
1575
+ - skipPackageRepositoryFetches: Skips updating package dependencies from their remote. This translates in the option `-skipPackageUpdates` being passed to xcodebuild
1562
1576
  - useSystemScm: Lets xcodebuild use system's scm configuration
1563
1577
  - packageAuthorizationProvider: Lets xcodebuild use a specified package authorization provider (keychain|netrc)
1578
+ - generateAppstoreInfo: Generate AppStoreInfo.plist using swinfo for app-store exports
1564
1579
 
1565
1580
  - returns: The absolute path to the generated ipa file
1566
1581
 
@@ -1610,10 +1625,13 @@ public func buildAndroidApp(task: OptionalConfigValue<String?> = .fastlaneDefaul
1610
1625
  skipProfileDetection: OptionalConfigValue<Bool> = .fastlaneDefault(false),
1611
1626
  xcodebuildCommand: String = "xcodebuild",
1612
1627
  clonedSourcePackagesPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
1628
+ packageCachePath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
1613
1629
  skipPackageDependenciesResolution: OptionalConfigValue<Bool> = .fastlaneDefault(false),
1614
1630
  disablePackageAutomaticUpdates: OptionalConfigValue<Bool> = .fastlaneDefault(false),
1631
+ skipPackageRepositoryFetches: OptionalConfigValue<Bool> = .fastlaneDefault(false),
1615
1632
  useSystemScm: OptionalConfigValue<Bool> = .fastlaneDefault(false),
1616
- packageAuthorizationProvider: OptionalConfigValue<String?> = .fastlaneDefault(nil)) -> String
1633
+ packageAuthorizationProvider: OptionalConfigValue<String?> = .fastlaneDefault(nil),
1634
+ generateAppstoreInfo: OptionalConfigValue<Bool> = .fastlaneDefault(false)) -> String
1617
1635
  {
1618
1636
  let workspaceArg = workspace.asRubyArgument(name: "workspace", type: nil)
1619
1637
  let projectArg = project.asRubyArgument(name: "project", type: nil)
@@ -1659,10 +1677,13 @@ public func buildAndroidApp(task: OptionalConfigValue<String?> = .fastlaneDefaul
1659
1677
  let skipProfileDetectionArg = skipProfileDetection.asRubyArgument(name: "skip_profile_detection", type: nil)
1660
1678
  let xcodebuildCommandArg = RubyCommand.Argument(name: "xcodebuild_command", value: xcodebuildCommand, type: nil)
1661
1679
  let clonedSourcePackagesPathArg = clonedSourcePackagesPath.asRubyArgument(name: "cloned_source_packages_path", type: nil)
1680
+ let packageCachePathArg = packageCachePath.asRubyArgument(name: "package_cache_path", type: nil)
1662
1681
  let skipPackageDependenciesResolutionArg = skipPackageDependenciesResolution.asRubyArgument(name: "skip_package_dependencies_resolution", type: nil)
1663
1682
  let disablePackageAutomaticUpdatesArg = disablePackageAutomaticUpdates.asRubyArgument(name: "disable_package_automatic_updates", type: nil)
1683
+ let skipPackageRepositoryFetchesArg = skipPackageRepositoryFetches.asRubyArgument(name: "skip_package_repository_fetches", type: nil)
1664
1684
  let useSystemScmArg = useSystemScm.asRubyArgument(name: "use_system_scm", type: nil)
1665
1685
  let packageAuthorizationProviderArg = packageAuthorizationProvider.asRubyArgument(name: "package_authorization_provider", type: nil)
1686
+ let generateAppstoreInfoArg = generateAppstoreInfo.asRubyArgument(name: "generate_appstore_info", type: nil)
1666
1687
  let array: [RubyCommand.Argument?] = [workspaceArg,
1667
1688
  projectArg,
1668
1689
  schemeArg,
@@ -1707,10 +1728,13 @@ public func buildAndroidApp(task: OptionalConfigValue<String?> = .fastlaneDefaul
1707
1728
  skipProfileDetectionArg,
1708
1729
  xcodebuildCommandArg,
1709
1730
  clonedSourcePackagesPathArg,
1731
+ packageCachePathArg,
1710
1732
  skipPackageDependenciesResolutionArg,
1711
1733
  disablePackageAutomaticUpdatesArg,
1734
+ skipPackageRepositoryFetchesArg,
1712
1735
  useSystemScmArg,
1713
- packageAuthorizationProviderArg]
1736
+ packageAuthorizationProviderArg,
1737
+ generateAppstoreInfoArg]
1714
1738
  let args: [RubyCommand.Argument] = array
1715
1739
  .filter { $0?.value != nil }
1716
1740
  .compactMap { $0 }
@@ -1767,10 +1791,13 @@ public func buildAndroidApp(task: OptionalConfigValue<String?> = .fastlaneDefaul
1767
1791
  - skipProfileDetection: Do not try to build a profile mapping from the xcodeproj. Match or a manually provided mapping should be used
1768
1792
  - xcodebuildCommand: Allows for override of the default `xcodebuild` command
1769
1793
  - clonedSourcePackagesPath: Sets a custom path for Swift Package Manager dependencies
1794
+ - packageCachePath: Sets a custom package cache path for Swift Package Manager dependencies
1770
1795
  - skipPackageDependenciesResolution: Skips resolution of Swift Package Manager dependencies
1771
- - disablePackageAutomaticUpdates: Prevents packages from automatically being resolved to versions other than those recorded in the `Package.resolved` file
1796
+ - disablePackageAutomaticUpdates: Prevents packages from automatically being resolved to versions other than those recorded in the `Package.resolved` file. This translates in the option `-disableAutomaticPackageResolution` being passed to xcodebuild
1797
+ - skipPackageRepositoryFetches: Skips updating package dependencies from their remote. This translates in the option `-skipPackageUpdates` being passed to xcodebuild
1772
1798
  - useSystemScm: Lets xcodebuild use system's scm configuration
1773
1799
  - packageAuthorizationProvider: Lets xcodebuild use a specified package authorization provider (keychain|netrc)
1800
+ - generateAppstoreInfo: Generate AppStoreInfo.plist using swinfo for app-store exports
1774
1801
 
1775
1802
  - returns: The absolute path to the generated ipa file
1776
1803
 
@@ -1821,10 +1848,13 @@ public func buildAndroidApp(task: OptionalConfigValue<String?> = .fastlaneDefaul
1821
1848
  skipProfileDetection: OptionalConfigValue<Bool> = .fastlaneDefault(false),
1822
1849
  xcodebuildCommand: String = "xcodebuild",
1823
1850
  clonedSourcePackagesPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
1851
+ packageCachePath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
1824
1852
  skipPackageDependenciesResolution: OptionalConfigValue<Bool> = .fastlaneDefault(false),
1825
1853
  disablePackageAutomaticUpdates: OptionalConfigValue<Bool> = .fastlaneDefault(false),
1854
+ skipPackageRepositoryFetches: OptionalConfigValue<Bool> = .fastlaneDefault(false),
1826
1855
  useSystemScm: OptionalConfigValue<Bool> = .fastlaneDefault(false),
1827
- packageAuthorizationProvider: OptionalConfigValue<String?> = .fastlaneDefault(nil)) -> String
1856
+ packageAuthorizationProvider: OptionalConfigValue<String?> = .fastlaneDefault(nil),
1857
+ generateAppstoreInfo: OptionalConfigValue<Bool> = .fastlaneDefault(false)) -> String
1828
1858
  {
1829
1859
  let workspaceArg = workspace.asRubyArgument(name: "workspace", type: nil)
1830
1860
  let projectArg = project.asRubyArgument(name: "project", type: nil)
@@ -1871,10 +1901,13 @@ public func buildAndroidApp(task: OptionalConfigValue<String?> = .fastlaneDefaul
1871
1901
  let skipProfileDetectionArg = skipProfileDetection.asRubyArgument(name: "skip_profile_detection", type: nil)
1872
1902
  let xcodebuildCommandArg = RubyCommand.Argument(name: "xcodebuild_command", value: xcodebuildCommand, type: nil)
1873
1903
  let clonedSourcePackagesPathArg = clonedSourcePackagesPath.asRubyArgument(name: "cloned_source_packages_path", type: nil)
1904
+ let packageCachePathArg = packageCachePath.asRubyArgument(name: "package_cache_path", type: nil)
1874
1905
  let skipPackageDependenciesResolutionArg = skipPackageDependenciesResolution.asRubyArgument(name: "skip_package_dependencies_resolution", type: nil)
1875
1906
  let disablePackageAutomaticUpdatesArg = disablePackageAutomaticUpdates.asRubyArgument(name: "disable_package_automatic_updates", type: nil)
1907
+ let skipPackageRepositoryFetchesArg = skipPackageRepositoryFetches.asRubyArgument(name: "skip_package_repository_fetches", type: nil)
1876
1908
  let useSystemScmArg = useSystemScm.asRubyArgument(name: "use_system_scm", type: nil)
1877
1909
  let packageAuthorizationProviderArg = packageAuthorizationProvider.asRubyArgument(name: "package_authorization_provider", type: nil)
1910
+ let generateAppstoreInfoArg = generateAppstoreInfo.asRubyArgument(name: "generate_appstore_info", type: nil)
1878
1911
  let array: [RubyCommand.Argument?] = [workspaceArg,
1879
1912
  projectArg,
1880
1913
  schemeArg,
@@ -1920,10 +1953,13 @@ public func buildAndroidApp(task: OptionalConfigValue<String?> = .fastlaneDefaul
1920
1953
  skipProfileDetectionArg,
1921
1954
  xcodebuildCommandArg,
1922
1955
  clonedSourcePackagesPathArg,
1956
+ packageCachePathArg,
1923
1957
  skipPackageDependenciesResolutionArg,
1924
1958
  disablePackageAutomaticUpdatesArg,
1959
+ skipPackageRepositoryFetchesArg,
1925
1960
  useSystemScmArg,
1926
- packageAuthorizationProviderArg]
1961
+ packageAuthorizationProviderArg,
1962
+ generateAppstoreInfoArg]
1927
1963
  let args: [RubyCommand.Argument] = array
1928
1964
  .filter { $0?.value != nil }
1929
1965
  .compactMap { $0 }
@@ -2168,8 +2204,10 @@ public func captureAndroidScreenshots(androidHome: OptionalConfigValue<String?>
2168
2204
  - concurrentSimulators: Take snapshots on multiple simulators concurrently. Note: This option is only applicable when running against Xcode 9
2169
2205
  - disableSlideToType: Disable the simulator from showing the 'Slide to type' prompt
2170
2206
  - clonedSourcePackagesPath: Sets a custom path for Swift Package Manager dependencies
2207
+ - packageCachePath: Sets a custom package cache path for Swift Package Manager dependencies
2171
2208
  - skipPackageDependenciesResolution: Skips resolution of Swift Package Manager dependencies
2172
- - disablePackageAutomaticUpdates: Prevents packages from automatically being resolved to versions other than those recorded in the `Package.resolved` file
2209
+ - disablePackageAutomaticUpdates: Prevents packages from automatically being resolved to versions other than those recorded in the `Package.resolved` file. This translates in the option `-disableAutomaticPackageResolution` being passed to xcodebuild
2210
+ - skipPackageRepositoryFetches: Skips updating package dependencies from their remote. This translates in the option `-skipPackageUpdates` being passed to xcodebuild
2173
2211
  - packageAuthorizationProvider: Lets xcodebuild use a specified package authorization provider (keychain|netrc)
2174
2212
  - testplan: The testplan associated with the scheme that should be used for testing
2175
2213
  - onlyTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to run
@@ -2219,8 +2257,10 @@ public func captureIosScreenshots(workspace: OptionalConfigValue<String?> = .fas
2219
2257
  concurrentSimulators: OptionalConfigValue<Bool> = .fastlaneDefault(true),
2220
2258
  disableSlideToType: OptionalConfigValue<Bool> = .fastlaneDefault(false),
2221
2259
  clonedSourcePackagesPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
2260
+ packageCachePath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
2222
2261
  skipPackageDependenciesResolution: OptionalConfigValue<Bool> = .fastlaneDefault(false),
2223
2262
  disablePackageAutomaticUpdates: OptionalConfigValue<Bool> = .fastlaneDefault(false),
2263
+ skipPackageRepositoryFetches: OptionalConfigValue<Bool> = .fastlaneDefault(false),
2224
2264
  packageAuthorizationProvider: OptionalConfigValue<String?> = .fastlaneDefault(nil),
2225
2265
  testplan: OptionalConfigValue<String?> = .fastlaneDefault(nil),
2226
2266
  onlyTesting: Any? = nil,
@@ -2270,8 +2310,10 @@ public func captureIosScreenshots(workspace: OptionalConfigValue<String?> = .fas
2270
2310
  let concurrentSimulatorsArg = concurrentSimulators.asRubyArgument(name: "concurrent_simulators", type: nil)
2271
2311
  let disableSlideToTypeArg = disableSlideToType.asRubyArgument(name: "disable_slide_to_type", type: nil)
2272
2312
  let clonedSourcePackagesPathArg = clonedSourcePackagesPath.asRubyArgument(name: "cloned_source_packages_path", type: nil)
2313
+ let packageCachePathArg = packageCachePath.asRubyArgument(name: "package_cache_path", type: nil)
2273
2314
  let skipPackageDependenciesResolutionArg = skipPackageDependenciesResolution.asRubyArgument(name: "skip_package_dependencies_resolution", type: nil)
2274
2315
  let disablePackageAutomaticUpdatesArg = disablePackageAutomaticUpdates.asRubyArgument(name: "disable_package_automatic_updates", type: nil)
2316
+ let skipPackageRepositoryFetchesArg = skipPackageRepositoryFetches.asRubyArgument(name: "skip_package_repository_fetches", type: nil)
2275
2317
  let packageAuthorizationProviderArg = packageAuthorizationProvider.asRubyArgument(name: "package_authorization_provider", type: nil)
2276
2318
  let testplanArg = testplan.asRubyArgument(name: "testplan", type: nil)
2277
2319
  let onlyTestingArg = RubyCommand.Argument(name: "only_testing", value: onlyTesting, type: nil)
@@ -2320,8 +2362,10 @@ public func captureIosScreenshots(workspace: OptionalConfigValue<String?> = .fas
2320
2362
  concurrentSimulatorsArg,
2321
2363
  disableSlideToTypeArg,
2322
2364
  clonedSourcePackagesPathArg,
2365
+ packageCachePathArg,
2323
2366
  skipPackageDependenciesResolutionArg,
2324
2367
  disablePackageAutomaticUpdatesArg,
2368
+ skipPackageRepositoryFetchesArg,
2325
2369
  packageAuthorizationProviderArg,
2326
2370
  testplanArg,
2327
2371
  onlyTestingArg,
@@ -2381,8 +2425,10 @@ public func captureIosScreenshots(workspace: OptionalConfigValue<String?> = .fas
2381
2425
  - concurrentSimulators: Take snapshots on multiple simulators concurrently. Note: This option is only applicable when running against Xcode 9
2382
2426
  - disableSlideToType: Disable the simulator from showing the 'Slide to type' prompt
2383
2427
  - clonedSourcePackagesPath: Sets a custom path for Swift Package Manager dependencies
2428
+ - packageCachePath: Sets a custom package cache path for Swift Package Manager dependencies
2384
2429
  - skipPackageDependenciesResolution: Skips resolution of Swift Package Manager dependencies
2385
- - disablePackageAutomaticUpdates: Prevents packages from automatically being resolved to versions other than those recorded in the `Package.resolved` file
2430
+ - disablePackageAutomaticUpdates: Prevents packages from automatically being resolved to versions other than those recorded in the `Package.resolved` file. This translates in the option `-disableAutomaticPackageResolution` being passed to xcodebuild
2431
+ - skipPackageRepositoryFetches: Skips updating package dependencies from their remote. This translates in the option `-skipPackageUpdates` being passed to xcodebuild
2386
2432
  - packageAuthorizationProvider: Lets xcodebuild use a specified package authorization provider (keychain|netrc)
2387
2433
  - testplan: The testplan associated with the scheme that should be used for testing
2388
2434
  - onlyTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to run
@@ -2432,8 +2478,10 @@ public func captureScreenshots(workspace: OptionalConfigValue<String?> = .fastla
2432
2478
  concurrentSimulators: OptionalConfigValue<Bool> = .fastlaneDefault(true),
2433
2479
  disableSlideToType: OptionalConfigValue<Bool> = .fastlaneDefault(false),
2434
2480
  clonedSourcePackagesPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
2481
+ packageCachePath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
2435
2482
  skipPackageDependenciesResolution: OptionalConfigValue<Bool> = .fastlaneDefault(false),
2436
2483
  disablePackageAutomaticUpdates: OptionalConfigValue<Bool> = .fastlaneDefault(false),
2484
+ skipPackageRepositoryFetches: OptionalConfigValue<Bool> = .fastlaneDefault(false),
2437
2485
  packageAuthorizationProvider: OptionalConfigValue<String?> = .fastlaneDefault(nil),
2438
2486
  testplan: OptionalConfigValue<String?> = .fastlaneDefault(nil),
2439
2487
  onlyTesting: Any? = nil,
@@ -2483,8 +2531,10 @@ public func captureScreenshots(workspace: OptionalConfigValue<String?> = .fastla
2483
2531
  let concurrentSimulatorsArg = concurrentSimulators.asRubyArgument(name: "concurrent_simulators", type: nil)
2484
2532
  let disableSlideToTypeArg = disableSlideToType.asRubyArgument(name: "disable_slide_to_type", type: nil)
2485
2533
  let clonedSourcePackagesPathArg = clonedSourcePackagesPath.asRubyArgument(name: "cloned_source_packages_path", type: nil)
2534
+ let packageCachePathArg = packageCachePath.asRubyArgument(name: "package_cache_path", type: nil)
2486
2535
  let skipPackageDependenciesResolutionArg = skipPackageDependenciesResolution.asRubyArgument(name: "skip_package_dependencies_resolution", type: nil)
2487
2536
  let disablePackageAutomaticUpdatesArg = disablePackageAutomaticUpdates.asRubyArgument(name: "disable_package_automatic_updates", type: nil)
2537
+ let skipPackageRepositoryFetchesArg = skipPackageRepositoryFetches.asRubyArgument(name: "skip_package_repository_fetches", type: nil)
2488
2538
  let packageAuthorizationProviderArg = packageAuthorizationProvider.asRubyArgument(name: "package_authorization_provider", type: nil)
2489
2539
  let testplanArg = testplan.asRubyArgument(name: "testplan", type: nil)
2490
2540
  let onlyTestingArg = RubyCommand.Argument(name: "only_testing", value: onlyTesting, type: nil)
@@ -2533,8 +2583,10 @@ public func captureScreenshots(workspace: OptionalConfigValue<String?> = .fastla
2533
2583
  concurrentSimulatorsArg,
2534
2584
  disableSlideToTypeArg,
2535
2585
  clonedSourcePackagesPathArg,
2586
+ packageCachePathArg,
2536
2587
  skipPackageDependenciesResolutionArg,
2537
2588
  disablePackageAutomaticUpdatesArg,
2589
+ skipPackageRepositoryFetchesArg,
2538
2590
  packageAuthorizationProviderArg,
2539
2591
  testplanArg,
2540
2592
  onlyTestingArg,
@@ -3045,15 +3097,6 @@ public func cloc(binaryPath: String = "/usr/local/bin/cloc",
3045
3097
  _ = runner.executeCommand(command)
3046
3098
  }
3047
3099
 
3048
- /**
3049
- Print a Club Mate in your build output
3050
- */
3051
- public func clubmate() {
3052
- let args: [RubyCommand.Argument] = []
3053
- let command = RubyCommand(commandID: "", methodName: "clubmate", className: nil, args: args)
3054
- _ = runner.executeCommand(command)
3055
- }
3056
-
3057
3100
  /**
3058
3101
  Runs `pod install` for the project
3059
3102
 
@@ -3320,7 +3363,7 @@ public func createAppOnManagedPlayStore(jsonKey: OptionalConfigValue<String?> =
3320
3363
  - skipItc: Skip the creation of the app on App Store Connect
3321
3364
  - 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
3322
3365
  - enabledFeatures: **DEPRECATED!** Please use `enable_services` instead - Array with Spaceship App Services
3323
- - 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))
3366
+ - 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), declared_age_range: (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))
3324
3367
  - skipDevcenter: Skip the creation of the app on the Apple Developer Portal
3325
3368
  - teamId: The ID of your Developer Portal team if you're in multiple teams
3326
3369
  - teamName: The name of your Developer Portal team if you're in multiple teams
@@ -5063,7 +5106,7 @@ public func getManagedPlayStorePublishingRights(jsonKey: OptionalConfigValue<Str
5063
5106
  - skipCertificateVerification: Skips the verification of the certificates for every existing profiles. This will make sure the provisioning profile can be used on the local machine
5064
5107
  - platform: Set the provisioning profile's platform (i.e. ios, tvos, macos, catalyst)
5065
5108
  - readonly: Only fetch existing profile, don't generate new ones
5066
- - 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")
5109
+ - templateName: **DEPRECATED!** Removed since May 2025 on App Store Connect API OpenAPI v3.8.0 - Learn more: https://docs.fastlane.tools/actions/match/#managed-capabilities - 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")
5067
5110
  - 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
5068
5111
  - cachedCertificates: A list of cached certificates
5069
5112
  - cachedDevices: A list of cached devices
@@ -5713,10 +5756,13 @@ public func gradle(task: OptionalConfigValue<String?> = .fastlaneDefault(nil),
5713
5756
  - skipProfileDetection: Do not try to build a profile mapping from the xcodeproj. Match or a manually provided mapping should be used
5714
5757
  - xcodebuildCommand: Allows for override of the default `xcodebuild` command
5715
5758
  - clonedSourcePackagesPath: Sets a custom path for Swift Package Manager dependencies
5759
+ - packageCachePath: Sets a custom package cache path for Swift Package Manager dependencies
5716
5760
  - skipPackageDependenciesResolution: Skips resolution of Swift Package Manager dependencies
5717
- - disablePackageAutomaticUpdates: Prevents packages from automatically being resolved to versions other than those recorded in the `Package.resolved` file
5761
+ - disablePackageAutomaticUpdates: Prevents packages from automatically being resolved to versions other than those recorded in the `Package.resolved` file. This translates in the option `-disableAutomaticPackageResolution` being passed to xcodebuild
5762
+ - skipPackageRepositoryFetches: Skips updating package dependencies from their remote. This translates in the option `-skipPackageUpdates` being passed to xcodebuild
5718
5763
  - useSystemScm: Lets xcodebuild use system's scm configuration
5719
5764
  - packageAuthorizationProvider: Lets xcodebuild use a specified package authorization provider (keychain|netrc)
5765
+ - generateAppstoreInfo: Generate AppStoreInfo.plist using swinfo for app-store exports
5720
5766
 
5721
5767
  - returns: The absolute path to the generated ipa file
5722
5768
 
@@ -5769,10 +5815,13 @@ public func gradle(task: OptionalConfigValue<String?> = .fastlaneDefault(nil),
5769
5815
  skipProfileDetection: OptionalConfigValue<Bool> = .fastlaneDefault(gymfile.skipProfileDetection),
5770
5816
  xcodebuildCommand: String = gymfile.xcodebuildCommand,
5771
5817
  clonedSourcePackagesPath: OptionalConfigValue<String?> = .fastlaneDefault(gymfile.clonedSourcePackagesPath),
5818
+ packageCachePath: OptionalConfigValue<String?> = .fastlaneDefault(gymfile.packageCachePath),
5772
5819
  skipPackageDependenciesResolution: OptionalConfigValue<Bool> = .fastlaneDefault(gymfile.skipPackageDependenciesResolution),
5773
5820
  disablePackageAutomaticUpdates: OptionalConfigValue<Bool> = .fastlaneDefault(gymfile.disablePackageAutomaticUpdates),
5821
+ skipPackageRepositoryFetches: OptionalConfigValue<Bool> = .fastlaneDefault(gymfile.skipPackageRepositoryFetches),
5774
5822
  useSystemScm: OptionalConfigValue<Bool> = .fastlaneDefault(gymfile.useSystemScm),
5775
- packageAuthorizationProvider: OptionalConfigValue<String?> = .fastlaneDefault(gymfile.packageAuthorizationProvider)) -> String
5823
+ packageAuthorizationProvider: OptionalConfigValue<String?> = .fastlaneDefault(gymfile.packageAuthorizationProvider),
5824
+ generateAppstoreInfo: OptionalConfigValue<Bool> = .fastlaneDefault(gymfile.generateAppstoreInfo)) -> String
5776
5825
  {
5777
5826
  let workspaceArg = workspace.asRubyArgument(name: "workspace", type: nil)
5778
5827
  let projectArg = project.asRubyArgument(name: "project", type: nil)
@@ -5821,10 +5870,13 @@ public func gradle(task: OptionalConfigValue<String?> = .fastlaneDefault(nil),
5821
5870
  let skipProfileDetectionArg = skipProfileDetection.asRubyArgument(name: "skip_profile_detection", type: nil)
5822
5871
  let xcodebuildCommandArg = RubyCommand.Argument(name: "xcodebuild_command", value: xcodebuildCommand, type: nil)
5823
5872
  let clonedSourcePackagesPathArg = clonedSourcePackagesPath.asRubyArgument(name: "cloned_source_packages_path", type: nil)
5873
+ let packageCachePathArg = packageCachePath.asRubyArgument(name: "package_cache_path", type: nil)
5824
5874
  let skipPackageDependenciesResolutionArg = skipPackageDependenciesResolution.asRubyArgument(name: "skip_package_dependencies_resolution", type: nil)
5825
5875
  let disablePackageAutomaticUpdatesArg = disablePackageAutomaticUpdates.asRubyArgument(name: "disable_package_automatic_updates", type: nil)
5876
+ let skipPackageRepositoryFetchesArg = skipPackageRepositoryFetches.asRubyArgument(name: "skip_package_repository_fetches", type: nil)
5826
5877
  let useSystemScmArg = useSystemScm.asRubyArgument(name: "use_system_scm", type: nil)
5827
5878
  let packageAuthorizationProviderArg = packageAuthorizationProvider.asRubyArgument(name: "package_authorization_provider", type: nil)
5879
+ let generateAppstoreInfoArg = generateAppstoreInfo.asRubyArgument(name: "generate_appstore_info", type: nil)
5828
5880
  let array: [RubyCommand.Argument?] = [workspaceArg,
5829
5881
  projectArg,
5830
5882
  schemeArg,
@@ -5872,10 +5924,13 @@ public func gradle(task: OptionalConfigValue<String?> = .fastlaneDefault(nil),
5872
5924
  skipProfileDetectionArg,
5873
5925
  xcodebuildCommandArg,
5874
5926
  clonedSourcePackagesPathArg,
5927
+ packageCachePathArg,
5875
5928
  skipPackageDependenciesResolutionArg,
5876
5929
  disablePackageAutomaticUpdatesArg,
5930
+ skipPackageRepositoryFetchesArg,
5877
5931
  useSystemScmArg,
5878
- packageAuthorizationProviderArg]
5932
+ packageAuthorizationProviderArg,
5933
+ generateAppstoreInfoArg]
5879
5934
  let args: [RubyCommand.Argument] = array
5880
5935
  .filter { $0?.value != nil }
5881
5936
  .compactMap { $0 }
@@ -5975,65 +6030,6 @@ public func hgPush(force: OptionalConfigValue<Bool> = .fastlaneDefault(false),
5975
6030
  _ = runner.executeCommand(command)
5976
6031
  }
5977
6032
 
5978
- /**
5979
- Send a error/success message to [HipChat](https://www.hipchat.com/)
5980
-
5981
- - parameters:
5982
- - message: The message to post on HipChat
5983
- - channel: The room or @username
5984
- - apiToken: Hipchat API Token
5985
- - customColor: Specify a custom color, this overrides the success boolean. Can be one of 'yellow', 'red', 'green', 'purple', 'gray', or 'random'
5986
- - success: Was this build successful? (true/false)
5987
- - version: Version of the Hipchat API. Must be 1 or 2
5988
- - notifyRoom: Should the people in the room be notified? (true/false)
5989
- - apiHost: The host of the HipChat-Server API
5990
- - messageFormat: Format of the message to post. Must be either 'html' or 'text'
5991
- - includeHtmlHeader: Should html formatted messages include a preformatted header? (true/false)
5992
- - from: Name the message will appear to be sent from
5993
-
5994
- Send a message to **room** (by default) or a direct message to **@username** with success (green) or failure (red) status.
5995
- */
5996
- public func hipchat(message: String = "",
5997
- channel: String,
5998
- apiToken: String,
5999
- customColor: OptionalConfigValue<String?> = .fastlaneDefault(nil),
6000
- success: OptionalConfigValue<Bool> = .fastlaneDefault(true),
6001
- version: String,
6002
- notifyRoom: OptionalConfigValue<Bool> = .fastlaneDefault(false),
6003
- apiHost: String = "api.hipchat.com",
6004
- messageFormat: String = "html",
6005
- includeHtmlHeader: OptionalConfigValue<Bool> = .fastlaneDefault(true),
6006
- from: String = "fastlane")
6007
- {
6008
- let messageArg = RubyCommand.Argument(name: "message", value: message, type: nil)
6009
- let channelArg = RubyCommand.Argument(name: "channel", value: channel, type: nil)
6010
- let apiTokenArg = RubyCommand.Argument(name: "api_token", value: apiToken, type: nil)
6011
- let customColorArg = customColor.asRubyArgument(name: "custom_color", type: nil)
6012
- let successArg = success.asRubyArgument(name: "success", type: nil)
6013
- let versionArg = RubyCommand.Argument(name: "version", value: version, type: nil)
6014
- let notifyRoomArg = notifyRoom.asRubyArgument(name: "notify_room", type: nil)
6015
- let apiHostArg = RubyCommand.Argument(name: "api_host", value: apiHost, type: nil)
6016
- let messageFormatArg = RubyCommand.Argument(name: "message_format", value: messageFormat, type: nil)
6017
- let includeHtmlHeaderArg = includeHtmlHeader.asRubyArgument(name: "include_html_header", type: nil)
6018
- let fromArg = RubyCommand.Argument(name: "from", value: from, type: nil)
6019
- let array: [RubyCommand.Argument?] = [messageArg,
6020
- channelArg,
6021
- apiTokenArg,
6022
- customColorArg,
6023
- successArg,
6024
- versionArg,
6025
- notifyRoomArg,
6026
- apiHostArg,
6027
- messageFormatArg,
6028
- includeHtmlHeaderArg,
6029
- fromArg]
6030
- let args: [RubyCommand.Argument] = array
6031
- .filter { $0?.value != nil }
6032
- .compactMap { $0 }
6033
- let command = RubyCommand(commandID: "", methodName: "hipchat", className: nil, args: args)
6034
- _ = runner.executeCommand(command)
6035
- }
6036
-
6037
6033
  /**
6038
6034
  Refer to [App Center](https://github.com/Microsoft/fastlane-plugin-appcenter/)
6039
6035
 
@@ -6202,6 +6198,7 @@ public func ifttt(apiKey: String,
6202
6198
  - parameters:
6203
6199
  - certificatePath: Path to certificate
6204
6200
  - certificatePassword: Certificate password
6201
+ - certificateFormat: Format of the certificate. Check the '-f' switch from 'security import --help' command
6205
6202
  - keychainName: Keychain the items should be imported to
6206
6203
  - keychainPath: Path to the Keychain file to which the items should be imported
6207
6204
  - keychainPassword: The password for the keychain. Note that for the login keychain this is your user's password
@@ -6211,6 +6208,7 @@ public func ifttt(apiKey: String,
6211
6208
  */
6212
6209
  public func importCertificate(certificatePath: String,
6213
6210
  certificatePassword: OptionalConfigValue<String?> = .fastlaneDefault(nil),
6211
+ certificateFormat: OptionalConfigValue<String?> = .fastlaneDefault(nil),
6214
6212
  keychainName: String,
6215
6213
  keychainPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
6216
6214
  keychainPassword: OptionalConfigValue<String?> = .fastlaneDefault(nil),
@@ -6218,12 +6216,14 @@ public func importCertificate(certificatePath: String,
6218
6216
  {
6219
6217
  let certificatePathArg = RubyCommand.Argument(name: "certificate_path", value: certificatePath, type: nil)
6220
6218
  let certificatePasswordArg = certificatePassword.asRubyArgument(name: "certificate_password", type: nil)
6219
+ let certificateFormatArg = certificateFormat.asRubyArgument(name: "certificate_format", type: nil)
6221
6220
  let keychainNameArg = RubyCommand.Argument(name: "keychain_name", value: keychainName, type: nil)
6222
6221
  let keychainPathArg = keychainPath.asRubyArgument(name: "keychain_path", type: nil)
6223
6222
  let keychainPasswordArg = keychainPassword.asRubyArgument(name: "keychain_password", type: nil)
6224
6223
  let logOutputArg = logOutput.asRubyArgument(name: "log_output", type: nil)
6225
6224
  let array: [RubyCommand.Argument?] = [certificatePathArg,
6226
6225
  certificatePasswordArg,
6226
+ certificateFormatArg,
6227
6227
  keychainNameArg,
6228
6228
  keychainPathArg,
6229
6229
  keychainPasswordArg,
@@ -6589,7 +6589,7 @@ public func jazzy(config: OptionalConfigValue<String?> = .fastlaneDefault(nil),
6589
6589
  - username: Your Apple ID Username
6590
6590
  - version: The version number whose latest build number we want
6591
6591
  - platform: The platform to use (optional)
6592
- - initialBuildNumber: sets the build number to given value if no build is in current train
6592
+ - initialBuildNumber: sets the build number to given value if no build (upload) is in current train
6593
6593
  - teamId: The ID of your App Store Connect team if you're in multiple teams
6594
6594
  - teamName: The name of your App Store Connect team if you're in multiple teams
6595
6595
 
@@ -6817,7 +6817,7 @@ public func makeChangelogFromJenkins(fallbackChangelog: String = "",
6817
6817
  - skipDocs: Skip generation of a README.md for the created git repository
6818
6818
  - platform: Set the provisioning profile's platform to work with (i.e. ios, tvos, macos, catalyst)
6819
6819
  - deriveCatalystAppIdentifier: Enable this if you have the Mac Catalyst capability enabled and your project was created with Xcode 11.3 or earlier. Prepends 'maccatalyst.' to the app identifier for the provisioning profile mapping
6820
- - 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")
6820
+ - templateName: **DEPRECATED!** Removed since May 2025 on App Store Connect API OpenAPI v3.8.0 - Learn more: https://docs.fastlane.tools/actions/match/#managed-capabilities - 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")
6821
6821
  - profileName: A custom name for the provisioning profile. This will replace the default provisioning profile name if specified
6822
6822
  - 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
6823
6823
  - skipCertificateMatching: Set to true if there is no access to Apple developer portal but there are certificates, keys and profiles provided. Only works with match import action
@@ -7056,7 +7056,7 @@ public func match(type: String = matchfile.type,
7056
7056
  - skipDocs: Skip generation of a README.md for the created git repository
7057
7057
  - platform: Set the provisioning profile's platform to work with (i.e. ios, tvos, macos, catalyst)
7058
7058
  - deriveCatalystAppIdentifier: Enable this if you have the Mac Catalyst capability enabled and your project was created with Xcode 11.3 or earlier. Prepends 'maccatalyst.' to the app identifier for the provisioning profile mapping
7059
- - 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")
7059
+ - templateName: **DEPRECATED!** Removed since May 2025 on App Store Connect API OpenAPI v3.8.0 - Learn more: https://docs.fastlane.tools/actions/match/#managed-capabilities - 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")
7060
7060
  - profileName: A custom name for the provisioning profile. This will replace the default provisioning profile name if specified
7061
7061
  - 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
7062
7062
  - skipCertificateMatching: Set to true if there is no access to Apple developer portal but there are certificates, keys and profiles provided. Only works with match import action
@@ -7265,7 +7265,7 @@ public func minFastlaneVersion() {
7265
7265
  - parameters:
7266
7266
  - username: Your Apple ID Username
7267
7267
  - appIdentifier: App Identifier (Bundle ID, e.g. com.krausefx.app)
7268
- - 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))
7268
+ - 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), declared_age_range: (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))
7269
7269
  - teamId: The ID of your Developer Portal team if you're in multiple teams
7270
7270
  - teamName: The name of your Developer Portal team if you're in multiple teams
7271
7271
 
@@ -8267,7 +8267,7 @@ public func println(message: OptionalConfigValue<String?> = .fastlaneDefault(nil
8267
8267
  - skipItc: Skip the creation of the app on App Store Connect
8268
8268
  - 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
8269
8269
  - enabledFeatures: **DEPRECATED!** Please use `enable_services` instead - Array with Spaceship App Services
8270
- - 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))
8270
+ - 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), declared_age_range: (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))
8271
8271
  - skipDevcenter: Skip the creation of the app on the Apple Developer Portal
8272
8272
  - teamId: The ID of your Developer Portal team if you're in multiple teams
8273
8273
  - teamName: The name of your Developer Portal team if you're in multiple teams
@@ -8826,8 +8826,8 @@ public func rubyVersion() {
8826
8826
  - prelaunchSimulator: Enabling this option will launch the first simulator prior to calling any xcodebuild command
8827
8827
  - reinstallApp: Enabling this option will automatically uninstall the application before running it
8828
8828
  - appIdentifier: The bundle identifier of the app to uninstall (only needed when enabling reinstall_app)
8829
- - onlyTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to run
8830
- - skipTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to skip
8829
+ - onlyTesting: Array of test identifiers to run. Expected format: TestTarget[/TestSuite[/TestCase]]
8830
+ - skipTesting: Array of test identifiers to skip. Expected format: TestTarget[/TestSuite[/TestCase]]
8831
8831
  - testplan: The testplan associated with the scheme that should be used for testing
8832
8832
  - onlyTestConfigurations: Array of strings matching test plan configurations to run
8833
8833
  - skipTestConfigurations: Array of strings matching test plan configurations to skip
@@ -8885,8 +8885,10 @@ public func rubyVersion() {
8885
8885
  - customReportFileName: **DEPRECATED!** Use `--output_files` instead - Sets custom full report file name when generating a single report
8886
8886
  - xcodebuildCommand: Allows for override of the default `xcodebuild` command
8887
8887
  - clonedSourcePackagesPath: Sets a custom path for Swift Package Manager dependencies
8888
+ - packageCachePath: Sets a custom package cache path for Swift Package Manager dependencies
8888
8889
  - skipPackageDependenciesResolution: Skips resolution of Swift Package Manager dependencies
8889
- - disablePackageAutomaticUpdates: Prevents packages from automatically being resolved to versions other than those recorded in the `Package.resolved` file
8890
+ - disablePackageAutomaticUpdates: Prevents packages from automatically being resolved to versions other than those recorded in the `Package.resolved` file. This translates in the option `-disableAutomaticPackageResolution` being passed to xcodebuild
8891
+ - skipPackageRepositoryFetches: Skips updating package dependencies from their remote. This translates in the option `-skipPackageUpdates` being passed to xcodebuild
8890
8892
  - useSystemScm: Lets xcodebuild use system's scm configuration
8891
8893
  - numberOfRetries: The number of times a test can fail
8892
8894
  - failBuild: Should this step stop the build if the tests fail? Set this to false if you're using trainer
@@ -8969,8 +8971,10 @@ public func rubyVersion() {
8969
8971
  customReportFileName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8970
8972
  xcodebuildCommand: String = "env NSUnbufferedIO=YES xcodebuild",
8971
8973
  clonedSourcePackagesPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8974
+ packageCachePath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8972
8975
  skipPackageDependenciesResolution: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8973
8976
  disablePackageAutomaticUpdates: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8977
+ skipPackageRepositoryFetches: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8974
8978
  useSystemScm: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8975
8979
  numberOfRetries: Int = 0,
8976
8980
  failBuild: OptionalConfigValue<Bool> = .fastlaneDefault(true),
@@ -9049,8 +9053,10 @@ public func rubyVersion() {
9049
9053
  let customReportFileNameArg = customReportFileName.asRubyArgument(name: "custom_report_file_name", type: nil)
9050
9054
  let xcodebuildCommandArg = RubyCommand.Argument(name: "xcodebuild_command", value: xcodebuildCommand, type: nil)
9051
9055
  let clonedSourcePackagesPathArg = clonedSourcePackagesPath.asRubyArgument(name: "cloned_source_packages_path", type: nil)
9056
+ let packageCachePathArg = packageCachePath.asRubyArgument(name: "package_cache_path", type: nil)
9052
9057
  let skipPackageDependenciesResolutionArg = skipPackageDependenciesResolution.asRubyArgument(name: "skip_package_dependencies_resolution", type: nil)
9053
9058
  let disablePackageAutomaticUpdatesArg = disablePackageAutomaticUpdates.asRubyArgument(name: "disable_package_automatic_updates", type: nil)
9059
+ let skipPackageRepositoryFetchesArg = skipPackageRepositoryFetches.asRubyArgument(name: "skip_package_repository_fetches", type: nil)
9054
9060
  let useSystemScmArg = useSystemScm.asRubyArgument(name: "use_system_scm", type: nil)
9055
9061
  let numberOfRetriesArg = RubyCommand.Argument(name: "number_of_retries", value: numberOfRetries, type: nil)
9056
9062
  let failBuildArg = failBuild.asRubyArgument(name: "fail_build", type: nil)
@@ -9128,8 +9134,10 @@ public func rubyVersion() {
9128
9134
  customReportFileNameArg,
9129
9135
  xcodebuildCommandArg,
9130
9136
  clonedSourcePackagesPathArg,
9137
+ packageCachePathArg,
9131
9138
  skipPackageDependenciesResolutionArg,
9132
9139
  disablePackageAutomaticUpdatesArg,
9140
+ skipPackageRepositoryFetchesArg,
9133
9141
  useSystemScmArg,
9134
9142
  numberOfRetriesArg,
9135
9143
  failBuildArg,
@@ -9261,8 +9269,8 @@ public func say(text: [String],
9261
9269
  - prelaunchSimulator: Enabling this option will launch the first simulator prior to calling any xcodebuild command
9262
9270
  - reinstallApp: Enabling this option will automatically uninstall the application before running it
9263
9271
  - appIdentifier: The bundle identifier of the app to uninstall (only needed when enabling reinstall_app)
9264
- - onlyTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to run
9265
- - skipTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to skip
9272
+ - onlyTesting: Array of test identifiers to run. Expected format: TestTarget[/TestSuite[/TestCase]]
9273
+ - skipTesting: Array of test identifiers to skip. Expected format: TestTarget[/TestSuite[/TestCase]]
9266
9274
  - testplan: The testplan associated with the scheme that should be used for testing
9267
9275
  - onlyTestConfigurations: Array of strings matching test plan configurations to run
9268
9276
  - skipTestConfigurations: Array of strings matching test plan configurations to skip
@@ -9320,8 +9328,10 @@ public func say(text: [String],
9320
9328
  - customReportFileName: **DEPRECATED!** Use `--output_files` instead - Sets custom full report file name when generating a single report
9321
9329
  - xcodebuildCommand: Allows for override of the default `xcodebuild` command
9322
9330
  - clonedSourcePackagesPath: Sets a custom path for Swift Package Manager dependencies
9331
+ - packageCachePath: Sets a custom package cache path for Swift Package Manager dependencies
9323
9332
  - skipPackageDependenciesResolution: Skips resolution of Swift Package Manager dependencies
9324
- - disablePackageAutomaticUpdates: Prevents packages from automatically being resolved to versions other than those recorded in the `Package.resolved` file
9333
+ - disablePackageAutomaticUpdates: Prevents packages from automatically being resolved to versions other than those recorded in the `Package.resolved` file. This translates in the option `-disableAutomaticPackageResolution` being passed to xcodebuild
9334
+ - skipPackageRepositoryFetches: Skips updating package dependencies from their remote. This translates in the option `-skipPackageUpdates` being passed to xcodebuild
9325
9335
  - useSystemScm: Lets xcodebuild use system's scm configuration
9326
9336
  - numberOfRetries: The number of times a test can fail
9327
9337
  - failBuild: Should this step stop the build if the tests fail? Set this to false if you're using trainer
@@ -9404,8 +9414,10 @@ public func say(text: [String],
9404
9414
  customReportFileName: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.customReportFileName),
9405
9415
  xcodebuildCommand: String = scanfile.xcodebuildCommand,
9406
9416
  clonedSourcePackagesPath: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.clonedSourcePackagesPath),
9417
+ packageCachePath: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.packageCachePath),
9407
9418
  skipPackageDependenciesResolution: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.skipPackageDependenciesResolution),
9408
9419
  disablePackageAutomaticUpdates: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.disablePackageAutomaticUpdates),
9420
+ skipPackageRepositoryFetches: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.skipPackageRepositoryFetches),
9409
9421
  useSystemScm: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.useSystemScm),
9410
9422
  numberOfRetries: Int = scanfile.numberOfRetries,
9411
9423
  failBuild: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.failBuild),
@@ -9484,8 +9496,10 @@ public func say(text: [String],
9484
9496
  let customReportFileNameArg = customReportFileName.asRubyArgument(name: "custom_report_file_name", type: nil)
9485
9497
  let xcodebuildCommandArg = RubyCommand.Argument(name: "xcodebuild_command", value: xcodebuildCommand, type: nil)
9486
9498
  let clonedSourcePackagesPathArg = clonedSourcePackagesPath.asRubyArgument(name: "cloned_source_packages_path", type: nil)
9499
+ let packageCachePathArg = packageCachePath.asRubyArgument(name: "package_cache_path", type: nil)
9487
9500
  let skipPackageDependenciesResolutionArg = skipPackageDependenciesResolution.asRubyArgument(name: "skip_package_dependencies_resolution", type: nil)
9488
9501
  let disablePackageAutomaticUpdatesArg = disablePackageAutomaticUpdates.asRubyArgument(name: "disable_package_automatic_updates", type: nil)
9502
+ let skipPackageRepositoryFetchesArg = skipPackageRepositoryFetches.asRubyArgument(name: "skip_package_repository_fetches", type: nil)
9489
9503
  let useSystemScmArg = useSystemScm.asRubyArgument(name: "use_system_scm", type: nil)
9490
9504
  let numberOfRetriesArg = RubyCommand.Argument(name: "number_of_retries", value: numberOfRetries, type: nil)
9491
9505
  let failBuildArg = failBuild.asRubyArgument(name: "fail_build", type: nil)
@@ -9563,8 +9577,10 @@ public func say(text: [String],
9563
9577
  customReportFileNameArg,
9564
9578
  xcodebuildCommandArg,
9565
9579
  clonedSourcePackagesPathArg,
9580
+ packageCachePathArg,
9566
9581
  skipPackageDependenciesResolutionArg,
9567
9582
  disablePackageAutomaticUpdatesArg,
9583
+ skipPackageRepositoryFetchesArg,
9568
9584
  useSystemScmArg,
9569
9585
  numberOfRetriesArg,
9570
9586
  failBuildArg,
@@ -10126,7 +10142,7 @@ public func setupTravis(force: OptionalConfigValue<Bool> = .fastlaneDefault(fals
10126
10142
  - skipCertificateVerification: Skips the verification of the certificates for every existing profiles. This will make sure the provisioning profile can be used on the local machine
10127
10143
  - platform: Set the provisioning profile's platform (i.e. ios, tvos, macos, catalyst)
10128
10144
  - readonly: Only fetch existing profile, don't generate new ones
10129
- - 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")
10145
+ - templateName: **DEPRECATED!** Removed since May 2025 on App Store Connect API OpenAPI v3.8.0 - Learn more: https://docs.fastlane.tools/actions/match/#managed-capabilities - 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")
10130
10146
  - 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
10131
10147
  - cachedCertificates: A list of cached certificates
10132
10148
  - cachedDevices: A list of cached devices
@@ -10314,55 +10330,6 @@ public func slack(message: OptionalConfigValue<String?> = .fastlaneDefault(nil),
10314
10330
  _ = runner.executeCommand(command)
10315
10331
  }
10316
10332
 
10317
- /**
10318
- Show a train of the fastlane progress
10319
-
10320
- - returns: A string that is being sent to slack
10321
- */
10322
- public func slackTrain() {
10323
- let args: [RubyCommand.Argument] = []
10324
- let command = RubyCommand(commandID: "", methodName: "slack_train", className: nil, args: args)
10325
- _ = runner.executeCommand(command)
10326
- }
10327
-
10328
- /**
10329
-
10330
- */
10331
- public func slackTrainCrash() {
10332
- let args: [RubyCommand.Argument] = []
10333
- let command = RubyCommand(commandID: "", methodName: "slack_train_crash", className: nil, args: args)
10334
- _ = runner.executeCommand(command)
10335
- }
10336
-
10337
- /**
10338
- Show a train of the fastlane progress
10339
-
10340
- - parameters:
10341
- - distance: How many rails do we need?
10342
- - train: Train emoji
10343
- - rail: Character or emoji for the rail
10344
- - reverseDirection: Pass true if you want the train to go from left to right
10345
- */
10346
- public func slackTrainStart(distance: Int = 5,
10347
- train: String = "🚝",
10348
- rail: String = "=",
10349
- reverseDirection: OptionalConfigValue<Bool> = .fastlaneDefault(false))
10350
- {
10351
- let distanceArg = RubyCommand.Argument(name: "distance", value: distance, type: nil)
10352
- let trainArg = RubyCommand.Argument(name: "train", value: train, type: nil)
10353
- let railArg = RubyCommand.Argument(name: "rail", value: rail, type: nil)
10354
- let reverseDirectionArg = reverseDirection.asRubyArgument(name: "reverse_direction", type: nil)
10355
- let array: [RubyCommand.Argument?] = [distanceArg,
10356
- trainArg,
10357
- railArg,
10358
- reverseDirectionArg]
10359
- let args: [RubyCommand.Argument] = array
10360
- .filter { $0?.value != nil }
10361
- .compactMap { $0 }
10362
- let command = RubyCommand(commandID: "", methodName: "slack_train_start", className: nil, args: args)
10363
- _ = runner.executeCommand(command)
10364
- }
10365
-
10366
10333
  /**
10367
10334
  Use slather to generate a code coverage report
10368
10335
 
@@ -10554,8 +10521,10 @@ public func slather(buildDirectory: OptionalConfigValue<String?> = .fastlaneDefa
10554
10521
  - concurrentSimulators: Take snapshots on multiple simulators concurrently. Note: This option is only applicable when running against Xcode 9
10555
10522
  - disableSlideToType: Disable the simulator from showing the 'Slide to type' prompt
10556
10523
  - clonedSourcePackagesPath: Sets a custom path for Swift Package Manager dependencies
10524
+ - packageCachePath: Sets a custom package cache path for Swift Package Manager dependencies
10557
10525
  - skipPackageDependenciesResolution: Skips resolution of Swift Package Manager dependencies
10558
- - disablePackageAutomaticUpdates: Prevents packages from automatically being resolved to versions other than those recorded in the `Package.resolved` file
10526
+ - disablePackageAutomaticUpdates: Prevents packages from automatically being resolved to versions other than those recorded in the `Package.resolved` file. This translates in the option `-disableAutomaticPackageResolution` being passed to xcodebuild
10527
+ - skipPackageRepositoryFetches: Skips updating package dependencies from their remote. This translates in the option `-skipPackageUpdates` being passed to xcodebuild
10559
10528
  - packageAuthorizationProvider: Lets xcodebuild use a specified package authorization provider (keychain|netrc)
10560
10529
  - testplan: The testplan associated with the scheme that should be used for testing
10561
10530
  - onlyTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to run
@@ -10605,8 +10574,10 @@ public func snapshot(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
10605
10574
  concurrentSimulators: OptionalConfigValue<Bool> = .fastlaneDefault(snapshotfile.concurrentSimulators),
10606
10575
  disableSlideToType: OptionalConfigValue<Bool> = .fastlaneDefault(snapshotfile.disableSlideToType),
10607
10576
  clonedSourcePackagesPath: OptionalConfigValue<String?> = .fastlaneDefault(snapshotfile.clonedSourcePackagesPath),
10577
+ packageCachePath: OptionalConfigValue<String?> = .fastlaneDefault(snapshotfile.packageCachePath),
10608
10578
  skipPackageDependenciesResolution: OptionalConfigValue<Bool> = .fastlaneDefault(snapshotfile.skipPackageDependenciesResolution),
10609
10579
  disablePackageAutomaticUpdates: OptionalConfigValue<Bool> = .fastlaneDefault(snapshotfile.disablePackageAutomaticUpdates),
10580
+ skipPackageRepositoryFetches: OptionalConfigValue<Bool> = .fastlaneDefault(snapshotfile.skipPackageRepositoryFetches),
10610
10581
  packageAuthorizationProvider: OptionalConfigValue<String?> = .fastlaneDefault(snapshotfile.packageAuthorizationProvider),
10611
10582
  testplan: OptionalConfigValue<String?> = .fastlaneDefault(snapshotfile.testplan),
10612
10583
  onlyTesting: Any? = snapshotfile.onlyTesting,
@@ -10656,8 +10627,10 @@ public func snapshot(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
10656
10627
  let concurrentSimulatorsArg = concurrentSimulators.asRubyArgument(name: "concurrent_simulators", type: nil)
10657
10628
  let disableSlideToTypeArg = disableSlideToType.asRubyArgument(name: "disable_slide_to_type", type: nil)
10658
10629
  let clonedSourcePackagesPathArg = clonedSourcePackagesPath.asRubyArgument(name: "cloned_source_packages_path", type: nil)
10630
+ let packageCachePathArg = packageCachePath.asRubyArgument(name: "package_cache_path", type: nil)
10659
10631
  let skipPackageDependenciesResolutionArg = skipPackageDependenciesResolution.asRubyArgument(name: "skip_package_dependencies_resolution", type: nil)
10660
10632
  let disablePackageAutomaticUpdatesArg = disablePackageAutomaticUpdates.asRubyArgument(name: "disable_package_automatic_updates", type: nil)
10633
+ let skipPackageRepositoryFetchesArg = skipPackageRepositoryFetches.asRubyArgument(name: "skip_package_repository_fetches", type: nil)
10661
10634
  let packageAuthorizationProviderArg = packageAuthorizationProvider.asRubyArgument(name: "package_authorization_provider", type: nil)
10662
10635
  let testplanArg = testplan.asRubyArgument(name: "testplan", type: nil)
10663
10636
  let onlyTestingArg = RubyCommand.Argument(name: "only_testing", value: onlyTesting, type: nil)
@@ -10706,8 +10679,10 @@ public func snapshot(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
10706
10679
  concurrentSimulatorsArg,
10707
10680
  disableSlideToTypeArg,
10708
10681
  clonedSourcePackagesPathArg,
10682
+ packageCachePathArg,
10709
10683
  skipPackageDependenciesResolutionArg,
10710
10684
  disablePackageAutomaticUpdatesArg,
10685
+ skipPackageRepositoryFetchesArg,
10711
10686
  packageAuthorizationProviderArg,
10712
10687
  testplanArg,
10713
10688
  onlyTestingArg,
@@ -11386,7 +11361,7 @@ public func swiftlint(mode: String = "lint",
11386
11361
  - skipDocs: Skip generation of a README.md for the created git repository
11387
11362
  - platform: Set the provisioning profile's platform to work with (i.e. ios, tvos, macos, catalyst)
11388
11363
  - deriveCatalystAppIdentifier: Enable this if you have the Mac Catalyst capability enabled and your project was created with Xcode 11.3 or earlier. Prepends 'maccatalyst.' to the app identifier for the provisioning profile mapping
11389
- - 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")
11364
+ - templateName: **DEPRECATED!** Removed since May 2025 on App Store Connect API OpenAPI v3.8.0 - Learn more: https://docs.fastlane.tools/actions/match/#managed-capabilities - 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")
11390
11365
  - profileName: A custom name for the provisioning profile. This will replace the default provisioning profile name if specified
11391
11366
  - 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
11392
11367
  - skipCertificateMatching: Set to true if there is no access to Apple developer portal but there are certificates, keys and profiles provided. Only works with match import action
@@ -13632,7 +13607,11 @@ public func xcodebuild() {
13632
13607
  - configuration: The configuration used when building the app. Defaults to 'Release'
13633
13608
  - sourceDirectory: The path to project's root directory
13634
13609
  - derivedDataPath: The directory where build products and other derived data will go
13610
+ - xccovFileDirectPath: The path or array of paths to the xccoverage/xccovreport/xcresult files to parse to generate code coverage
13635
13611
  - outputDirectory: The directory in which all reports will be stored
13612
+ - clonedSourcePackagesPath: Sets a custom path for Swift Package Manager dependencies
13613
+ - useSystemScm: Lets xcodebuild use system's scm configuration
13614
+ - isSwiftPackage: Enables generating coverage reports for Package.swift derived projects
13636
13615
  - htmlReport: Produce an HTML report
13637
13616
  - markdownReport: Produce a Markdown report
13638
13617
  - jsonReport: Produce a JSON report
@@ -13644,6 +13623,7 @@ public func xcodebuild() {
13644
13623
  - slackMessage: The message which is published together with a successful report
13645
13624
  - ignoreFilePath: Relative or absolute path to the file containing the list of ignored files
13646
13625
  - includeTestTargets: Enables coverage reports for .xctest targets
13626
+ - includeZeroTargets: Final report will include target even if the coverage is 0%
13647
13627
  - excludeTargets: Comma separated list of targets to exclude from coverage report
13648
13628
  - includeTargets: Comma separated list of targets to include in coverage report. If specified then exlude_targets will be ignored
13649
13629
  - onlyProjectTargets: Display the coverage only for main project targets (e.g. skip Pods targets)
@@ -13656,7 +13636,7 @@ public func xcodebuild() {
13656
13636
  - legacySupport: Whether xcov should parse a xccoverage file instead on xccovreport
13657
13637
 
13658
13638
  Create nice code coverage reports and post coverage summaries on Slack *(xcov gem is required)*.
13659
- More information: [https://github.com/nakiostudio/xcov](https://github.com/nakiostudio/xcov).
13639
+ More information: [https://github.com/fastlane-community/xcov](https://github.com/fastlane-community/xcov).
13660
13640
  */
13661
13641
  public func xcov(workspace: OptionalConfigValue<String?> = .fastlaneDefault(nil),
13662
13642
  project: OptionalConfigValue<String?> = .fastlaneDefault(nil),
@@ -13664,7 +13644,11 @@ public func xcov(workspace: OptionalConfigValue<String?> = .fastlaneDefault(nil)
13664
13644
  configuration: OptionalConfigValue<String?> = .fastlaneDefault(nil),
13665
13645
  sourceDirectory: OptionalConfigValue<String?> = .fastlaneDefault(nil),
13666
13646
  derivedDataPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
13647
+ xccovFileDirectPath: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
13667
13648
  outputDirectory: String = "./xcov_report",
13649
+ clonedSourcePackagesPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
13650
+ useSystemScm: OptionalConfigValue<Bool> = .fastlaneDefault(false),
13651
+ isSwiftPackage: OptionalConfigValue<Bool> = .fastlaneDefault(false),
13668
13652
  htmlReport: OptionalConfigValue<Bool> = .fastlaneDefault(true),
13669
13653
  markdownReport: OptionalConfigValue<Bool> = .fastlaneDefault(false),
13670
13654
  jsonReport: OptionalConfigValue<Bool> = .fastlaneDefault(false),
@@ -13676,6 +13660,7 @@ public func xcov(workspace: OptionalConfigValue<String?> = .fastlaneDefault(nil)
13676
13660
  slackMessage: String = "Your *xcov* coverage report",
13677
13661
  ignoreFilePath: String = "./.xcovignore",
13678
13662
  includeTestTargets: OptionalConfigValue<Bool> = .fastlaneDefault(false),
13663
+ includeZeroTargets: OptionalConfigValue<Bool> = .fastlaneDefault(true),
13679
13664
  excludeTargets: OptionalConfigValue<String?> = .fastlaneDefault(nil),
13680
13665
  includeTargets: OptionalConfigValue<String?> = .fastlaneDefault(nil),
13681
13666
  onlyProjectTargets: OptionalConfigValue<Bool> = .fastlaneDefault(false),
@@ -13684,7 +13669,7 @@ public func xcov(workspace: OptionalConfigValue<String?> = .fastlaneDefault(nil)
13684
13669
  coverallsServiceJobId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
13685
13670
  coverallsRepoToken: OptionalConfigValue<String?> = .fastlaneDefault(nil),
13686
13671
  xcconfig: OptionalConfigValue<String?> = .fastlaneDefault(nil),
13687
- ideFoundationPath: String = "/Applications/Xcode_15.4.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
13672
+ ideFoundationPath: String = "/Applications/Xcode_16.4.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
13688
13673
  legacySupport: OptionalConfigValue<Bool> = .fastlaneDefault(false))
13689
13674
  {
13690
13675
  let workspaceArg = workspace.asRubyArgument(name: "workspace", type: nil)
@@ -13693,7 +13678,11 @@ public func xcov(workspace: OptionalConfigValue<String?> = .fastlaneDefault(nil)
13693
13678
  let configurationArg = configuration.asRubyArgument(name: "configuration", type: nil)
13694
13679
  let sourceDirectoryArg = sourceDirectory.asRubyArgument(name: "source_directory", type: nil)
13695
13680
  let derivedDataPathArg = derivedDataPath.asRubyArgument(name: "derived_data_path", type: nil)
13681
+ let xccovFileDirectPathArg = xccovFileDirectPath.asRubyArgument(name: "xccov_file_direct_path", type: nil)
13696
13682
  let outputDirectoryArg = RubyCommand.Argument(name: "output_directory", value: outputDirectory, type: nil)
13683
+ let clonedSourcePackagesPathArg = clonedSourcePackagesPath.asRubyArgument(name: "cloned_source_packages_path", type: nil)
13684
+ let useSystemScmArg = useSystemScm.asRubyArgument(name: "use_system_scm", type: nil)
13685
+ let isSwiftPackageArg = isSwiftPackage.asRubyArgument(name: "is_swift_package", type: nil)
13697
13686
  let htmlReportArg = htmlReport.asRubyArgument(name: "html_report", type: nil)
13698
13687
  let markdownReportArg = markdownReport.asRubyArgument(name: "markdown_report", type: nil)
13699
13688
  let jsonReportArg = jsonReport.asRubyArgument(name: "json_report", type: nil)
@@ -13705,6 +13694,7 @@ public func xcov(workspace: OptionalConfigValue<String?> = .fastlaneDefault(nil)
13705
13694
  let slackMessageArg = RubyCommand.Argument(name: "slack_message", value: slackMessage, type: nil)
13706
13695
  let ignoreFilePathArg = RubyCommand.Argument(name: "ignore_file_path", value: ignoreFilePath, type: nil)
13707
13696
  let includeTestTargetsArg = includeTestTargets.asRubyArgument(name: "include_test_targets", type: nil)
13697
+ let includeZeroTargetsArg = includeZeroTargets.asRubyArgument(name: "include_zero_targets", type: nil)
13708
13698
  let excludeTargetsArg = excludeTargets.asRubyArgument(name: "exclude_targets", type: nil)
13709
13699
  let includeTargetsArg = includeTargets.asRubyArgument(name: "include_targets", type: nil)
13710
13700
  let onlyProjectTargetsArg = onlyProjectTargets.asRubyArgument(name: "only_project_targets", type: nil)
@@ -13721,7 +13711,11 @@ public func xcov(workspace: OptionalConfigValue<String?> = .fastlaneDefault(nil)
13721
13711
  configurationArg,
13722
13712
  sourceDirectoryArg,
13723
13713
  derivedDataPathArg,
13714
+ xccovFileDirectPathArg,
13724
13715
  outputDirectoryArg,
13716
+ clonedSourcePackagesPathArg,
13717
+ useSystemScmArg,
13718
+ isSwiftPackageArg,
13725
13719
  htmlReportArg,
13726
13720
  markdownReportArg,
13727
13721
  jsonReportArg,
@@ -13733,6 +13727,7 @@ public func xcov(workspace: OptionalConfigValue<String?> = .fastlaneDefault(nil)
13733
13727
  slackMessageArg,
13734
13728
  ignoreFilePathArg,
13735
13729
  includeTestTargetsArg,
13730
+ includeZeroTargetsArg,
13736
13731
  excludeTargetsArg,
13737
13732
  includeTargetsArg,
13738
13733
  onlyProjectTargetsArg,
@@ -13833,7 +13828,7 @@ public func xcversion(version: String) {
13833
13828
  return runner.executeCommand(command)
13834
13829
  }
13835
13830
 
13836
- // These are all the parsing functions needed to transform our data into the expected types
13831
+ /// These are all the parsing functions needed to transform our data into the expected types
13837
13832
  func parseArray(fromString: String, function: String = #function) -> [String] {
13838
13833
  verbose(message: "parsing an Array from data: \(fromString), from function: \(function)")
13839
13834
  let potentialArray: String
@@ -13842,8 +13837,7 @@ func parseArray(fromString: String, function: String = #function) -> [String] {
13842
13837
  } else {
13843
13838
  potentialArray = fromString
13844
13839
  }
13845
- let array: [String] = try! JSONSerialization.jsonObject(with: potentialArray.data(using: .utf8)!, options: []) as! [String]
13846
- return array
13840
+ return try! JSONSerialization.jsonObject(with: potentialArray.data(using: .utf8)!, options: []) as! [String]
13847
13841
  }
13848
13842
 
13849
13843
  func parseDictionary(fromString: String, function: String = #function) -> [String: String] {
@@ -13863,8 +13857,7 @@ func parseDictionaryHelper(fromString: String, function: String = #function) ->
13863
13857
  } else {
13864
13858
  potentialDictionary = fromString
13865
13859
  }
13866
- let dictionary: [String: Any] = try! JSONSerialization.jsonObject(with: potentialDictionary.data(using: .utf8)!, options: []) as! [String: Any]
13867
- return dictionary
13860
+ return try! JSONSerialization.jsonObject(with: potentialDictionary.data(using: .utf8)!, options: []) as! [String: Any]
13868
13861
  }
13869
13862
 
13870
13863
  func parseBool(fromString: String, function: String = #function) -> Bool {
@@ -13887,4 +13880,4 @@ public let snapshotfile: Snapshotfile = .init()
13887
13880
 
13888
13881
  // Please don't remove the lines below
13889
13882
  // They are used to detect outdated files
13890
- // FastlaneRunnerAPIVersion [0.9.186]
13883
+ // FastlaneRunnerAPIVersion [0.9.197]