fastlane 2.229.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 (119) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +98 -92
  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/upload_metadata.rb +5 -0
  10. data/deliver/lib/deliver/upload_screenshots.rb +4 -2
  11. data/fastlane/lib/assets/completions/completion.bash +1 -1
  12. data/fastlane/lib/assets/completions/completion.sh +2 -2
  13. data/fastlane/lib/fastlane/actions/app_store_build_number.rb +19 -14
  14. data/fastlane/lib/fastlane/actions/appium.rb +1 -1
  15. data/fastlane/lib/fastlane/actions/docs/create_app_online.md +6 -3
  16. data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +3 -1
  17. data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +34 -6
  18. data/fastlane/lib/fastlane/actions/docs/upload_to_testflight.md +2 -0
  19. data/fastlane/lib/fastlane/actions/get_version_number.rb +1 -1
  20. data/fastlane/lib/fastlane/actions/import_certificate.rb +9 -1
  21. data/fastlane/lib/fastlane/actions/increment_build_number.rb +1 -1
  22. data/fastlane/lib/fastlane/actions/install_xcode_plugin.rb +3 -2
  23. data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +1 -1
  24. data/fastlane/lib/fastlane/actions/modify_services.rb +1 -0
  25. data/fastlane/lib/fastlane/actions/notarize.rb +1 -1
  26. data/fastlane/lib/fastlane/actions/upload_to_app_store.rb +1 -1
  27. data/fastlane/lib/fastlane/actions/xcov.rb +1 -7
  28. data/fastlane/lib/fastlane/cli_tools_distributor.rb +19 -1
  29. data/fastlane/lib/fastlane/console.rb +2 -2
  30. data/fastlane/lib/fastlane/documentation/markdown_docs_generator.rb +4 -4
  31. data/fastlane/lib/fastlane/erb_template_helper.rb +1 -7
  32. data/fastlane/lib/fastlane/plugins/template/%gem_name%.gemspec.erb +1 -1
  33. data/fastlane/lib/fastlane/plugins/template/.github/workflows/test.yml +20 -20
  34. data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +1 -1
  35. data/fastlane/lib/fastlane/version.rb +2 -1
  36. data/fastlane/swift/Actions.swift +1 -1
  37. data/fastlane/swift/Appfile.swift +13 -5
  38. data/fastlane/swift/ArgumentProcessor.swift +1 -1
  39. data/fastlane/swift/Atomic.swift +1 -1
  40. data/fastlane/swift/ControlCommand.swift +5 -4
  41. data/fastlane/swift/Deliverfile.swift +2 -2
  42. data/fastlane/swift/DeliverfileProtocol.swift +265 -68
  43. data/fastlane/swift/Fastlane.swift +140 -88
  44. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.pbxproj +3 -1
  45. data/fastlane/swift/Gymfile.swift +2 -2
  46. data/fastlane/swift/GymfileProtocol.swift +227 -54
  47. data/fastlane/swift/LaneFileProtocol.swift +4 -2
  48. data/fastlane/swift/MainProcess.swift +1 -1
  49. data/fastlane/swift/Matchfile.swift +2 -2
  50. data/fastlane/swift/MatchfileProtocol.swift +225 -58
  51. data/fastlane/swift/OptionalConfigValue.swift +1 -1
  52. data/fastlane/swift/Plugins.swift +1 -1
  53. data/fastlane/swift/Precheckfile.swift +2 -2
  54. data/fastlane/swift/PrecheckfileProtocol.swift +45 -13
  55. data/fastlane/swift/RubyCommand.swift +6 -7
  56. data/fastlane/swift/RubyCommandable.swift +1 -1
  57. data/fastlane/swift/Runner.swift +2 -2
  58. data/fastlane/swift/RunnerArgument.swift +1 -1
  59. data/fastlane/swift/Scanfile.swift +2 -2
  60. data/fastlane/swift/ScanfileProtocol.swift +332 -82
  61. data/fastlane/swift/Screengrabfile.swift +2 -2
  62. data/fastlane/swift/ScreengrabfileProtocol.swift +89 -24
  63. data/fastlane/swift/Snapshotfile.swift +2 -2
  64. data/fastlane/swift/SnapshotfileProtocol.swift +216 -53
  65. data/fastlane/swift/SocketClient.swift +2 -2
  66. data/fastlane/swift/SocketClientDelegateProtocol.swift +1 -1
  67. data/fastlane/swift/SocketResponse.swift +1 -1
  68. data/fastlane/swift/main.swift +1 -1
  69. data/fastlane_core/lib/fastlane_core/cert_checker.rb +10 -0
  70. data/fastlane_core/lib/fastlane_core/fastlane_pty.rb +5 -1
  71. data/fastlane_core/lib/fastlane_core/ipa_upload_package_builder.rb +14 -0
  72. data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +38 -8
  73. data/fastlane_core/lib/fastlane_core/keychain_importer.rb +3 -1
  74. data/fastlane_core/lib/fastlane_core/project.rb +8 -0
  75. data/fastlane_core/lib/fastlane_core/provisioning_profile.rb +7 -1
  76. data/frameit/lib/frameit/device.rb +2 -2
  77. data/frameit/lib/frameit/device_types.rb +108 -70
  78. data/frameit/lib/frameit/template_finder.rb +1 -1
  79. data/gym/lib/assets/wrap_xcodebuild/xcbuild-safe.sh +1 -0
  80. data/gym/lib/gym/module.rb +9 -4
  81. data/gym/lib/gym/options.rb +20 -2
  82. data/gym/lib/gym/runner.rb +38 -3
  83. data/produce/lib/produce/commands_generator.rb +2 -0
  84. data/produce/lib/produce/developer_center.rb +1 -0
  85. data/produce/lib/produce/service.rb +6 -1
  86. data/scan/lib/scan/error_handler.rb +5 -0
  87. data/scan/lib/scan/options.rb +11 -1
  88. data/scan/lib/scan/test_command_generator.rb +8 -0
  89. data/sigh/lib/assets/resign.sh +6 -3
  90. data/sigh/lib/sigh/local_manage.rb +6 -4
  91. data/sigh/lib/sigh/runner.rb +18 -1
  92. data/snapshot/lib/snapshot/detect_values.rb +1 -1
  93. data/snapshot/lib/snapshot/options.rb +13 -1
  94. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +4 -2
  95. data/spaceship/lib/spaceship/client.rb +32 -2
  96. data/spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb +62 -8
  97. data/spaceship/lib/spaceship/connect_api/models/app_info_localization.rb +4 -4
  98. data/spaceship/lib/spaceship/connect_api/models/app_screenshot_set.rb +7 -1
  99. data/spaceship/lib/spaceship/connect_api/models/app_store_version_localization.rb +16 -16
  100. data/spaceship/lib/spaceship/connect_api/models/build_upload.rb +42 -0
  101. data/spaceship/lib/spaceship/connect_api/models/bundle_id_capability.rb +2 -0
  102. data/spaceship/lib/spaceship/connect_api/models/certificate.rb +32 -2
  103. data/spaceship/lib/spaceship/connect_api/models/webhook.rb +62 -0
  104. data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +0 -6
  105. data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +9 -0
  106. data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +38 -0
  107. data/spaceship/lib/spaceship/connect_api.rb +2 -0
  108. data/spaceship/lib/spaceship/errors.rb +8 -6
  109. data/spaceship/lib/spaceship/portal/key.rb +22 -3
  110. data/spaceship/lib/spaceship/portal/portal_client.rb +29 -2
  111. data/spaceship/lib/spaceship/spaceauth_runner.rb +5 -15
  112. data/supply/lib/supply/client.rb +18 -1
  113. data/trainer/lib/trainer/legacy_xcresult.rb +1 -1
  114. data/trainer/lib/trainer/test_parser.rb +1 -1
  115. data/trainer/lib/trainer/xcresult/helper.rb +11 -1
  116. metadata +116 -41
  117. data/fastlane/lib/fastlane/core_ext/bundler_monkey_patch.rb +0 -14
  118. data/fastlane/lib/fastlane/plugins/template/.circleci/config.yml +0 -43
  119. 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
@@ -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 }
@@ -6143,6 +6198,7 @@ public func ifttt(apiKey: String,
6143
6198
  - parameters:
6144
6199
  - certificatePath: Path to certificate
6145
6200
  - certificatePassword: Certificate password
6201
+ - certificateFormat: Format of the certificate. Check the '-f' switch from 'security import --help' command
6146
6202
  - keychainName: Keychain the items should be imported to
6147
6203
  - keychainPath: Path to the Keychain file to which the items should be imported
6148
6204
  - keychainPassword: The password for the keychain. Note that for the login keychain this is your user's password
@@ -6152,6 +6208,7 @@ public func ifttt(apiKey: String,
6152
6208
  */
6153
6209
  public func importCertificate(certificatePath: String,
6154
6210
  certificatePassword: OptionalConfigValue<String?> = .fastlaneDefault(nil),
6211
+ certificateFormat: OptionalConfigValue<String?> = .fastlaneDefault(nil),
6155
6212
  keychainName: String,
6156
6213
  keychainPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
6157
6214
  keychainPassword: OptionalConfigValue<String?> = .fastlaneDefault(nil),
@@ -6159,12 +6216,14 @@ public func importCertificate(certificatePath: String,
6159
6216
  {
6160
6217
  let certificatePathArg = RubyCommand.Argument(name: "certificate_path", value: certificatePath, type: nil)
6161
6218
  let certificatePasswordArg = certificatePassword.asRubyArgument(name: "certificate_password", type: nil)
6219
+ let certificateFormatArg = certificateFormat.asRubyArgument(name: "certificate_format", type: nil)
6162
6220
  let keychainNameArg = RubyCommand.Argument(name: "keychain_name", value: keychainName, type: nil)
6163
6221
  let keychainPathArg = keychainPath.asRubyArgument(name: "keychain_path", type: nil)
6164
6222
  let keychainPasswordArg = keychainPassword.asRubyArgument(name: "keychain_password", type: nil)
6165
6223
  let logOutputArg = logOutput.asRubyArgument(name: "log_output", type: nil)
6166
6224
  let array: [RubyCommand.Argument?] = [certificatePathArg,
6167
6225
  certificatePasswordArg,
6226
+ certificateFormatArg,
6168
6227
  keychainNameArg,
6169
6228
  keychainPathArg,
6170
6229
  keychainPasswordArg,
@@ -6530,7 +6589,7 @@ public func jazzy(config: OptionalConfigValue<String?> = .fastlaneDefault(nil),
6530
6589
  - username: Your Apple ID Username
6531
6590
  - version: The version number whose latest build number we want
6532
6591
  - platform: The platform to use (optional)
6533
- - 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
6534
6593
  - teamId: The ID of your App Store Connect team if you're in multiple teams
6535
6594
  - teamName: The name of your App Store Connect team if you're in multiple teams
6536
6595
 
@@ -7206,7 +7265,7 @@ public func minFastlaneVersion() {
7206
7265
  - parameters:
7207
7266
  - username: Your Apple ID Username
7208
7267
  - appIdentifier: App Identifier (Bundle ID, e.g. com.krausefx.app)
7209
- - 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))
7210
7269
  - teamId: The ID of your Developer Portal team if you're in multiple teams
7211
7270
  - teamName: The name of your Developer Portal team if you're in multiple teams
7212
7271
 
@@ -8208,7 +8267,7 @@ public func println(message: OptionalConfigValue<String?> = .fastlaneDefault(nil
8208
8267
  - skipItc: Skip the creation of the app on App Store Connect
8209
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
8210
8269
  - enabledFeatures: **DEPRECATED!** Please use `enable_services` instead - Array with Spaceship App Services
8211
- - 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))
8212
8271
  - skipDevcenter: Skip the creation of the app on the Apple Developer Portal
8213
8272
  - teamId: The ID of your Developer Portal team if you're in multiple teams
8214
8273
  - teamName: The name of your Developer Portal team if you're in multiple teams
@@ -8826,8 +8885,10 @@ public func rubyVersion() {
8826
8885
  - customReportFileName: **DEPRECATED!** Use `--output_files` instead - Sets custom full report file name when generating a single report
8827
8886
  - xcodebuildCommand: Allows for override of the default `xcodebuild` command
8828
8887
  - clonedSourcePackagesPath: Sets a custom path for Swift Package Manager dependencies
8888
+ - packageCachePath: Sets a custom package cache path for Swift Package Manager dependencies
8829
8889
  - skipPackageDependenciesResolution: Skips resolution of Swift Package Manager dependencies
8830
- - 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
8831
8892
  - useSystemScm: Lets xcodebuild use system's scm configuration
8832
8893
  - numberOfRetries: The number of times a test can fail
8833
8894
  - failBuild: Should this step stop the build if the tests fail? Set this to false if you're using trainer
@@ -8910,8 +8971,10 @@ public func rubyVersion() {
8910
8971
  customReportFileName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8911
8972
  xcodebuildCommand: String = "env NSUnbufferedIO=YES xcodebuild",
8912
8973
  clonedSourcePackagesPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8974
+ packageCachePath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8913
8975
  skipPackageDependenciesResolution: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8914
8976
  disablePackageAutomaticUpdates: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8977
+ skipPackageRepositoryFetches: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8915
8978
  useSystemScm: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8916
8979
  numberOfRetries: Int = 0,
8917
8980
  failBuild: OptionalConfigValue<Bool> = .fastlaneDefault(true),
@@ -8990,8 +9053,10 @@ public func rubyVersion() {
8990
9053
  let customReportFileNameArg = customReportFileName.asRubyArgument(name: "custom_report_file_name", type: nil)
8991
9054
  let xcodebuildCommandArg = RubyCommand.Argument(name: "xcodebuild_command", value: xcodebuildCommand, type: nil)
8992
9055
  let clonedSourcePackagesPathArg = clonedSourcePackagesPath.asRubyArgument(name: "cloned_source_packages_path", type: nil)
9056
+ let packageCachePathArg = packageCachePath.asRubyArgument(name: "package_cache_path", type: nil)
8993
9057
  let skipPackageDependenciesResolutionArg = skipPackageDependenciesResolution.asRubyArgument(name: "skip_package_dependencies_resolution", type: nil)
8994
9058
  let disablePackageAutomaticUpdatesArg = disablePackageAutomaticUpdates.asRubyArgument(name: "disable_package_automatic_updates", type: nil)
9059
+ let skipPackageRepositoryFetchesArg = skipPackageRepositoryFetches.asRubyArgument(name: "skip_package_repository_fetches", type: nil)
8995
9060
  let useSystemScmArg = useSystemScm.asRubyArgument(name: "use_system_scm", type: nil)
8996
9061
  let numberOfRetriesArg = RubyCommand.Argument(name: "number_of_retries", value: numberOfRetries, type: nil)
8997
9062
  let failBuildArg = failBuild.asRubyArgument(name: "fail_build", type: nil)
@@ -9069,8 +9134,10 @@ public func rubyVersion() {
9069
9134
  customReportFileNameArg,
9070
9135
  xcodebuildCommandArg,
9071
9136
  clonedSourcePackagesPathArg,
9137
+ packageCachePathArg,
9072
9138
  skipPackageDependenciesResolutionArg,
9073
9139
  disablePackageAutomaticUpdatesArg,
9140
+ skipPackageRepositoryFetchesArg,
9074
9141
  useSystemScmArg,
9075
9142
  numberOfRetriesArg,
9076
9143
  failBuildArg,
@@ -9261,8 +9328,10 @@ public func say(text: [String],
9261
9328
  - customReportFileName: **DEPRECATED!** Use `--output_files` instead - Sets custom full report file name when generating a single report
9262
9329
  - xcodebuildCommand: Allows for override of the default `xcodebuild` command
9263
9330
  - clonedSourcePackagesPath: Sets a custom path for Swift Package Manager dependencies
9331
+ - packageCachePath: Sets a custom package cache path for Swift Package Manager dependencies
9264
9332
  - skipPackageDependenciesResolution: Skips resolution of Swift Package Manager dependencies
9265
- - 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
9266
9335
  - useSystemScm: Lets xcodebuild use system's scm configuration
9267
9336
  - numberOfRetries: The number of times a test can fail
9268
9337
  - failBuild: Should this step stop the build if the tests fail? Set this to false if you're using trainer
@@ -9345,8 +9414,10 @@ public func say(text: [String],
9345
9414
  customReportFileName: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.customReportFileName),
9346
9415
  xcodebuildCommand: String = scanfile.xcodebuildCommand,
9347
9416
  clonedSourcePackagesPath: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.clonedSourcePackagesPath),
9417
+ packageCachePath: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.packageCachePath),
9348
9418
  skipPackageDependenciesResolution: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.skipPackageDependenciesResolution),
9349
9419
  disablePackageAutomaticUpdates: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.disablePackageAutomaticUpdates),
9420
+ skipPackageRepositoryFetches: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.skipPackageRepositoryFetches),
9350
9421
  useSystemScm: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.useSystemScm),
9351
9422
  numberOfRetries: Int = scanfile.numberOfRetries,
9352
9423
  failBuild: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.failBuild),
@@ -9425,8 +9496,10 @@ public func say(text: [String],
9425
9496
  let customReportFileNameArg = customReportFileName.asRubyArgument(name: "custom_report_file_name", type: nil)
9426
9497
  let xcodebuildCommandArg = RubyCommand.Argument(name: "xcodebuild_command", value: xcodebuildCommand, type: nil)
9427
9498
  let clonedSourcePackagesPathArg = clonedSourcePackagesPath.asRubyArgument(name: "cloned_source_packages_path", type: nil)
9499
+ let packageCachePathArg = packageCachePath.asRubyArgument(name: "package_cache_path", type: nil)
9428
9500
  let skipPackageDependenciesResolutionArg = skipPackageDependenciesResolution.asRubyArgument(name: "skip_package_dependencies_resolution", type: nil)
9429
9501
  let disablePackageAutomaticUpdatesArg = disablePackageAutomaticUpdates.asRubyArgument(name: "disable_package_automatic_updates", type: nil)
9502
+ let skipPackageRepositoryFetchesArg = skipPackageRepositoryFetches.asRubyArgument(name: "skip_package_repository_fetches", type: nil)
9430
9503
  let useSystemScmArg = useSystemScm.asRubyArgument(name: "use_system_scm", type: nil)
9431
9504
  let numberOfRetriesArg = RubyCommand.Argument(name: "number_of_retries", value: numberOfRetries, type: nil)
9432
9505
  let failBuildArg = failBuild.asRubyArgument(name: "fail_build", type: nil)
@@ -9504,8 +9577,10 @@ public func say(text: [String],
9504
9577
  customReportFileNameArg,
9505
9578
  xcodebuildCommandArg,
9506
9579
  clonedSourcePackagesPathArg,
9580
+ packageCachePathArg,
9507
9581
  skipPackageDependenciesResolutionArg,
9508
9582
  disablePackageAutomaticUpdatesArg,
9583
+ skipPackageRepositoryFetchesArg,
9509
9584
  useSystemScmArg,
9510
9585
  numberOfRetriesArg,
9511
9586
  failBuildArg,
@@ -10255,55 +10330,6 @@ public func slack(message: OptionalConfigValue<String?> = .fastlaneDefault(nil),
10255
10330
  _ = runner.executeCommand(command)
10256
10331
  }
10257
10332
 
10258
- /**
10259
- Show a train of the fastlane progress
10260
-
10261
- - returns: A string that is being sent to slack
10262
- */
10263
- public func slackTrain() {
10264
- let args: [RubyCommand.Argument] = []
10265
- let command = RubyCommand(commandID: "", methodName: "slack_train", className: nil, args: args)
10266
- _ = runner.executeCommand(command)
10267
- }
10268
-
10269
- /**
10270
-
10271
- */
10272
- public func slackTrainCrash() {
10273
- let args: [RubyCommand.Argument] = []
10274
- let command = RubyCommand(commandID: "", methodName: "slack_train_crash", className: nil, args: args)
10275
- _ = runner.executeCommand(command)
10276
- }
10277
-
10278
- /**
10279
- Show a train of the fastlane progress
10280
-
10281
- - parameters:
10282
- - distance: How many rails do we need?
10283
- - train: Train emoji
10284
- - rail: Character or emoji for the rail
10285
- - reverseDirection: Pass true if you want the train to go from left to right
10286
- */
10287
- public func slackTrainStart(distance: Int = 5,
10288
- train: String = "🚝",
10289
- rail: String = "=",
10290
- reverseDirection: OptionalConfigValue<Bool> = .fastlaneDefault(false))
10291
- {
10292
- let distanceArg = RubyCommand.Argument(name: "distance", value: distance, type: nil)
10293
- let trainArg = RubyCommand.Argument(name: "train", value: train, type: nil)
10294
- let railArg = RubyCommand.Argument(name: "rail", value: rail, type: nil)
10295
- let reverseDirectionArg = reverseDirection.asRubyArgument(name: "reverse_direction", type: nil)
10296
- let array: [RubyCommand.Argument?] = [distanceArg,
10297
- trainArg,
10298
- railArg,
10299
- reverseDirectionArg]
10300
- let args: [RubyCommand.Argument] = array
10301
- .filter { $0?.value != nil }
10302
- .compactMap { $0 }
10303
- let command = RubyCommand(commandID: "", methodName: "slack_train_start", className: nil, args: args)
10304
- _ = runner.executeCommand(command)
10305
- }
10306
-
10307
10333
  /**
10308
10334
  Use slather to generate a code coverage report
10309
10335
 
@@ -10495,8 +10521,10 @@ public func slather(buildDirectory: OptionalConfigValue<String?> = .fastlaneDefa
10495
10521
  - concurrentSimulators: Take snapshots on multiple simulators concurrently. Note: This option is only applicable when running against Xcode 9
10496
10522
  - disableSlideToType: Disable the simulator from showing the 'Slide to type' prompt
10497
10523
  - clonedSourcePackagesPath: Sets a custom path for Swift Package Manager dependencies
10524
+ - packageCachePath: Sets a custom package cache path for Swift Package Manager dependencies
10498
10525
  - skipPackageDependenciesResolution: Skips resolution of Swift Package Manager dependencies
10499
- - 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
10500
10528
  - packageAuthorizationProvider: Lets xcodebuild use a specified package authorization provider (keychain|netrc)
10501
10529
  - testplan: The testplan associated with the scheme that should be used for testing
10502
10530
  - onlyTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to run
@@ -10546,8 +10574,10 @@ public func snapshot(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
10546
10574
  concurrentSimulators: OptionalConfigValue<Bool> = .fastlaneDefault(snapshotfile.concurrentSimulators),
10547
10575
  disableSlideToType: OptionalConfigValue<Bool> = .fastlaneDefault(snapshotfile.disableSlideToType),
10548
10576
  clonedSourcePackagesPath: OptionalConfigValue<String?> = .fastlaneDefault(snapshotfile.clonedSourcePackagesPath),
10577
+ packageCachePath: OptionalConfigValue<String?> = .fastlaneDefault(snapshotfile.packageCachePath),
10549
10578
  skipPackageDependenciesResolution: OptionalConfigValue<Bool> = .fastlaneDefault(snapshotfile.skipPackageDependenciesResolution),
10550
10579
  disablePackageAutomaticUpdates: OptionalConfigValue<Bool> = .fastlaneDefault(snapshotfile.disablePackageAutomaticUpdates),
10580
+ skipPackageRepositoryFetches: OptionalConfigValue<Bool> = .fastlaneDefault(snapshotfile.skipPackageRepositoryFetches),
10551
10581
  packageAuthorizationProvider: OptionalConfigValue<String?> = .fastlaneDefault(snapshotfile.packageAuthorizationProvider),
10552
10582
  testplan: OptionalConfigValue<String?> = .fastlaneDefault(snapshotfile.testplan),
10553
10583
  onlyTesting: Any? = snapshotfile.onlyTesting,
@@ -10597,8 +10627,10 @@ public func snapshot(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
10597
10627
  let concurrentSimulatorsArg = concurrentSimulators.asRubyArgument(name: "concurrent_simulators", type: nil)
10598
10628
  let disableSlideToTypeArg = disableSlideToType.asRubyArgument(name: "disable_slide_to_type", type: nil)
10599
10629
  let clonedSourcePackagesPathArg = clonedSourcePackagesPath.asRubyArgument(name: "cloned_source_packages_path", type: nil)
10630
+ let packageCachePathArg = packageCachePath.asRubyArgument(name: "package_cache_path", type: nil)
10600
10631
  let skipPackageDependenciesResolutionArg = skipPackageDependenciesResolution.asRubyArgument(name: "skip_package_dependencies_resolution", type: nil)
10601
10632
  let disablePackageAutomaticUpdatesArg = disablePackageAutomaticUpdates.asRubyArgument(name: "disable_package_automatic_updates", type: nil)
10633
+ let skipPackageRepositoryFetchesArg = skipPackageRepositoryFetches.asRubyArgument(name: "skip_package_repository_fetches", type: nil)
10602
10634
  let packageAuthorizationProviderArg = packageAuthorizationProvider.asRubyArgument(name: "package_authorization_provider", type: nil)
10603
10635
  let testplanArg = testplan.asRubyArgument(name: "testplan", type: nil)
10604
10636
  let onlyTestingArg = RubyCommand.Argument(name: "only_testing", value: onlyTesting, type: nil)
@@ -10647,8 +10679,10 @@ public func snapshot(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
10647
10679
  concurrentSimulatorsArg,
10648
10680
  disableSlideToTypeArg,
10649
10681
  clonedSourcePackagesPathArg,
10682
+ packageCachePathArg,
10650
10683
  skipPackageDependenciesResolutionArg,
10651
10684
  disablePackageAutomaticUpdatesArg,
10685
+ skipPackageRepositoryFetchesArg,
10652
10686
  packageAuthorizationProviderArg,
10653
10687
  testplanArg,
10654
10688
  onlyTestingArg,
@@ -13573,7 +13607,11 @@ public func xcodebuild() {
13573
13607
  - configuration: The configuration used when building the app. Defaults to 'Release'
13574
13608
  - sourceDirectory: The path to project's root directory
13575
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
13576
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
13577
13615
  - htmlReport: Produce an HTML report
13578
13616
  - markdownReport: Produce a Markdown report
13579
13617
  - jsonReport: Produce a JSON report
@@ -13585,6 +13623,7 @@ public func xcodebuild() {
13585
13623
  - slackMessage: The message which is published together with a successful report
13586
13624
  - ignoreFilePath: Relative or absolute path to the file containing the list of ignored files
13587
13625
  - includeTestTargets: Enables coverage reports for .xctest targets
13626
+ - includeZeroTargets: Final report will include target even if the coverage is 0%
13588
13627
  - excludeTargets: Comma separated list of targets to exclude from coverage report
13589
13628
  - includeTargets: Comma separated list of targets to include in coverage report. If specified then exlude_targets will be ignored
13590
13629
  - onlyProjectTargets: Display the coverage only for main project targets (e.g. skip Pods targets)
@@ -13597,7 +13636,7 @@ public func xcodebuild() {
13597
13636
  - legacySupport: Whether xcov should parse a xccoverage file instead on xccovreport
13598
13637
 
13599
13638
  Create nice code coverage reports and post coverage summaries on Slack *(xcov gem is required)*.
13600
- 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).
13601
13640
  */
13602
13641
  public func xcov(workspace: OptionalConfigValue<String?> = .fastlaneDefault(nil),
13603
13642
  project: OptionalConfigValue<String?> = .fastlaneDefault(nil),
@@ -13605,7 +13644,11 @@ public func xcov(workspace: OptionalConfigValue<String?> = .fastlaneDefault(nil)
13605
13644
  configuration: OptionalConfigValue<String?> = .fastlaneDefault(nil),
13606
13645
  sourceDirectory: OptionalConfigValue<String?> = .fastlaneDefault(nil),
13607
13646
  derivedDataPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
13647
+ xccovFileDirectPath: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
13608
13648
  outputDirectory: String = "./xcov_report",
13649
+ clonedSourcePackagesPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
13650
+ useSystemScm: OptionalConfigValue<Bool> = .fastlaneDefault(false),
13651
+ isSwiftPackage: OptionalConfigValue<Bool> = .fastlaneDefault(false),
13609
13652
  htmlReport: OptionalConfigValue<Bool> = .fastlaneDefault(true),
13610
13653
  markdownReport: OptionalConfigValue<Bool> = .fastlaneDefault(false),
13611
13654
  jsonReport: OptionalConfigValue<Bool> = .fastlaneDefault(false),
@@ -13617,6 +13660,7 @@ public func xcov(workspace: OptionalConfigValue<String?> = .fastlaneDefault(nil)
13617
13660
  slackMessage: String = "Your *xcov* coverage report",
13618
13661
  ignoreFilePath: String = "./.xcovignore",
13619
13662
  includeTestTargets: OptionalConfigValue<Bool> = .fastlaneDefault(false),
13663
+ includeZeroTargets: OptionalConfigValue<Bool> = .fastlaneDefault(true),
13620
13664
  excludeTargets: OptionalConfigValue<String?> = .fastlaneDefault(nil),
13621
13665
  includeTargets: OptionalConfigValue<String?> = .fastlaneDefault(nil),
13622
13666
  onlyProjectTargets: OptionalConfigValue<Bool> = .fastlaneDefault(false),
@@ -13634,7 +13678,11 @@ public func xcov(workspace: OptionalConfigValue<String?> = .fastlaneDefault(nil)
13634
13678
  let configurationArg = configuration.asRubyArgument(name: "configuration", type: nil)
13635
13679
  let sourceDirectoryArg = sourceDirectory.asRubyArgument(name: "source_directory", type: nil)
13636
13680
  let derivedDataPathArg = derivedDataPath.asRubyArgument(name: "derived_data_path", type: nil)
13681
+ let xccovFileDirectPathArg = xccovFileDirectPath.asRubyArgument(name: "xccov_file_direct_path", type: nil)
13637
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)
13638
13686
  let htmlReportArg = htmlReport.asRubyArgument(name: "html_report", type: nil)
13639
13687
  let markdownReportArg = markdownReport.asRubyArgument(name: "markdown_report", type: nil)
13640
13688
  let jsonReportArg = jsonReport.asRubyArgument(name: "json_report", type: nil)
@@ -13646,6 +13694,7 @@ public func xcov(workspace: OptionalConfigValue<String?> = .fastlaneDefault(nil)
13646
13694
  let slackMessageArg = RubyCommand.Argument(name: "slack_message", value: slackMessage, type: nil)
13647
13695
  let ignoreFilePathArg = RubyCommand.Argument(name: "ignore_file_path", value: ignoreFilePath, type: nil)
13648
13696
  let includeTestTargetsArg = includeTestTargets.asRubyArgument(name: "include_test_targets", type: nil)
13697
+ let includeZeroTargetsArg = includeZeroTargets.asRubyArgument(name: "include_zero_targets", type: nil)
13649
13698
  let excludeTargetsArg = excludeTargets.asRubyArgument(name: "exclude_targets", type: nil)
13650
13699
  let includeTargetsArg = includeTargets.asRubyArgument(name: "include_targets", type: nil)
13651
13700
  let onlyProjectTargetsArg = onlyProjectTargets.asRubyArgument(name: "only_project_targets", type: nil)
@@ -13662,7 +13711,11 @@ public func xcov(workspace: OptionalConfigValue<String?> = .fastlaneDefault(nil)
13662
13711
  configurationArg,
13663
13712
  sourceDirectoryArg,
13664
13713
  derivedDataPathArg,
13714
+ xccovFileDirectPathArg,
13665
13715
  outputDirectoryArg,
13716
+ clonedSourcePackagesPathArg,
13717
+ useSystemScmArg,
13718
+ isSwiftPackageArg,
13666
13719
  htmlReportArg,
13667
13720
  markdownReportArg,
13668
13721
  jsonReportArg,
@@ -13674,6 +13727,7 @@ public func xcov(workspace: OptionalConfigValue<String?> = .fastlaneDefault(nil)
13674
13727
  slackMessageArg,
13675
13728
  ignoreFilePathArg,
13676
13729
  includeTestTargetsArg,
13730
+ includeZeroTargetsArg,
13677
13731
  excludeTargetsArg,
13678
13732
  includeTargetsArg,
13679
13733
  onlyProjectTargetsArg,
@@ -13774,7 +13828,7 @@ public func xcversion(version: String) {
13774
13828
  return runner.executeCommand(command)
13775
13829
  }
13776
13830
 
13777
- // 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
13778
13832
  func parseArray(fromString: String, function: String = #function) -> [String] {
13779
13833
  verbose(message: "parsing an Array from data: \(fromString), from function: \(function)")
13780
13834
  let potentialArray: String
@@ -13783,8 +13837,7 @@ func parseArray(fromString: String, function: String = #function) -> [String] {
13783
13837
  } else {
13784
13838
  potentialArray = fromString
13785
13839
  }
13786
- let array: [String] = try! JSONSerialization.jsonObject(with: potentialArray.data(using: .utf8)!, options: []) as! [String]
13787
- return array
13840
+ return try! JSONSerialization.jsonObject(with: potentialArray.data(using: .utf8)!, options: []) as! [String]
13788
13841
  }
13789
13842
 
13790
13843
  func parseDictionary(fromString: String, function: String = #function) -> [String: String] {
@@ -13804,8 +13857,7 @@ func parseDictionaryHelper(fromString: String, function: String = #function) ->
13804
13857
  } else {
13805
13858
  potentialDictionary = fromString
13806
13859
  }
13807
- let dictionary: [String: Any] = try! JSONSerialization.jsonObject(with: potentialDictionary.data(using: .utf8)!, options: []) as! [String: Any]
13808
- return dictionary
13860
+ return try! JSONSerialization.jsonObject(with: potentialDictionary.data(using: .utf8)!, options: []) as! [String: Any]
13809
13861
  }
13810
13862
 
13811
13863
  func parseBool(fromString: String, function: String = #function) -> Bool {
@@ -13828,4 +13880,4 @@ public let snapshotfile: Snapshotfile = .init()
13828
13880
 
13829
13881
  // Please don't remove the lines below
13830
13882
  // They are used to detect outdated files
13831
- // FastlaneRunnerAPIVersion [0.9.190]
13883
+ // FastlaneRunnerAPIVersion [0.9.197]