fastlane 2.196.0 → 2.212.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE +1 -1
- data/README.md +88 -81
- data/cert/lib/cert/runner.rb +19 -8
- data/deliver/lib/assets/ScreenshotsHelp +29 -6
- data/deliver/lib/deliver/app_screenshot.rb +30 -4
- data/deliver/lib/deliver/app_screenshot_iterator.rb +1 -1
- data/deliver/lib/deliver/options.rb +6 -2
- data/deliver/lib/deliver/runner.rb +88 -24
- data/deliver/lib/deliver/submit_for_review.rb +25 -3
- data/deliver/lib/deliver/upload_price_tier.rb +3 -1
- data/deliver/lib/deliver/upload_screenshots.rb +2 -2
- data/fastlane/lib/assets/AppfileTemplate +1 -1
- data/fastlane/lib/assets/AppfileTemplate.swift +1 -1
- data/fastlane/lib/fastlane/actions/badge.rb +1 -1
- data/fastlane/lib/fastlane/actions/changelog_from_git_commits.rb +1 -1
- data/fastlane/lib/fastlane/actions/danger.rb +14 -0
- data/fastlane/lib/fastlane/actions/docs/build_app.md +5 -5
- data/fastlane/lib/fastlane/actions/docs/capture_android_screenshots.md +19 -2
- data/fastlane/lib/fastlane/actions/docs/frame_screenshots.md +1 -1
- data/fastlane/lib/fastlane/actions/docs/run_tests.md +1 -1
- data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +1 -1
- data/fastlane/lib/fastlane/actions/download_dsyms.rb +62 -46
- data/fastlane/lib/fastlane/actions/ensure_git_status_clean.rb +15 -4
- data/fastlane/lib/fastlane/actions/ensure_xcode_version.rb +1 -1
- data/fastlane/lib/fastlane/actions/get_push_certificate.rb +1 -1
- data/fastlane/lib/fastlane/actions/get_version_number.rb +8 -3
- data/fastlane/lib/fastlane/actions/git_commit.rb +4 -6
- data/fastlane/lib/fastlane/actions/import_certificate.rb +1 -1
- data/fastlane/lib/fastlane/actions/notarize.rb +29 -11
- data/fastlane/lib/fastlane/actions/pod_lib_lint.rb +1 -1
- data/fastlane/lib/fastlane/actions/pod_push.rb +19 -1
- data/fastlane/lib/fastlane/actions/read_podspec.rb +1 -1
- data/fastlane/lib/fastlane/actions/run_tests.rb +19 -9
- data/fastlane/lib/fastlane/actions/set_github_release.rb +11 -5
- data/fastlane/lib/fastlane/actions/setup_ci.rb +13 -4
- data/fastlane/lib/fastlane/actions/trainer.rb +49 -0
- data/fastlane/lib/fastlane/actions/update_code_signing_settings.rb +31 -4
- data/fastlane/lib/fastlane/actions/update_info_plist.rb +1 -1
- data/fastlane/lib/fastlane/actions/update_project_provisioning.rb +10 -1
- data/fastlane/lib/fastlane/actions/upload_symbols_to_sentry.rb +1 -1
- data/fastlane/lib/fastlane/actions/verify_build.rb +1 -1
- data/fastlane/lib/fastlane/actions/xcode_install.rb +5 -1
- data/fastlane/lib/fastlane/actions/xcode_select.rb +1 -1
- data/fastlane/lib/fastlane/actions/xcodebuild.rb +8 -2
- data/fastlane/lib/fastlane/actions/xcodes.rb +152 -0
- data/fastlane/lib/fastlane/actions/xcov.rb +5 -0
- data/fastlane/lib/fastlane/actions/xcversion.rb +17 -7
- data/fastlane/lib/fastlane/cli_tools_distributor.rb +5 -0
- data/fastlane/lib/fastlane/commands_generator.rb +2 -1
- data/fastlane/lib/fastlane/documentation/docs_generator.rb +17 -12
- data/fastlane/lib/fastlane/fast_file.rb +18 -5
- data/fastlane/lib/fastlane/features.rb +3 -0
- data/fastlane/lib/fastlane/helper/xcodebuild_formatter_helper.rb +9 -0
- data/fastlane/lib/fastlane/helper/xcodes_helper.rb +28 -0
- data/fastlane/lib/fastlane/helper/xcversion_helper.rb +0 -9
- data/fastlane/lib/fastlane/lane_manager.rb +1 -1
- data/fastlane/lib/fastlane/plugins/template/%gem_name%.gemspec.erb +1 -1
- data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +5 -1
- data/fastlane/lib/fastlane/setup/setup_ios.rb +1 -1
- data/fastlane/lib/fastlane/swift_fastlane_api_generator.rb +1 -1
- data/fastlane/lib/fastlane/swift_lane_manager.rb +11 -3
- data/fastlane/lib/fastlane/swift_runner_upgrader.rb +54 -1
- data/fastlane/lib/fastlane/tools.rb +18 -1
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Actions.swift +1 -1
- data/fastlane/swift/Appfile.swift +2 -2
- data/fastlane/swift/ArgumentProcessor.swift +1 -1
- data/fastlane/swift/Atomic.swift +150 -0
- data/fastlane/swift/ControlCommand.swift +1 -1
- data/fastlane/swift/Deliverfile.swift +2 -2
- data/fastlane/swift/DeliverfileProtocol.swift +8 -4
- data/fastlane/swift/Fastlane.swift +570 -239
- data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.pbxproj +30 -20
- data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/xcshareddata/xcschemes/FastlaneRunner.xcscheme +1 -1
- data/fastlane/swift/Gymfile.swift +2 -2
- data/fastlane/swift/GymfileProtocol.swift +20 -8
- data/fastlane/swift/LaneFileProtocol.swift +2 -2
- data/fastlane/swift/MainProcess.swift +3 -3
- data/fastlane/swift/Matchfile.swift +2 -2
- data/fastlane/swift/MatchfileProtocol.swift +21 -5
- data/fastlane/swift/OptionalConfigValue.swift +1 -1
- data/fastlane/swift/Plugins.swift +1 -1
- data/fastlane/swift/Precheckfile.swift +2 -2
- data/fastlane/swift/PrecheckfileProtocol.swift +3 -3
- data/fastlane/swift/RubyCommand.swift +1 -1
- data/fastlane/swift/RubyCommandable.swift +1 -1
- data/fastlane/swift/Runner.swift +13 -9
- data/fastlane/swift/RunnerArgument.swift +1 -1
- data/fastlane/swift/Scanfile.swift +2 -2
- data/fastlane/swift/ScanfileProtocol.swift +31 -11
- data/fastlane/swift/Screengrabfile.swift +2 -2
- data/fastlane/swift/ScreengrabfileProtocol.swift +3 -3
- data/fastlane/swift/Snapshotfile.swift +2 -2
- data/fastlane/swift/SnapshotfileProtocol.swift +12 -8
- data/fastlane/swift/SocketClient.swift +9 -5
- data/fastlane/swift/SocketClientDelegateProtocol.swift +2 -2
- data/fastlane/swift/SocketResponse.swift +1 -1
- data/fastlane/swift/formatting/Brewfile.lock.json +46 -23
- data/fastlane/swift/main.swift +1 -1
- data/fastlane/swift/upgrade_manifest.json +1 -1
- data/fastlane_core/README.md +1 -0
- data/fastlane_core/lib/fastlane_core/cert_checker.rb +79 -17
- data/fastlane_core/lib/fastlane_core/device_manager.rb +5 -1
- data/fastlane_core/lib/fastlane_core/ipa_file_analyser.rb +10 -5
- data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +409 -26
- data/fastlane_core/lib/fastlane_core/keychain_importer.rb +1 -0
- data/fastlane_core/lib/fastlane_core/project.rb +19 -2
- data/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb +7 -0
- data/fastlane_core/lib/fastlane_core/ui/implementations/shell.rb +4 -2
- data/frameit/lib/frameit/device.rb +1 -1
- data/frameit/lib/frameit/device_types.rb +9 -0
- data/frameit/lib/frameit/editor.rb +16 -18
- data/frameit/lib/frameit/frame_downloader.rb +1 -1
- data/frameit/lib/frameit/trim_box.rb +6 -0
- data/gym/lib/gym/generators/build_command_generator.rb +70 -23
- data/gym/lib/gym/options.rb +30 -5
- data/match/lib/match/change_password.rb +2 -0
- data/match/lib/match/commands_generator.rb +2 -1
- data/match/lib/match/encryption/openssl.rb +1 -1
- data/match/lib/match/encryption.rb +3 -0
- data/match/lib/match/generator.rb +1 -0
- data/match/lib/match/importer.rb +10 -1
- data/match/lib/match/migrate.rb +4 -3
- data/match/lib/match/module.rb +54 -2
- data/match/lib/match/nuke.rb +114 -47
- data/match/lib/match/options.rb +22 -1
- data/match/lib/match/runner.rb +25 -6
- data/match/lib/match/setup.rb +1 -1
- data/match/lib/match/spaceship_ensure.rb +5 -2
- data/match/lib/match/storage/gitlab/client.rb +102 -0
- data/match/lib/match/storage/gitlab/secure_file.rb +65 -0
- data/match/lib/match/storage/gitlab_secure_files.rb +182 -0
- data/match/lib/match/storage/google_cloud_storage.rb +7 -6
- data/match/lib/match/storage/s3_storage.rb +3 -3
- data/match/lib/match/storage.rb +4 -0
- data/match/lib/match/table_printer.rb +2 -1
- data/match/lib/match/utils.rb +15 -2
- data/pem/lib/pem/manager.rb +30 -7
- data/pem/lib/pem/options.rb +9 -0
- data/pilot/lib/pilot/build_manager.rb +34 -14
- data/pilot/lib/pilot/options.rb +6 -1
- data/scan/lib/scan/detect_values.rb +6 -0
- data/scan/lib/scan/error_handler.rb +9 -0
- data/scan/lib/scan/options.rb +49 -9
- data/scan/lib/scan/runner.rb +171 -25
- data/scan/lib/scan/test_command_generator.rb +65 -5
- data/sigh/lib/sigh/download_all.rb +14 -2
- data/sigh/lib/sigh/module.rb +3 -1
- data/sigh/lib/sigh/options.rb +5 -0
- data/sigh/lib/sigh/runner.rb +12 -2
- data/snapshot/lib/assets/SnapshotHelper.swift +3 -3
- data/snapshot/lib/snapshot/latest_os_version.rb +2 -5
- data/snapshot/lib/snapshot/options.rb +24 -8
- data/snapshot/lib/snapshot/reports_generator.rb +1 -0
- data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +10 -3
- data/snapshot/lib/snapshot/test_command_generator.rb +37 -2
- data/spaceship/lib/spaceship/client.rb +71 -40
- data/spaceship/lib/spaceship/commands_generator.rb +1 -1
- data/spaceship/lib/spaceship/connect_api/api_client.rb +10 -5
- data/spaceship/lib/spaceship/connect_api/models/actor.rb +26 -0
- data/spaceship/lib/spaceship/connect_api/models/app.rb +52 -6
- data/spaceship/lib/spaceship/connect_api/models/app_info.rb +1 -0
- data/spaceship/lib/spaceship/connect_api/models/app_info_localization.rb +5 -0
- data/spaceship/lib/spaceship/connect_api/models/app_screenshot_set.rb +7 -0
- data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +1 -1
- data/spaceship/lib/spaceship/connect_api/models/app_store_version_localization.rb +27 -10
- data/spaceship/lib/spaceship/connect_api/models/build.rb +4 -2
- data/spaceship/lib/spaceship/connect_api/models/build_bundle.rb +68 -0
- data/spaceship/lib/spaceship/connect_api/models/build_bundle_file_sizes.rb +34 -0
- data/spaceship/lib/spaceship/connect_api/models/build_delivery.rb +2 -1
- data/spaceship/lib/spaceship/connect_api/models/certificate.rb +4 -0
- data/spaceship/lib/spaceship/connect_api/models/device.rb +47 -4
- data/spaceship/lib/spaceship/connect_api/models/profile.rb +4 -0
- data/spaceship/lib/spaceship/connect_api/models/resolution_center_message.rb +29 -0
- data/spaceship/lib/spaceship/connect_api/models/resolution_center_thread.rb +67 -0
- data/spaceship/lib/spaceship/connect_api/models/review_rejection.rb +19 -0
- data/spaceship/lib/spaceship/connect_api/models/review_submission.rb +86 -0
- data/spaceship/lib/spaceship/connect_api/models/review_submission_item.rb +40 -0
- data/spaceship/lib/spaceship/connect_api/models/user.rb +5 -0
- data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +19 -0
- data/spaceship/lib/spaceship/connect_api/response.rb +23 -6
- data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +33 -2
- data/spaceship/lib/spaceship/connect_api/token.rb +5 -2
- data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +124 -8
- data/spaceship/lib/spaceship/connect_api.rb +9 -0
- data/spaceship/lib/spaceship/errors.rb +34 -0
- data/spaceship/lib/spaceship/globals.rb +9 -0
- data/spaceship/lib/spaceship/hashcash.rb +52 -0
- data/spaceship/lib/spaceship/portal/certificate.rb +4 -3
- data/spaceship/lib/spaceship/spaceauth_runner.rb +1 -1
- data/spaceship/lib/spaceship/tunes/app_ratings.rb +6 -6
- data/spaceship/lib/spaceship/tunes/iap_families.rb +1 -1
- data/spaceship/lib/spaceship/tunes/tunes.rb +0 -1
- data/spaceship/lib/spaceship/tunes/tunes_client.rb +79 -21
- data/spaceship/lib/spaceship/two_step_or_factor_client.rb +11 -3
- data/spaceship/lib/spaceship.rb +1 -0
- data/supply/lib/supply/client.rb +2 -7
- data/supply/lib/supply/options.rb +8 -0
- data/supply/lib/supply/uploader.rb +6 -2
- data/trainer/lib/assets/junit.xml.erb +28 -0
- data/trainer/lib/trainer/commands_generator.rb +51 -0
- data/trainer/lib/trainer/junit_generator.rb +31 -0
- data/trainer/lib/trainer/module.rb +10 -0
- data/trainer/lib/trainer/options.rb +66 -0
- data/trainer/lib/trainer/test_parser.rb +398 -0
- data/trainer/lib/trainer/xcresult.rb +403 -0
- data/trainer/lib/trainer.rb +7 -0
- metadata +49 -24
- data/spaceship/lib/spaceship/connect_api/testflight/.testflight.rb.swp +0 -0
- data/spaceship/lib/spaceship/tunes/user_detail.rb +0 -15
@@ -1,5 +1,5 @@
|
|
1
1
|
// Fastlane.swift
|
2
|
-
// Copyright (c)
|
2
|
+
// Copyright (c) 2023 FastlaneTools
|
3
3
|
|
4
4
|
import Foundation
|
5
5
|
/**
|
@@ -661,8 +661,9 @@ public func appledoc(input: [String],
|
|
661
661
|
- skipAppVersionUpdate: Don’t create or update the app version that is being prepared for submission
|
662
662
|
- force: Skip verification of HTML preview file
|
663
663
|
- overwriteScreenshots: Clear all previously uploaded screenshots before uploading the new ones
|
664
|
-
- syncScreenshots: Sync screenshots with local ones. This is currently beta
|
664
|
+
- syncScreenshots: Sync screenshots with local ones. This is currently beta option so set true to 'FASTLANE_ENABLE_BETA_DELIVER_SYNC_SCREENSHOTS' environment variable as well
|
665
665
|
- submitForReview: Submit the new version for Review after uploading everything
|
666
|
+
- verifyOnly: Verifies archive with App Store Connect without uploading
|
666
667
|
- rejectIfPossible: Rejects the previously submitted build if it's in a state where it's possible
|
667
668
|
- automaticRelease: Should the app be automatically released once it's approved? (Can not be used together with `auto_release_date`)
|
668
669
|
- autoReleaseDate: Date in milliseconds for automatically releasing on pending approval (Can not be used together with `automatic_release`)
|
@@ -734,6 +735,7 @@ public func appstore(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault
|
|
734
735
|
overwriteScreenshots: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
735
736
|
syncScreenshots: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
736
737
|
submitForReview: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
738
|
+
verifyOnly: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
737
739
|
rejectIfPossible: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
738
740
|
automaticRelease: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
739
741
|
autoReleaseDate: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
|
@@ -798,6 +800,7 @@ public func appstore(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault
|
|
798
800
|
let overwriteScreenshotsArg = overwriteScreenshots.asRubyArgument(name: "overwrite_screenshots", type: nil)
|
799
801
|
let syncScreenshotsArg = syncScreenshots.asRubyArgument(name: "sync_screenshots", type: nil)
|
800
802
|
let submitForReviewArg = submitForReview.asRubyArgument(name: "submit_for_review", type: nil)
|
803
|
+
let verifyOnlyArg = verifyOnly.asRubyArgument(name: "verify_only", type: nil)
|
801
804
|
let rejectIfPossibleArg = rejectIfPossible.asRubyArgument(name: "reject_if_possible", type: nil)
|
802
805
|
let automaticReleaseArg = automaticRelease.asRubyArgument(name: "automatic_release", type: nil)
|
803
806
|
let autoReleaseDateArg = autoReleaseDate.asRubyArgument(name: "auto_release_date", type: nil)
|
@@ -861,6 +864,7 @@ public func appstore(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault
|
|
861
864
|
overwriteScreenshotsArg,
|
862
865
|
syncScreenshotsArg,
|
863
866
|
submitForReviewArg,
|
867
|
+
verifyOnlyArg,
|
864
868
|
rejectIfPossibleArg,
|
865
869
|
automaticReleaseArg,
|
866
870
|
autoReleaseDateArg,
|
@@ -1111,7 +1115,7 @@ public func backupXcarchive(xcarchive: String,
|
|
1111
1115
|
Automatically add a badge to your app icon
|
1112
1116
|
|
1113
1117
|
- parameters:
|
1114
|
-
- dark: Adds a dark flavored badge
|
1118
|
+
- dark: Adds a dark flavored badge on top of your icon
|
1115
1119
|
- custom: Add your custom overlay/badge image
|
1116
1120
|
- noBadge: Hides the beta badge
|
1117
1121
|
- shield: Add a shield to your app icon from shields.io
|
@@ -1313,15 +1317,18 @@ public func buildAndroidApp(task: OptionalConfigValue<String?> = .fastlaneDefaul
|
|
1313
1317
|
- xcargs: Pass additional arguments to xcodebuild for the build phase. Be sure to quote the setting names and values e.g. OTHER_LDFLAGS="-ObjC -lstdc++"
|
1314
1318
|
- xcconfig: Use an extra XCCONFIG file to build your app
|
1315
1319
|
- suppressXcodeOutput: Suppress the output of xcodebuild to stdout. Output is still saved in buildlog_path
|
1316
|
-
-
|
1320
|
+
- xcodebuildFormatter: xcodebuild formatter to use (ex: 'xcbeautify', 'xcbeautify --quieter', 'xcpretty', 'xcpretty -test'). Use empty string (ex: '') to disable any formatter (More information: https://docs.fastlane.tools/best-practices/xcodebuild-formatters/)
|
1321
|
+
- buildTimingSummary: Create a build timing summary
|
1322
|
+
- disableXcpretty: **DEPRECATED!** Use `xcodebuild_formatter: ''` instead - Disable xcpretty formatting of build output
|
1317
1323
|
- xcprettyTestFormat: Use the test (RSpec style) format for build output
|
1318
1324
|
- xcprettyFormatter: A custom xcpretty formatter to use
|
1319
1325
|
- xcprettyReportJunit: Have xcpretty create a JUnit-style XML report at the provided path
|
1320
1326
|
- xcprettyReportHtml: Have xcpretty create a simple HTML report at the provided path
|
1321
1327
|
- xcprettyReportJson: Have xcpretty create a JSON compilation database at the provided path
|
1322
|
-
- analyzeBuildTime: Analyze the project build time and store the output in 'culprits.txt' file
|
1323
1328
|
- xcprettyUtf: Have xcpretty use unicode encoding when reporting builds
|
1329
|
+
- analyzeBuildTime: Analyze the project build time and store the output in 'culprits.txt' file
|
1324
1330
|
- skipProfileDetection: Do not try to build a profile mapping from the xcodeproj. Match or a manually provided mapping should be used
|
1331
|
+
- xcodebuildCommand: Allows for override of the default `xcodebuild` command
|
1325
1332
|
- clonedSourcePackagesPath: Sets a custom path for Swift Package Manager dependencies
|
1326
1333
|
- skipPackageDependenciesResolution: Skips resolution of Swift Package Manager dependencies
|
1327
1334
|
- disablePackageAutomaticUpdates: Prevents packages from automatically being resolved to versions other than those recorded in the `Package.resolved` file
|
@@ -1365,15 +1372,18 @@ public func buildAndroidApp(task: OptionalConfigValue<String?> = .fastlaneDefaul
|
|
1365
1372
|
xcargs: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
1366
1373
|
xcconfig: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
1367
1374
|
suppressXcodeOutput: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
1375
|
+
xcodebuildFormatter: String = "xcbeautify",
|
1376
|
+
buildTimingSummary: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
1368
1377
|
disableXcpretty: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
1369
1378
|
xcprettyTestFormat: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
1370
1379
|
xcprettyFormatter: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
1371
1380
|
xcprettyReportJunit: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
1372
1381
|
xcprettyReportHtml: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
1373
1382
|
xcprettyReportJson: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
1374
|
-
analyzeBuildTime: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
1375
1383
|
xcprettyUtf: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
1384
|
+
analyzeBuildTime: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
1376
1385
|
skipProfileDetection: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
1386
|
+
xcodebuildCommand: String = "xcodebuild",
|
1377
1387
|
clonedSourcePackagesPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
1378
1388
|
skipPackageDependenciesResolution: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
1379
1389
|
disablePackageAutomaticUpdates: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
@@ -1413,15 +1423,18 @@ public func buildAndroidApp(task: OptionalConfigValue<String?> = .fastlaneDefaul
|
|
1413
1423
|
let xcargsArg = xcargs.asRubyArgument(name: "xcargs", type: nil)
|
1414
1424
|
let xcconfigArg = xcconfig.asRubyArgument(name: "xcconfig", type: nil)
|
1415
1425
|
let suppressXcodeOutputArg = suppressXcodeOutput.asRubyArgument(name: "suppress_xcode_output", type: nil)
|
1426
|
+
let xcodebuildFormatterArg = RubyCommand.Argument(name: "xcodebuild_formatter", value: xcodebuildFormatter, type: nil)
|
1427
|
+
let buildTimingSummaryArg = buildTimingSummary.asRubyArgument(name: "build_timing_summary", type: nil)
|
1416
1428
|
let disableXcprettyArg = disableXcpretty.asRubyArgument(name: "disable_xcpretty", type: nil)
|
1417
1429
|
let xcprettyTestFormatArg = xcprettyTestFormat.asRubyArgument(name: "xcpretty_test_format", type: nil)
|
1418
1430
|
let xcprettyFormatterArg = xcprettyFormatter.asRubyArgument(name: "xcpretty_formatter", type: nil)
|
1419
1431
|
let xcprettyReportJunitArg = xcprettyReportJunit.asRubyArgument(name: "xcpretty_report_junit", type: nil)
|
1420
1432
|
let xcprettyReportHtmlArg = xcprettyReportHtml.asRubyArgument(name: "xcpretty_report_html", type: nil)
|
1421
1433
|
let xcprettyReportJsonArg = xcprettyReportJson.asRubyArgument(name: "xcpretty_report_json", type: nil)
|
1422
|
-
let analyzeBuildTimeArg = analyzeBuildTime.asRubyArgument(name: "analyze_build_time", type: nil)
|
1423
1434
|
let xcprettyUtfArg = xcprettyUtf.asRubyArgument(name: "xcpretty_utf", type: nil)
|
1435
|
+
let analyzeBuildTimeArg = analyzeBuildTime.asRubyArgument(name: "analyze_build_time", type: nil)
|
1424
1436
|
let skipProfileDetectionArg = skipProfileDetection.asRubyArgument(name: "skip_profile_detection", type: nil)
|
1437
|
+
let xcodebuildCommandArg = RubyCommand.Argument(name: "xcodebuild_command", value: xcodebuildCommand, type: nil)
|
1425
1438
|
let clonedSourcePackagesPathArg = clonedSourcePackagesPath.asRubyArgument(name: "cloned_source_packages_path", type: nil)
|
1426
1439
|
let skipPackageDependenciesResolutionArg = skipPackageDependenciesResolution.asRubyArgument(name: "skip_package_dependencies_resolution", type: nil)
|
1427
1440
|
let disablePackageAutomaticUpdatesArg = disablePackageAutomaticUpdates.asRubyArgument(name: "disable_package_automatic_updates", type: nil)
|
@@ -1460,15 +1473,18 @@ public func buildAndroidApp(task: OptionalConfigValue<String?> = .fastlaneDefaul
|
|
1460
1473
|
xcargsArg,
|
1461
1474
|
xcconfigArg,
|
1462
1475
|
suppressXcodeOutputArg,
|
1476
|
+
xcodebuildFormatterArg,
|
1477
|
+
buildTimingSummaryArg,
|
1463
1478
|
disableXcprettyArg,
|
1464
1479
|
xcprettyTestFormatArg,
|
1465
1480
|
xcprettyFormatterArg,
|
1466
1481
|
xcprettyReportJunitArg,
|
1467
1482
|
xcprettyReportHtmlArg,
|
1468
1483
|
xcprettyReportJsonArg,
|
1469
|
-
analyzeBuildTimeArg,
|
1470
1484
|
xcprettyUtfArg,
|
1485
|
+
analyzeBuildTimeArg,
|
1471
1486
|
skipProfileDetectionArg,
|
1487
|
+
xcodebuildCommandArg,
|
1472
1488
|
clonedSourcePackagesPathArg,
|
1473
1489
|
skipPackageDependenciesResolutionArg,
|
1474
1490
|
disablePackageAutomaticUpdatesArg,
|
@@ -1515,15 +1531,18 @@ public func buildAndroidApp(task: OptionalConfigValue<String?> = .fastlaneDefaul
|
|
1515
1531
|
- xcargs: Pass additional arguments to xcodebuild for the build phase. Be sure to quote the setting names and values e.g. OTHER_LDFLAGS="-ObjC -lstdc++"
|
1516
1532
|
- xcconfig: Use an extra XCCONFIG file to build your app
|
1517
1533
|
- suppressXcodeOutput: Suppress the output of xcodebuild to stdout. Output is still saved in buildlog_path
|
1518
|
-
-
|
1534
|
+
- xcodebuildFormatter: xcodebuild formatter to use (ex: 'xcbeautify', 'xcbeautify --quieter', 'xcpretty', 'xcpretty -test'). Use empty string (ex: '') to disable any formatter (More information: https://docs.fastlane.tools/best-practices/xcodebuild-formatters/)
|
1535
|
+
- buildTimingSummary: Create a build timing summary
|
1536
|
+
- disableXcpretty: **DEPRECATED!** Use `xcodebuild_formatter: ''` instead - Disable xcpretty formatting of build output
|
1519
1537
|
- xcprettyTestFormat: Use the test (RSpec style) format for build output
|
1520
1538
|
- xcprettyFormatter: A custom xcpretty formatter to use
|
1521
1539
|
- xcprettyReportJunit: Have xcpretty create a JUnit-style XML report at the provided path
|
1522
1540
|
- xcprettyReportHtml: Have xcpretty create a simple HTML report at the provided path
|
1523
1541
|
- xcprettyReportJson: Have xcpretty create a JSON compilation database at the provided path
|
1524
|
-
- analyzeBuildTime: Analyze the project build time and store the output in 'culprits.txt' file
|
1525
1542
|
- xcprettyUtf: Have xcpretty use unicode encoding when reporting builds
|
1543
|
+
- analyzeBuildTime: Analyze the project build time and store the output in 'culprits.txt' file
|
1526
1544
|
- skipProfileDetection: Do not try to build a profile mapping from the xcodeproj. Match or a manually provided mapping should be used
|
1545
|
+
- xcodebuildCommand: Allows for override of the default `xcodebuild` command
|
1527
1546
|
- clonedSourcePackagesPath: Sets a custom path for Swift Package Manager dependencies
|
1528
1547
|
- skipPackageDependenciesResolution: Skips resolution of Swift Package Manager dependencies
|
1529
1548
|
- disablePackageAutomaticUpdates: Prevents packages from automatically being resolved to versions other than those recorded in the `Package.resolved` file
|
@@ -1564,15 +1583,18 @@ public func buildAndroidApp(task: OptionalConfigValue<String?> = .fastlaneDefaul
|
|
1564
1583
|
xcargs: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
1565
1584
|
xcconfig: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
1566
1585
|
suppressXcodeOutput: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
1586
|
+
xcodebuildFormatter: String = "xcbeautify",
|
1587
|
+
buildTimingSummary: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
1567
1588
|
disableXcpretty: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
1568
1589
|
xcprettyTestFormat: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
1569
1590
|
xcprettyFormatter: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
1570
1591
|
xcprettyReportJunit: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
1571
1592
|
xcprettyReportHtml: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
1572
1593
|
xcprettyReportJson: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
1573
|
-
analyzeBuildTime: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
1574
1594
|
xcprettyUtf: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
1595
|
+
analyzeBuildTime: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
1575
1596
|
skipProfileDetection: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
1597
|
+
xcodebuildCommand: String = "xcodebuild",
|
1576
1598
|
clonedSourcePackagesPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
1577
1599
|
skipPackageDependenciesResolution: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
1578
1600
|
disablePackageAutomaticUpdates: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
@@ -1609,15 +1631,18 @@ public func buildAndroidApp(task: OptionalConfigValue<String?> = .fastlaneDefaul
|
|
1609
1631
|
let xcargsArg = xcargs.asRubyArgument(name: "xcargs", type: nil)
|
1610
1632
|
let xcconfigArg = xcconfig.asRubyArgument(name: "xcconfig", type: nil)
|
1611
1633
|
let suppressXcodeOutputArg = suppressXcodeOutput.asRubyArgument(name: "suppress_xcode_output", type: nil)
|
1634
|
+
let xcodebuildFormatterArg = RubyCommand.Argument(name: "xcodebuild_formatter", value: xcodebuildFormatter, type: nil)
|
1635
|
+
let buildTimingSummaryArg = buildTimingSummary.asRubyArgument(name: "build_timing_summary", type: nil)
|
1612
1636
|
let disableXcprettyArg = disableXcpretty.asRubyArgument(name: "disable_xcpretty", type: nil)
|
1613
1637
|
let xcprettyTestFormatArg = xcprettyTestFormat.asRubyArgument(name: "xcpretty_test_format", type: nil)
|
1614
1638
|
let xcprettyFormatterArg = xcprettyFormatter.asRubyArgument(name: "xcpretty_formatter", type: nil)
|
1615
1639
|
let xcprettyReportJunitArg = xcprettyReportJunit.asRubyArgument(name: "xcpretty_report_junit", type: nil)
|
1616
1640
|
let xcprettyReportHtmlArg = xcprettyReportHtml.asRubyArgument(name: "xcpretty_report_html", type: nil)
|
1617
1641
|
let xcprettyReportJsonArg = xcprettyReportJson.asRubyArgument(name: "xcpretty_report_json", type: nil)
|
1618
|
-
let analyzeBuildTimeArg = analyzeBuildTime.asRubyArgument(name: "analyze_build_time", type: nil)
|
1619
1642
|
let xcprettyUtfArg = xcprettyUtf.asRubyArgument(name: "xcpretty_utf", type: nil)
|
1643
|
+
let analyzeBuildTimeArg = analyzeBuildTime.asRubyArgument(name: "analyze_build_time", type: nil)
|
1620
1644
|
let skipProfileDetectionArg = skipProfileDetection.asRubyArgument(name: "skip_profile_detection", type: nil)
|
1645
|
+
let xcodebuildCommandArg = RubyCommand.Argument(name: "xcodebuild_command", value: xcodebuildCommand, type: nil)
|
1621
1646
|
let clonedSourcePackagesPathArg = clonedSourcePackagesPath.asRubyArgument(name: "cloned_source_packages_path", type: nil)
|
1622
1647
|
let skipPackageDependenciesResolutionArg = skipPackageDependenciesResolution.asRubyArgument(name: "skip_package_dependencies_resolution", type: nil)
|
1623
1648
|
let disablePackageAutomaticUpdatesArg = disablePackageAutomaticUpdates.asRubyArgument(name: "disable_package_automatic_updates", type: nil)
|
@@ -1653,15 +1678,18 @@ public func buildAndroidApp(task: OptionalConfigValue<String?> = .fastlaneDefaul
|
|
1653
1678
|
xcargsArg,
|
1654
1679
|
xcconfigArg,
|
1655
1680
|
suppressXcodeOutputArg,
|
1681
|
+
xcodebuildFormatterArg,
|
1682
|
+
buildTimingSummaryArg,
|
1656
1683
|
disableXcprettyArg,
|
1657
1684
|
xcprettyTestFormatArg,
|
1658
1685
|
xcprettyFormatterArg,
|
1659
1686
|
xcprettyReportJunitArg,
|
1660
1687
|
xcprettyReportHtmlArg,
|
1661
1688
|
xcprettyReportJsonArg,
|
1662
|
-
analyzeBuildTimeArg,
|
1663
1689
|
xcprettyUtfArg,
|
1690
|
+
analyzeBuildTimeArg,
|
1664
1691
|
skipProfileDetectionArg,
|
1692
|
+
xcodebuildCommandArg,
|
1665
1693
|
clonedSourcePackagesPathArg,
|
1666
1694
|
skipPackageDependenciesResolutionArg,
|
1667
1695
|
disablePackageAutomaticUpdatesArg,
|
@@ -1709,15 +1737,18 @@ public func buildAndroidApp(task: OptionalConfigValue<String?> = .fastlaneDefaul
|
|
1709
1737
|
- xcargs: Pass additional arguments to xcodebuild for the build phase. Be sure to quote the setting names and values e.g. OTHER_LDFLAGS="-ObjC -lstdc++"
|
1710
1738
|
- xcconfig: Use an extra XCCONFIG file to build your app
|
1711
1739
|
- suppressXcodeOutput: Suppress the output of xcodebuild to stdout. Output is still saved in buildlog_path
|
1712
|
-
-
|
1740
|
+
- xcodebuildFormatter: xcodebuild formatter to use (ex: 'xcbeautify', 'xcbeautify --quieter', 'xcpretty', 'xcpretty -test'). Use empty string (ex: '') to disable any formatter (More information: https://docs.fastlane.tools/best-practices/xcodebuild-formatters/)
|
1741
|
+
- buildTimingSummary: Create a build timing summary
|
1742
|
+
- disableXcpretty: **DEPRECATED!** Use `xcodebuild_formatter: ''` instead - Disable xcpretty formatting of build output
|
1713
1743
|
- xcprettyTestFormat: Use the test (RSpec style) format for build output
|
1714
1744
|
- xcprettyFormatter: A custom xcpretty formatter to use
|
1715
1745
|
- xcprettyReportJunit: Have xcpretty create a JUnit-style XML report at the provided path
|
1716
1746
|
- xcprettyReportHtml: Have xcpretty create a simple HTML report at the provided path
|
1717
1747
|
- xcprettyReportJson: Have xcpretty create a JSON compilation database at the provided path
|
1718
|
-
- analyzeBuildTime: Analyze the project build time and store the output in 'culprits.txt' file
|
1719
1748
|
- xcprettyUtf: Have xcpretty use unicode encoding when reporting builds
|
1749
|
+
- analyzeBuildTime: Analyze the project build time and store the output in 'culprits.txt' file
|
1720
1750
|
- skipProfileDetection: Do not try to build a profile mapping from the xcodeproj. Match or a manually provided mapping should be used
|
1751
|
+
- xcodebuildCommand: Allows for override of the default `xcodebuild` command
|
1721
1752
|
- clonedSourcePackagesPath: Sets a custom path for Swift Package Manager dependencies
|
1722
1753
|
- skipPackageDependenciesResolution: Skips resolution of Swift Package Manager dependencies
|
1723
1754
|
- disablePackageAutomaticUpdates: Prevents packages from automatically being resolved to versions other than those recorded in the `Package.resolved` file
|
@@ -1759,15 +1790,18 @@ public func buildAndroidApp(task: OptionalConfigValue<String?> = .fastlaneDefaul
|
|
1759
1790
|
xcargs: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
1760
1791
|
xcconfig: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
1761
1792
|
suppressXcodeOutput: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
1793
|
+
xcodebuildFormatter: String = "xcbeautify",
|
1794
|
+
buildTimingSummary: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
1762
1795
|
disableXcpretty: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
1763
1796
|
xcprettyTestFormat: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
1764
1797
|
xcprettyFormatter: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
1765
1798
|
xcprettyReportJunit: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
1766
1799
|
xcprettyReportHtml: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
1767
1800
|
xcprettyReportJson: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
1768
|
-
analyzeBuildTime: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
1769
1801
|
xcprettyUtf: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
1802
|
+
analyzeBuildTime: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
1770
1803
|
skipProfileDetection: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
1804
|
+
xcodebuildCommand: String = "xcodebuild",
|
1771
1805
|
clonedSourcePackagesPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
1772
1806
|
skipPackageDependenciesResolution: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
1773
1807
|
disablePackageAutomaticUpdates: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
@@ -1805,15 +1839,18 @@ public func buildAndroidApp(task: OptionalConfigValue<String?> = .fastlaneDefaul
|
|
1805
1839
|
let xcargsArg = xcargs.asRubyArgument(name: "xcargs", type: nil)
|
1806
1840
|
let xcconfigArg = xcconfig.asRubyArgument(name: "xcconfig", type: nil)
|
1807
1841
|
let suppressXcodeOutputArg = suppressXcodeOutput.asRubyArgument(name: "suppress_xcode_output", type: nil)
|
1842
|
+
let xcodebuildFormatterArg = RubyCommand.Argument(name: "xcodebuild_formatter", value: xcodebuildFormatter, type: nil)
|
1843
|
+
let buildTimingSummaryArg = buildTimingSummary.asRubyArgument(name: "build_timing_summary", type: nil)
|
1808
1844
|
let disableXcprettyArg = disableXcpretty.asRubyArgument(name: "disable_xcpretty", type: nil)
|
1809
1845
|
let xcprettyTestFormatArg = xcprettyTestFormat.asRubyArgument(name: "xcpretty_test_format", type: nil)
|
1810
1846
|
let xcprettyFormatterArg = xcprettyFormatter.asRubyArgument(name: "xcpretty_formatter", type: nil)
|
1811
1847
|
let xcprettyReportJunitArg = xcprettyReportJunit.asRubyArgument(name: "xcpretty_report_junit", type: nil)
|
1812
1848
|
let xcprettyReportHtmlArg = xcprettyReportHtml.asRubyArgument(name: "xcpretty_report_html", type: nil)
|
1813
1849
|
let xcprettyReportJsonArg = xcprettyReportJson.asRubyArgument(name: "xcpretty_report_json", type: nil)
|
1814
|
-
let analyzeBuildTimeArg = analyzeBuildTime.asRubyArgument(name: "analyze_build_time", type: nil)
|
1815
1850
|
let xcprettyUtfArg = xcprettyUtf.asRubyArgument(name: "xcpretty_utf", type: nil)
|
1851
|
+
let analyzeBuildTimeArg = analyzeBuildTime.asRubyArgument(name: "analyze_build_time", type: nil)
|
1816
1852
|
let skipProfileDetectionArg = skipProfileDetection.asRubyArgument(name: "skip_profile_detection", type: nil)
|
1853
|
+
let xcodebuildCommandArg = RubyCommand.Argument(name: "xcodebuild_command", value: xcodebuildCommand, type: nil)
|
1817
1854
|
let clonedSourcePackagesPathArg = clonedSourcePackagesPath.asRubyArgument(name: "cloned_source_packages_path", type: nil)
|
1818
1855
|
let skipPackageDependenciesResolutionArg = skipPackageDependenciesResolution.asRubyArgument(name: "skip_package_dependencies_resolution", type: nil)
|
1819
1856
|
let disablePackageAutomaticUpdatesArg = disablePackageAutomaticUpdates.asRubyArgument(name: "disable_package_automatic_updates", type: nil)
|
@@ -1850,15 +1887,18 @@ public func buildAndroidApp(task: OptionalConfigValue<String?> = .fastlaneDefaul
|
|
1850
1887
|
xcargsArg,
|
1851
1888
|
xcconfigArg,
|
1852
1889
|
suppressXcodeOutputArg,
|
1890
|
+
xcodebuildFormatterArg,
|
1891
|
+
buildTimingSummaryArg,
|
1853
1892
|
disableXcprettyArg,
|
1854
1893
|
xcprettyTestFormatArg,
|
1855
1894
|
xcprettyFormatterArg,
|
1856
1895
|
xcprettyReportJunitArg,
|
1857
1896
|
xcprettyReportHtmlArg,
|
1858
1897
|
xcprettyReportJsonArg,
|
1859
|
-
analyzeBuildTimeArg,
|
1860
1898
|
xcprettyUtfArg,
|
1899
|
+
analyzeBuildTimeArg,
|
1861
1900
|
skipProfileDetectionArg,
|
1901
|
+
xcodebuildCommandArg,
|
1862
1902
|
clonedSourcePackagesPathArg,
|
1863
1903
|
skipPackageDependenciesResolutionArg,
|
1864
1904
|
disablePackageAutomaticUpdatesArg,
|
@@ -2085,7 +2125,7 @@ public func captureAndroidScreenshots(androidHome: OptionalConfigValue<String?>
|
|
2085
2125
|
- eraseSimulator: Enabling this option will automatically erase the simulator before running the application
|
2086
2126
|
- headless: Enabling this option will prevent displaying the simulator window
|
2087
2127
|
- overrideStatusBar: Enabling this option will automatically override the status bar to show 9:41 AM, full battery, and full reception (Adjust 'SNAPSHOT_SIMULATOR_WAIT_FOR_BOOT_TIMEOUT' environment variable if override status bar is not working. Might be because simulator is not fully booted. Defaults to 10 seconds)
|
2088
|
-
- overrideStatusBarArguments: Fully customize the status bar by setting each option here. See `xcrun simctl status_bar --help`
|
2128
|
+
- overrideStatusBarArguments: Fully customize the status bar by setting each option here. Requires `override_status_bar` to be set to `true`. See `xcrun simctl status_bar --help`
|
2089
2129
|
- localizeSimulator: Enabling this option will configure the Simulator's system language
|
2090
2130
|
- darkMode: Enabling this option will configure the Simulator to be in dark mode (false for light, true for dark)
|
2091
2131
|
- appIdentifier: The bundle identifier of the app to uninstall (only needed when enabling reinstall_app)
|
@@ -2096,7 +2136,6 @@ public func captureAndroidScreenshots(androidHome: OptionalConfigValue<String?>
|
|
2096
2136
|
- clean: Should the project be cleaned before building it?
|
2097
2137
|
- testWithoutBuilding: Test without building, requires a derived data path
|
2098
2138
|
- configuration: The configuration to use when building the app. Defaults to 'Release'
|
2099
|
-
- xcprettyArgs: Additional xcpretty arguments
|
2100
2139
|
- sdk: The SDK that should be used for building the application
|
2101
2140
|
- scheme: The scheme you want to use, this must be the scheme for the UI Tests
|
2102
2141
|
- numberOfRetries: The number of times a test can fail before snapshot should stop retrying
|
@@ -2113,6 +2152,8 @@ public func captureAndroidScreenshots(androidHome: OptionalConfigValue<String?>
|
|
2113
2152
|
- testplan: The testplan associated with the scheme that should be used for testing
|
2114
2153
|
- onlyTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to run
|
2115
2154
|
- skipTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to skip
|
2155
|
+
- xcodebuildFormatter: xcodebuild formatter to use (ex: 'xcbeautify', 'xcbeautify --quieter', 'xcpretty', 'xcpretty -test'). Use empty string (ex: '') to disable any formatter (More information: https://docs.fastlane.tools/best-practices/xcodebuild-formatters/)
|
2156
|
+
- xcprettyArgs: **DEPRECATED!** Use `xcodebuild_formatter: ''` instead - Additional xcpretty arguments
|
2116
2157
|
- disableXcpretty: Disable xcpretty formatting of build
|
2117
2158
|
- suppressXcodeOutput: Suppress the output of xcodebuild to stdout. Output is still saved in buildlog_path
|
2118
2159
|
- useSystemScm: Lets xcodebuild use system's scm configuration
|
@@ -2145,7 +2186,6 @@ public func captureIosScreenshots(workspace: OptionalConfigValue<String?> = .fas
|
|
2145
2186
|
clean: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
2146
2187
|
testWithoutBuilding: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
2147
2188
|
configuration: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
2148
|
-
xcprettyArgs: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
2149
2189
|
sdk: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
2150
2190
|
scheme: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
2151
2191
|
numberOfRetries: Int = 1,
|
@@ -2162,6 +2202,8 @@ public func captureIosScreenshots(workspace: OptionalConfigValue<String?> = .fas
|
|
2162
2202
|
testplan: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
2163
2203
|
onlyTesting: Any? = nil,
|
2164
2204
|
skipTesting: Any? = nil,
|
2205
|
+
xcodebuildFormatter: String = "xcbeautify",
|
2206
|
+
xcprettyArgs: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
2165
2207
|
disableXcpretty: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
2166
2208
|
suppressXcodeOutput: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
2167
2209
|
useSystemScm: OptionalConfigValue<Bool> = .fastlaneDefault(false))
|
@@ -2194,7 +2236,6 @@ public func captureIosScreenshots(workspace: OptionalConfigValue<String?> = .fas
|
|
2194
2236
|
let cleanArg = clean.asRubyArgument(name: "clean", type: nil)
|
2195
2237
|
let testWithoutBuildingArg = testWithoutBuilding.asRubyArgument(name: "test_without_building", type: nil)
|
2196
2238
|
let configurationArg = configuration.asRubyArgument(name: "configuration", type: nil)
|
2197
|
-
let xcprettyArgsArg = xcprettyArgs.asRubyArgument(name: "xcpretty_args", type: nil)
|
2198
2239
|
let sdkArg = sdk.asRubyArgument(name: "sdk", type: nil)
|
2199
2240
|
let schemeArg = scheme.asRubyArgument(name: "scheme", type: nil)
|
2200
2241
|
let numberOfRetriesArg = RubyCommand.Argument(name: "number_of_retries", value: numberOfRetries, type: nil)
|
@@ -2211,6 +2252,8 @@ public func captureIosScreenshots(workspace: OptionalConfigValue<String?> = .fas
|
|
2211
2252
|
let testplanArg = testplan.asRubyArgument(name: "testplan", type: nil)
|
2212
2253
|
let onlyTestingArg = RubyCommand.Argument(name: "only_testing", value: onlyTesting, type: nil)
|
2213
2254
|
let skipTestingArg = RubyCommand.Argument(name: "skip_testing", value: skipTesting, type: nil)
|
2255
|
+
let xcodebuildFormatterArg = RubyCommand.Argument(name: "xcodebuild_formatter", value: xcodebuildFormatter, type: nil)
|
2256
|
+
let xcprettyArgsArg = xcprettyArgs.asRubyArgument(name: "xcpretty_args", type: nil)
|
2214
2257
|
let disableXcprettyArg = disableXcpretty.asRubyArgument(name: "disable_xcpretty", type: nil)
|
2215
2258
|
let suppressXcodeOutputArg = suppressXcodeOutput.asRubyArgument(name: "suppress_xcode_output", type: nil)
|
2216
2259
|
let useSystemScmArg = useSystemScm.asRubyArgument(name: "use_system_scm", type: nil)
|
@@ -2242,7 +2285,6 @@ public func captureIosScreenshots(workspace: OptionalConfigValue<String?> = .fas
|
|
2242
2285
|
cleanArg,
|
2243
2286
|
testWithoutBuildingArg,
|
2244
2287
|
configurationArg,
|
2245
|
-
xcprettyArgsArg,
|
2246
2288
|
sdkArg,
|
2247
2289
|
schemeArg,
|
2248
2290
|
numberOfRetriesArg,
|
@@ -2259,6 +2301,8 @@ public func captureIosScreenshots(workspace: OptionalConfigValue<String?> = .fas
|
|
2259
2301
|
testplanArg,
|
2260
2302
|
onlyTestingArg,
|
2261
2303
|
skipTestingArg,
|
2304
|
+
xcodebuildFormatterArg,
|
2305
|
+
xcprettyArgsArg,
|
2262
2306
|
disableXcprettyArg,
|
2263
2307
|
suppressXcodeOutputArg,
|
2264
2308
|
useSystemScmArg]
|
@@ -2290,7 +2334,7 @@ public func captureIosScreenshots(workspace: OptionalConfigValue<String?> = .fas
|
|
2290
2334
|
- eraseSimulator: Enabling this option will automatically erase the simulator before running the application
|
2291
2335
|
- headless: Enabling this option will prevent displaying the simulator window
|
2292
2336
|
- overrideStatusBar: Enabling this option will automatically override the status bar to show 9:41 AM, full battery, and full reception (Adjust 'SNAPSHOT_SIMULATOR_WAIT_FOR_BOOT_TIMEOUT' environment variable if override status bar is not working. Might be because simulator is not fully booted. Defaults to 10 seconds)
|
2293
|
-
- overrideStatusBarArguments: Fully customize the status bar by setting each option here. See `xcrun simctl status_bar --help`
|
2337
|
+
- overrideStatusBarArguments: Fully customize the status bar by setting each option here. Requires `override_status_bar` to be set to `true`. See `xcrun simctl status_bar --help`
|
2294
2338
|
- localizeSimulator: Enabling this option will configure the Simulator's system language
|
2295
2339
|
- darkMode: Enabling this option will configure the Simulator to be in dark mode (false for light, true for dark)
|
2296
2340
|
- appIdentifier: The bundle identifier of the app to uninstall (only needed when enabling reinstall_app)
|
@@ -2301,7 +2345,6 @@ public func captureIosScreenshots(workspace: OptionalConfigValue<String?> = .fas
|
|
2301
2345
|
- clean: Should the project be cleaned before building it?
|
2302
2346
|
- testWithoutBuilding: Test without building, requires a derived data path
|
2303
2347
|
- configuration: The configuration to use when building the app. Defaults to 'Release'
|
2304
|
-
- xcprettyArgs: Additional xcpretty arguments
|
2305
2348
|
- sdk: The SDK that should be used for building the application
|
2306
2349
|
- scheme: The scheme you want to use, this must be the scheme for the UI Tests
|
2307
2350
|
- numberOfRetries: The number of times a test can fail before snapshot should stop retrying
|
@@ -2318,6 +2361,8 @@ public func captureIosScreenshots(workspace: OptionalConfigValue<String?> = .fas
|
|
2318
2361
|
- testplan: The testplan associated with the scheme that should be used for testing
|
2319
2362
|
- onlyTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to run
|
2320
2363
|
- skipTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to skip
|
2364
|
+
- xcodebuildFormatter: xcodebuild formatter to use (ex: 'xcbeautify', 'xcbeautify --quieter', 'xcpretty', 'xcpretty -test'). Use empty string (ex: '') to disable any formatter (More information: https://docs.fastlane.tools/best-practices/xcodebuild-formatters/)
|
2365
|
+
- xcprettyArgs: **DEPRECATED!** Use `xcodebuild_formatter: ''` instead - Additional xcpretty arguments
|
2321
2366
|
- disableXcpretty: Disable xcpretty formatting of build
|
2322
2367
|
- suppressXcodeOutput: Suppress the output of xcodebuild to stdout. Output is still saved in buildlog_path
|
2323
2368
|
- useSystemScm: Lets xcodebuild use system's scm configuration
|
@@ -2350,7 +2395,6 @@ public func captureScreenshots(workspace: OptionalConfigValue<String?> = .fastla
|
|
2350
2395
|
clean: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
2351
2396
|
testWithoutBuilding: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
2352
2397
|
configuration: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
2353
|
-
xcprettyArgs: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
2354
2398
|
sdk: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
2355
2399
|
scheme: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
2356
2400
|
numberOfRetries: Int = 1,
|
@@ -2367,6 +2411,8 @@ public func captureScreenshots(workspace: OptionalConfigValue<String?> = .fastla
|
|
2367
2411
|
testplan: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
2368
2412
|
onlyTesting: Any? = nil,
|
2369
2413
|
skipTesting: Any? = nil,
|
2414
|
+
xcodebuildFormatter: String = "xcbeautify",
|
2415
|
+
xcprettyArgs: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
2370
2416
|
disableXcpretty: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
2371
2417
|
suppressXcodeOutput: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
2372
2418
|
useSystemScm: OptionalConfigValue<Bool> = .fastlaneDefault(false))
|
@@ -2399,7 +2445,6 @@ public func captureScreenshots(workspace: OptionalConfigValue<String?> = .fastla
|
|
2399
2445
|
let cleanArg = clean.asRubyArgument(name: "clean", type: nil)
|
2400
2446
|
let testWithoutBuildingArg = testWithoutBuilding.asRubyArgument(name: "test_without_building", type: nil)
|
2401
2447
|
let configurationArg = configuration.asRubyArgument(name: "configuration", type: nil)
|
2402
|
-
let xcprettyArgsArg = xcprettyArgs.asRubyArgument(name: "xcpretty_args", type: nil)
|
2403
2448
|
let sdkArg = sdk.asRubyArgument(name: "sdk", type: nil)
|
2404
2449
|
let schemeArg = scheme.asRubyArgument(name: "scheme", type: nil)
|
2405
2450
|
let numberOfRetriesArg = RubyCommand.Argument(name: "number_of_retries", value: numberOfRetries, type: nil)
|
@@ -2416,6 +2461,8 @@ public func captureScreenshots(workspace: OptionalConfigValue<String?> = .fastla
|
|
2416
2461
|
let testplanArg = testplan.asRubyArgument(name: "testplan", type: nil)
|
2417
2462
|
let onlyTestingArg = RubyCommand.Argument(name: "only_testing", value: onlyTesting, type: nil)
|
2418
2463
|
let skipTestingArg = RubyCommand.Argument(name: "skip_testing", value: skipTesting, type: nil)
|
2464
|
+
let xcodebuildFormatterArg = RubyCommand.Argument(name: "xcodebuild_formatter", value: xcodebuildFormatter, type: nil)
|
2465
|
+
let xcprettyArgsArg = xcprettyArgs.asRubyArgument(name: "xcpretty_args", type: nil)
|
2419
2466
|
let disableXcprettyArg = disableXcpretty.asRubyArgument(name: "disable_xcpretty", type: nil)
|
2420
2467
|
let suppressXcodeOutputArg = suppressXcodeOutput.asRubyArgument(name: "suppress_xcode_output", type: nil)
|
2421
2468
|
let useSystemScmArg = useSystemScm.asRubyArgument(name: "use_system_scm", type: nil)
|
@@ -2447,7 +2494,6 @@ public func captureScreenshots(workspace: OptionalConfigValue<String?> = .fastla
|
|
2447
2494
|
cleanArg,
|
2448
2495
|
testWithoutBuildingArg,
|
2449
2496
|
configurationArg,
|
2450
|
-
xcprettyArgsArg,
|
2451
2497
|
sdkArg,
|
2452
2498
|
schemeArg,
|
2453
2499
|
numberOfRetriesArg,
|
@@ -2464,6 +2510,8 @@ public func captureScreenshots(workspace: OptionalConfigValue<String?> = .fastla
|
|
2464
2510
|
testplanArg,
|
2465
2511
|
onlyTestingArg,
|
2466
2512
|
skipTestingArg,
|
2513
|
+
xcodebuildFormatterArg,
|
2514
|
+
xcprettyArgsArg,
|
2467
2515
|
disableXcprettyArg,
|
2468
2516
|
suppressXcodeOutputArg,
|
2469
2517
|
useSystemScmArg]
|
@@ -2669,7 +2717,7 @@ public func cert(development: OptionalConfigValue<Bool> = .fastlaneDefault(false
|
|
2669
2717
|
- matchLightweightTag: Whether or not to match a lightweight tag when searching for the last one
|
2670
2718
|
- quiet: Whether or not to disable changelog output
|
2671
2719
|
- includeMerges: **DEPRECATED!** Use `:merge_commit_filtering` instead - Whether or not to include any commits that are merges
|
2672
|
-
- mergeCommitFiltering: Controls inclusion of merge commits when collecting the changelog. Valid values:
|
2720
|
+
- mergeCommitFiltering: Controls inclusion of merge commits when collecting the changelog. Valid values: 'include_merges', 'exclude_merges', 'only_include_merges'
|
2673
2721
|
|
2674
2722
|
- returns: Returns a String containing your formatted git commits
|
2675
2723
|
|
@@ -3518,6 +3566,8 @@ public func createXcframework(frameworks: OptionalConfigValue<[String]?> = .fast
|
|
3518
3566
|
- dangerId: The identifier of this Danger instance
|
3519
3567
|
- dangerfile: The location of your Dangerfile
|
3520
3568
|
- githubApiToken: GitHub API token for danger
|
3569
|
+
- githubEnterpriseHost: GitHub host URL for GitHub Enterprise
|
3570
|
+
- githubEnterpriseApiBaseUrl: GitHub API base URL for GitHub Enterprise
|
3521
3571
|
- failOnErrors: Should always fail the build process, defaults to false
|
3522
3572
|
- newComment: Makes Danger post a new comment instead of editing its previous one
|
3523
3573
|
- removePreviousComments: Makes Danger remove all previous comment and create a new one in the end of the list
|
@@ -3534,6 +3584,8 @@ public func danger(useBundleExec: OptionalConfigValue<Bool> = .fastlaneDefault(t
|
|
3534
3584
|
dangerId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
3535
3585
|
dangerfile: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
3536
3586
|
githubApiToken: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
3587
|
+
githubEnterpriseHost: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
3588
|
+
githubEnterpriseApiBaseUrl: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
3537
3589
|
failOnErrors: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
3538
3590
|
newComment: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
3539
3591
|
removePreviousComments: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
@@ -3547,6 +3599,8 @@ public func danger(useBundleExec: OptionalConfigValue<Bool> = .fastlaneDefault(t
|
|
3547
3599
|
let dangerIdArg = dangerId.asRubyArgument(name: "danger_id", type: nil)
|
3548
3600
|
let dangerfileArg = dangerfile.asRubyArgument(name: "dangerfile", type: nil)
|
3549
3601
|
let githubApiTokenArg = githubApiToken.asRubyArgument(name: "github_api_token", type: nil)
|
3602
|
+
let githubEnterpriseHostArg = githubEnterpriseHost.asRubyArgument(name: "github_enterprise_host", type: nil)
|
3603
|
+
let githubEnterpriseApiBaseUrlArg = githubEnterpriseApiBaseUrl.asRubyArgument(name: "github_enterprise_api_base_url", type: nil)
|
3550
3604
|
let failOnErrorsArg = failOnErrors.asRubyArgument(name: "fail_on_errors", type: nil)
|
3551
3605
|
let newCommentArg = newComment.asRubyArgument(name: "new_comment", type: nil)
|
3552
3606
|
let removePreviousCommentsArg = removePreviousComments.asRubyArgument(name: "remove_previous_comments", type: nil)
|
@@ -3559,6 +3613,8 @@ public func danger(useBundleExec: OptionalConfigValue<Bool> = .fastlaneDefault(t
|
|
3559
3613
|
dangerIdArg,
|
3560
3614
|
dangerfileArg,
|
3561
3615
|
githubApiTokenArg,
|
3616
|
+
githubEnterpriseHostArg,
|
3617
|
+
githubEnterpriseApiBaseUrlArg,
|
3562
3618
|
failOnErrorsArg,
|
3563
3619
|
newCommentArg,
|
3564
3620
|
removePreviousCommentsArg,
|
@@ -3637,8 +3693,9 @@ public func deleteKeychain(name: OptionalConfigValue<String?> = .fastlaneDefault
|
|
3637
3693
|
- skipAppVersionUpdate: Don’t create or update the app version that is being prepared for submission
|
3638
3694
|
- force: Skip verification of HTML preview file
|
3639
3695
|
- overwriteScreenshots: Clear all previously uploaded screenshots before uploading the new ones
|
3640
|
-
- syncScreenshots: Sync screenshots with local ones. This is currently beta
|
3696
|
+
- syncScreenshots: Sync screenshots with local ones. This is currently beta option so set true to 'FASTLANE_ENABLE_BETA_DELIVER_SYNC_SCREENSHOTS' environment variable as well
|
3641
3697
|
- submitForReview: Submit the new version for Review after uploading everything
|
3698
|
+
- verifyOnly: Verifies archive with App Store Connect without uploading
|
3642
3699
|
- rejectIfPossible: Rejects the previously submitted build if it's in a state where it's possible
|
3643
3700
|
- automaticRelease: Should the app be automatically released once it's approved? (Can not be used together with `auto_release_date`)
|
3644
3701
|
- autoReleaseDate: Date in milliseconds for automatically releasing on pending approval (Can not be used together with `automatic_release`)
|
@@ -3710,6 +3767,7 @@ public func deliver(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault(
|
|
3710
3767
|
overwriteScreenshots: OptionalConfigValue<Bool> = .fastlaneDefault(deliverfile.overwriteScreenshots),
|
3711
3768
|
syncScreenshots: OptionalConfigValue<Bool> = .fastlaneDefault(deliverfile.syncScreenshots),
|
3712
3769
|
submitForReview: OptionalConfigValue<Bool> = .fastlaneDefault(deliverfile.submitForReview),
|
3770
|
+
verifyOnly: OptionalConfigValue<Bool> = .fastlaneDefault(deliverfile.verifyOnly),
|
3713
3771
|
rejectIfPossible: OptionalConfigValue<Bool> = .fastlaneDefault(deliverfile.rejectIfPossible),
|
3714
3772
|
automaticRelease: OptionalConfigValue<Bool?> = .fastlaneDefault(deliverfile.automaticRelease),
|
3715
3773
|
autoReleaseDate: OptionalConfigValue<Int?> = .fastlaneDefault(deliverfile.autoReleaseDate),
|
@@ -3774,6 +3832,7 @@ public func deliver(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault(
|
|
3774
3832
|
let overwriteScreenshotsArg = overwriteScreenshots.asRubyArgument(name: "overwrite_screenshots", type: nil)
|
3775
3833
|
let syncScreenshotsArg = syncScreenshots.asRubyArgument(name: "sync_screenshots", type: nil)
|
3776
3834
|
let submitForReviewArg = submitForReview.asRubyArgument(name: "submit_for_review", type: nil)
|
3835
|
+
let verifyOnlyArg = verifyOnly.asRubyArgument(name: "verify_only", type: nil)
|
3777
3836
|
let rejectIfPossibleArg = rejectIfPossible.asRubyArgument(name: "reject_if_possible", type: nil)
|
3778
3837
|
let automaticReleaseArg = automaticRelease.asRubyArgument(name: "automatic_release", type: nil)
|
3779
3838
|
let autoReleaseDateArg = autoReleaseDate.asRubyArgument(name: "auto_release_date", type: nil)
|
@@ -3837,6 +3896,7 @@ public func deliver(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault(
|
|
3837
3896
|
overwriteScreenshotsArg,
|
3838
3897
|
syncScreenshotsArg,
|
3839
3898
|
submitForReviewArg,
|
3899
|
+
verifyOnlyArg,
|
3840
3900
|
rejectIfPossibleArg,
|
3841
3901
|
automaticReleaseArg,
|
3842
3902
|
autoReleaseDateArg,
|
@@ -4013,6 +4073,8 @@ public func downloadAppPrivacyDetailsFromAppStore(username: String,
|
|
4013
4073
|
Download dSYM files from App Store Connect for Bitcode apps
|
4014
4074
|
|
4015
4075
|
- parameters:
|
4076
|
+
- 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)
|
4077
|
+
- apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
|
4016
4078
|
- username: Your Apple ID Username for App Store Connect
|
4017
4079
|
- appIdentifier: The bundle identifier of your app
|
4018
4080
|
- teamId: The ID of your App Store Connect team if you're in multiple teams
|
@@ -4037,7 +4099,9 @@ public func downloadAppPrivacyDetailsFromAppStore(username: String,
|
|
4037
4099
|
```|
|
4038
4100
|
>|
|
4039
4101
|
*/
|
4040
|
-
public func downloadDsyms(
|
4102
|
+
public func downloadDsyms(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
4103
|
+
apiKey: OptionalConfigValue<[String: Any]?> = .fastlaneDefault(nil),
|
4104
|
+
username: String,
|
4041
4105
|
appIdentifier: String,
|
4042
4106
|
teamId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
4043
4107
|
teamName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
@@ -4050,6 +4114,8 @@ public func downloadDsyms(username: String,
|
|
4050
4114
|
waitForDsymProcessing: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
4051
4115
|
waitTimeout: Int = 300)
|
4052
4116
|
{
|
4117
|
+
let apiKeyPathArg = apiKeyPath.asRubyArgument(name: "api_key_path", type: nil)
|
4118
|
+
let apiKeyArg = apiKey.asRubyArgument(name: "api_key", type: nil)
|
4053
4119
|
let usernameArg = RubyCommand.Argument(name: "username", value: username, type: nil)
|
4054
4120
|
let appIdentifierArg = RubyCommand.Argument(name: "app_identifier", value: appIdentifier, type: nil)
|
4055
4121
|
let teamIdArg = teamId.asRubyArgument(name: "team_id", type: nil)
|
@@ -4062,7 +4128,9 @@ public func downloadDsyms(username: String,
|
|
4062
4128
|
let outputDirectoryArg = outputDirectory.asRubyArgument(name: "output_directory", type: nil)
|
4063
4129
|
let waitForDsymProcessingArg = waitForDsymProcessing.asRubyArgument(name: "wait_for_dsym_processing", type: nil)
|
4064
4130
|
let waitTimeoutArg = RubyCommand.Argument(name: "wait_timeout", value: waitTimeout, type: nil)
|
4065
|
-
let array: [RubyCommand.Argument?] = [
|
4131
|
+
let array: [RubyCommand.Argument?] = [apiKeyPathArg,
|
4132
|
+
apiKeyArg,
|
4133
|
+
usernameArg,
|
4066
4134
|
appIdentifierArg,
|
4067
4135
|
teamIdArg,
|
4068
4136
|
teamNameArg,
|
@@ -4231,7 +4299,7 @@ public func ensureGitBranch(branch: String = "master") {
|
|
4231
4299
|
- parameters:
|
4232
4300
|
- showUncommittedChanges: The flag whether to show uncommitted changes if the repo is dirty
|
4233
4301
|
- showDiff: The flag whether to show the git diff if the repo is dirty
|
4234
|
-
- ignored: The
|
4302
|
+
- ignored: The handling mode of the ignored files. The available options are: `'traditional'`, `'none'` (default) and `'matching'`. Specifying `'none'` to this parameter is the same as not specifying the parameter at all, which means that no ignored file will be used to check if the repo is dirty or not. Specifying `'traditional'` or `'matching'` causes some ignored files to be used to check if the repo is dirty or not (more info in the official docs: https://git-scm.com/docs/git-status#Documentation/git-status.txt---ignoredltmodegt)
|
4235
4303
|
|
4236
4304
|
A sanity check to make sure you are working in a repo that is clean.
|
4237
4305
|
Especially useful to put at the beginning of your Fastfile in the `before_all` block, if some of your other actions will touch your filesystem, do things to your git repo, or just as a general reminder to save your work.
|
@@ -4303,7 +4371,7 @@ public func ensureNoDebugCode(text: String,
|
|
4303
4371
|
|
4304
4372
|
If building your app requires a specific version of Xcode, you can invoke this command before using gym.
|
4305
4373
|
For example, to ensure that a beta version of Xcode is not accidentally selected to build, which would make uploading to TestFlight fail.
|
4306
|
-
You can either manually provide a specific version using `version
|
4374
|
+
You can either manually provide a specific version using `version:` or you make use of the `.xcode-version` file.
|
4307
4375
|
Using the `strict` parameter, you can either verify the full set of version numbers strictly (i.e. `11.3.1`) or only a subset of them (i.e. `11.3` or `11`).
|
4308
4376
|
*/
|
4309
4377
|
public func ensureXcodeVersion(version: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
@@ -4877,6 +4945,7 @@ public func getManagedPlayStorePublishingRights(jsonKey: OptionalConfigValue<Str
|
|
4877
4945
|
- development: Renew the development certificate instead of the production one
|
4878
4946
|
- skipInstall: By default, the certificate will be added to your local machine. Setting this flag will skip this action
|
4879
4947
|
- force: Renew provisioning profiles regardless of its state - to automatically add all devices for ad hoc profiles
|
4948
|
+
- includeMacInProfiles: Include Apple Silicon Mac devices in provisioning profiles for iOS/iPadOS apps
|
4880
4949
|
- appIdentifier: The bundle identifier of your app
|
4881
4950
|
- 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)
|
4882
4951
|
- apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
|
@@ -4906,6 +4975,7 @@ public func getManagedPlayStorePublishingRights(jsonKey: OptionalConfigValue<Str
|
|
4906
4975
|
development: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
4907
4976
|
skipInstall: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
4908
4977
|
force: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
4978
|
+
includeMacInProfiles: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
4909
4979
|
appIdentifier: String,
|
4910
4980
|
apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
4911
4981
|
apiKey: OptionalConfigValue<[String: Any]?> = .fastlaneDefault(nil),
|
@@ -4931,6 +5001,7 @@ public func getManagedPlayStorePublishingRights(jsonKey: OptionalConfigValue<Str
|
|
4931
5001
|
let developmentArg = development.asRubyArgument(name: "development", type: nil)
|
4932
5002
|
let skipInstallArg = skipInstall.asRubyArgument(name: "skip_install", type: nil)
|
4933
5003
|
let forceArg = force.asRubyArgument(name: "force", type: nil)
|
5004
|
+
let includeMacInProfilesArg = includeMacInProfiles.asRubyArgument(name: "include_mac_in_profiles", type: nil)
|
4934
5005
|
let appIdentifierArg = RubyCommand.Argument(name: "app_identifier", value: appIdentifier, type: nil)
|
4935
5006
|
let apiKeyPathArg = apiKeyPath.asRubyArgument(name: "api_key_path", type: nil)
|
4936
5007
|
let apiKeyArg = apiKey.asRubyArgument(name: "api_key", type: nil)
|
@@ -4955,6 +5026,7 @@ public func getManagedPlayStorePublishingRights(jsonKey: OptionalConfigValue<Str
|
|
4955
5026
|
developmentArg,
|
4956
5027
|
skipInstallArg,
|
4957
5028
|
forceArg,
|
5029
|
+
includeMacInProfilesArg,
|
4958
5030
|
appIdentifierArg,
|
4959
5031
|
apiKeyPathArg,
|
4960
5032
|
apiKeyArg,
|
@@ -4985,6 +5057,7 @@ public func getManagedPlayStorePublishingRights(jsonKey: OptionalConfigValue<Str
|
|
4985
5057
|
Ensure a valid push profile is active, creating a new one if needed (via _pem_)
|
4986
5058
|
|
4987
5059
|
- parameters:
|
5060
|
+
- platform: Set certificate's platform. Used for creation of production & development certificates. Supported platforms: ios, macos
|
4988
5061
|
- development: Renew the development push certificate instead of the production one
|
4989
5062
|
- websitePush: Create a Website Push certificate
|
4990
5063
|
- generateP12: Generate a p12 file additionally to a PEM file
|
@@ -5012,7 +5085,8 @@ public func getManagedPlayStorePublishingRights(jsonKey: OptionalConfigValue<Str
|
|
5012
5085
|
```|
|
5013
5086
|
>|
|
5014
5087
|
*/
|
5015
|
-
public func getPushCertificate(
|
5088
|
+
public func getPushCertificate(platform: String = "ios",
|
5089
|
+
development: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
5016
5090
|
websitePush: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
5017
5091
|
generateP12: OptionalConfigValue<Bool> = .fastlaneDefault(true),
|
5018
5092
|
activeDaysLimit: Int = 30,
|
@@ -5027,6 +5101,7 @@ public func getPushCertificate(development: OptionalConfigValue<Bool> = .fastlan
|
|
5027
5101
|
outputPath: String = ".",
|
5028
5102
|
newProfile: ((String) -> Void)? = nil)
|
5029
5103
|
{
|
5104
|
+
let platformArg = RubyCommand.Argument(name: "platform", value: platform, type: nil)
|
5030
5105
|
let developmentArg = development.asRubyArgument(name: "development", type: nil)
|
5031
5106
|
let websitePushArg = websitePush.asRubyArgument(name: "website_push", type: nil)
|
5032
5107
|
let generateP12Arg = generateP12.asRubyArgument(name: "generate_p12", type: nil)
|
@@ -5041,7 +5116,8 @@ public func getPushCertificate(development: OptionalConfigValue<Bool> = .fastlan
|
|
5041
5116
|
let pemNameArg = pemName.asRubyArgument(name: "pem_name", type: nil)
|
5042
5117
|
let outputPathArg = RubyCommand.Argument(name: "output_path", value: outputPath, type: nil)
|
5043
5118
|
let newProfileArg = RubyCommand.Argument(name: "new_profile", value: newProfile, type: .stringClosure)
|
5044
|
-
let array: [RubyCommand.Argument?] = [
|
5119
|
+
let array: [RubyCommand.Argument?] = [platformArg,
|
5120
|
+
developmentArg,
|
5045
5121
|
websitePushArg,
|
5046
5122
|
generateP12Arg,
|
5047
5123
|
activeDaysLimitArg,
|
@@ -5066,11 +5142,11 @@ public func getPushCertificate(development: OptionalConfigValue<Bool> = .fastlan
|
|
5066
5142
|
Get the version number of your project
|
5067
5143
|
|
5068
5144
|
- parameters:
|
5069
|
-
- xcodeproj: Path to the Xcode project to read version number from, or its containing directory, optional. If
|
5145
|
+
- xcodeproj: Path to the Xcode project to read version number from, or its containing directory, optional. If omitted, or if a directory is passed instead, it will use the first Xcode project found within the given directory, or the project root directory if none is passed
|
5070
5146
|
- target: Target name, optional. Will be needed if you have more than one non-test target to avoid being prompted to select one
|
5071
5147
|
- configuration: Configuration name, optional. Will be needed if you have altered the configurations from the default or your version number depends on the configuration selected
|
5072
5148
|
|
5073
|
-
This action will return the current version number set on your project.
|
5149
|
+
This action will return the current version number set on your project. It first looks in the plist and then for '$(MARKETING_VERSION)' in the build settings.
|
5074
5150
|
*/
|
5075
5151
|
@discardableResult public func getVersionNumber(xcodeproj: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
5076
5152
|
target: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
@@ -5504,15 +5580,18 @@ public func gradle(task: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
|
5504
5580
|
- xcargs: Pass additional arguments to xcodebuild for the build phase. Be sure to quote the setting names and values e.g. OTHER_LDFLAGS="-ObjC -lstdc++"
|
5505
5581
|
- xcconfig: Use an extra XCCONFIG file to build your app
|
5506
5582
|
- suppressXcodeOutput: Suppress the output of xcodebuild to stdout. Output is still saved in buildlog_path
|
5507
|
-
-
|
5583
|
+
- xcodebuildFormatter: xcodebuild formatter to use (ex: 'xcbeautify', 'xcbeautify --quieter', 'xcpretty', 'xcpretty -test'). Use empty string (ex: '') to disable any formatter (More information: https://docs.fastlane.tools/best-practices/xcodebuild-formatters/)
|
5584
|
+
- buildTimingSummary: Create a build timing summary
|
5585
|
+
- disableXcpretty: **DEPRECATED!** Use `xcodebuild_formatter: ''` instead - Disable xcpretty formatting of build output
|
5508
5586
|
- xcprettyTestFormat: Use the test (RSpec style) format for build output
|
5509
5587
|
- xcprettyFormatter: A custom xcpretty formatter to use
|
5510
5588
|
- xcprettyReportJunit: Have xcpretty create a JUnit-style XML report at the provided path
|
5511
5589
|
- xcprettyReportHtml: Have xcpretty create a simple HTML report at the provided path
|
5512
5590
|
- xcprettyReportJson: Have xcpretty create a JSON compilation database at the provided path
|
5513
|
-
- analyzeBuildTime: Analyze the project build time and store the output in 'culprits.txt' file
|
5514
5591
|
- xcprettyUtf: Have xcpretty use unicode encoding when reporting builds
|
5592
|
+
- analyzeBuildTime: Analyze the project build time and store the output in 'culprits.txt' file
|
5515
5593
|
- skipProfileDetection: Do not try to build a profile mapping from the xcodeproj. Match or a manually provided mapping should be used
|
5594
|
+
- xcodebuildCommand: Allows for override of the default `xcodebuild` command
|
5516
5595
|
- clonedSourcePackagesPath: Sets a custom path for Swift Package Manager dependencies
|
5517
5596
|
- skipPackageDependenciesResolution: Skips resolution of Swift Package Manager dependencies
|
5518
5597
|
- disablePackageAutomaticUpdates: Prevents packages from automatically being resolved to versions other than those recorded in the `Package.resolved` file
|
@@ -5556,15 +5635,18 @@ public func gradle(task: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
|
5556
5635
|
xcargs: OptionalConfigValue<String?> = .fastlaneDefault(gymfile.xcargs),
|
5557
5636
|
xcconfig: OptionalConfigValue<String?> = .fastlaneDefault(gymfile.xcconfig),
|
5558
5637
|
suppressXcodeOutput: OptionalConfigValue<Bool?> = .fastlaneDefault(gymfile.suppressXcodeOutput),
|
5638
|
+
xcodebuildFormatter: String = gymfile.xcodebuildFormatter,
|
5639
|
+
buildTimingSummary: OptionalConfigValue<Bool> = .fastlaneDefault(gymfile.buildTimingSummary),
|
5559
5640
|
disableXcpretty: OptionalConfigValue<Bool?> = .fastlaneDefault(gymfile.disableXcpretty),
|
5560
5641
|
xcprettyTestFormat: OptionalConfigValue<Bool?> = .fastlaneDefault(gymfile.xcprettyTestFormat),
|
5561
5642
|
xcprettyFormatter: OptionalConfigValue<String?> = .fastlaneDefault(gymfile.xcprettyFormatter),
|
5562
5643
|
xcprettyReportJunit: OptionalConfigValue<String?> = .fastlaneDefault(gymfile.xcprettyReportJunit),
|
5563
5644
|
xcprettyReportHtml: OptionalConfigValue<String?> = .fastlaneDefault(gymfile.xcprettyReportHtml),
|
5564
5645
|
xcprettyReportJson: OptionalConfigValue<String?> = .fastlaneDefault(gymfile.xcprettyReportJson),
|
5565
|
-
analyzeBuildTime: OptionalConfigValue<Bool?> = .fastlaneDefault(gymfile.analyzeBuildTime),
|
5566
5646
|
xcprettyUtf: OptionalConfigValue<Bool?> = .fastlaneDefault(gymfile.xcprettyUtf),
|
5647
|
+
analyzeBuildTime: OptionalConfigValue<Bool?> = .fastlaneDefault(gymfile.analyzeBuildTime),
|
5567
5648
|
skipProfileDetection: OptionalConfigValue<Bool> = .fastlaneDefault(gymfile.skipProfileDetection),
|
5649
|
+
xcodebuildCommand: String = gymfile.xcodebuildCommand,
|
5568
5650
|
clonedSourcePackagesPath: OptionalConfigValue<String?> = .fastlaneDefault(gymfile.clonedSourcePackagesPath),
|
5569
5651
|
skipPackageDependenciesResolution: OptionalConfigValue<Bool> = .fastlaneDefault(gymfile.skipPackageDependenciesResolution),
|
5570
5652
|
disablePackageAutomaticUpdates: OptionalConfigValue<Bool> = .fastlaneDefault(gymfile.disablePackageAutomaticUpdates),
|
@@ -5604,15 +5686,18 @@ public func gradle(task: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
|
5604
5686
|
let xcargsArg = xcargs.asRubyArgument(name: "xcargs", type: nil)
|
5605
5687
|
let xcconfigArg = xcconfig.asRubyArgument(name: "xcconfig", type: nil)
|
5606
5688
|
let suppressXcodeOutputArg = suppressXcodeOutput.asRubyArgument(name: "suppress_xcode_output", type: nil)
|
5689
|
+
let xcodebuildFormatterArg = RubyCommand.Argument(name: "xcodebuild_formatter", value: xcodebuildFormatter, type: nil)
|
5690
|
+
let buildTimingSummaryArg = buildTimingSummary.asRubyArgument(name: "build_timing_summary", type: nil)
|
5607
5691
|
let disableXcprettyArg = disableXcpretty.asRubyArgument(name: "disable_xcpretty", type: nil)
|
5608
5692
|
let xcprettyTestFormatArg = xcprettyTestFormat.asRubyArgument(name: "xcpretty_test_format", type: nil)
|
5609
5693
|
let xcprettyFormatterArg = xcprettyFormatter.asRubyArgument(name: "xcpretty_formatter", type: nil)
|
5610
5694
|
let xcprettyReportJunitArg = xcprettyReportJunit.asRubyArgument(name: "xcpretty_report_junit", type: nil)
|
5611
5695
|
let xcprettyReportHtmlArg = xcprettyReportHtml.asRubyArgument(name: "xcpretty_report_html", type: nil)
|
5612
5696
|
let xcprettyReportJsonArg = xcprettyReportJson.asRubyArgument(name: "xcpretty_report_json", type: nil)
|
5613
|
-
let analyzeBuildTimeArg = analyzeBuildTime.asRubyArgument(name: "analyze_build_time", type: nil)
|
5614
5697
|
let xcprettyUtfArg = xcprettyUtf.asRubyArgument(name: "xcpretty_utf", type: nil)
|
5698
|
+
let analyzeBuildTimeArg = analyzeBuildTime.asRubyArgument(name: "analyze_build_time", type: nil)
|
5615
5699
|
let skipProfileDetectionArg = skipProfileDetection.asRubyArgument(name: "skip_profile_detection", type: nil)
|
5700
|
+
let xcodebuildCommandArg = RubyCommand.Argument(name: "xcodebuild_command", value: xcodebuildCommand, type: nil)
|
5616
5701
|
let clonedSourcePackagesPathArg = clonedSourcePackagesPath.asRubyArgument(name: "cloned_source_packages_path", type: nil)
|
5617
5702
|
let skipPackageDependenciesResolutionArg = skipPackageDependenciesResolution.asRubyArgument(name: "skip_package_dependencies_resolution", type: nil)
|
5618
5703
|
let disablePackageAutomaticUpdatesArg = disablePackageAutomaticUpdates.asRubyArgument(name: "disable_package_automatic_updates", type: nil)
|
@@ -5651,15 +5736,18 @@ public func gradle(task: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
|
5651
5736
|
xcargsArg,
|
5652
5737
|
xcconfigArg,
|
5653
5738
|
suppressXcodeOutputArg,
|
5739
|
+
xcodebuildFormatterArg,
|
5740
|
+
buildTimingSummaryArg,
|
5654
5741
|
disableXcprettyArg,
|
5655
5742
|
xcprettyTestFormatArg,
|
5656
5743
|
xcprettyFormatterArg,
|
5657
5744
|
xcprettyReportJunitArg,
|
5658
5745
|
xcprettyReportHtmlArg,
|
5659
5746
|
xcprettyReportJsonArg,
|
5660
|
-
analyzeBuildTimeArg,
|
5661
5747
|
xcprettyUtfArg,
|
5748
|
+
analyzeBuildTimeArg,
|
5662
5749
|
skipProfileDetectionArg,
|
5750
|
+
xcodebuildCommandArg,
|
5663
5751
|
clonedSourcePackagesPathArg,
|
5664
5752
|
skipPackageDependenciesResolutionArg,
|
5665
5753
|
disablePackageAutomaticUpdatesArg,
|
@@ -6557,7 +6645,7 @@ public func makeChangelogFromJenkins(fallbackChangelog: String = "",
|
|
6557
6645
|
Alias for the `sync_code_signing` action
|
6558
6646
|
|
6559
6647
|
- parameters:
|
6560
|
-
- type: Define the profile type, can be appstore, adhoc, development, enterprise, developer_id, mac_installer_distribution
|
6648
|
+
- type: Define the profile type, can be appstore, adhoc, development, enterprise, developer_id, mac_installer_distribution, developer_id_installer
|
6561
6649
|
- additionalCertTypes: Create additional cert types needed for macOS installers (valid values: mac_installer_distribution, developer_id_installer)
|
6562
6650
|
- readonly: Only fetch existing certificates and profiles, don't generate new ones
|
6563
6651
|
- generateAppleCerts: Create a certificate type for Xcode 11 and later (Apple Development or Apple Distribution)
|
@@ -6581,18 +6669,22 @@ public func makeChangelogFromJenkins(fallbackChangelog: String = "",
|
|
6581
6669
|
- googleCloudBucketName: Name of the Google Cloud Storage bucket to use
|
6582
6670
|
- googleCloudKeysFile: Path to the gc_keys.json file
|
6583
6671
|
- googleCloudProjectId: ID of the Google Cloud project to use for authentication
|
6672
|
+
- skipGoogleCloudAccountConfirmation: Skips confirming to use the system google account
|
6584
6673
|
- s3Region: Name of the S3 region
|
6585
6674
|
- s3AccessKey: S3 access key
|
6586
6675
|
- s3SecretAccessKey: S3 secret access key
|
6587
6676
|
- s3Bucket: Name of the S3 bucket
|
6588
6677
|
- s3ObjectPrefix: Prefix to be used on all objects uploaded to S3
|
6678
|
+
- gitlabProject: GitLab Project Path (i.e. 'gitlab-org/gitlab')
|
6589
6679
|
- keychainName: Keychain the items should be imported to
|
6590
6680
|
- keychainPassword: This might be required the first time you access certificates on a new mac. For the login/default keychain this is your macOS account password
|
6591
6681
|
- force: Renew the provisioning profiles every time you run match
|
6592
6682
|
- forceForNewDevices: Renew the provisioning profiles if the device count on the developer portal has changed. Ignored for profile types 'appstore' and 'developer_id'
|
6683
|
+
- includeMacInProfiles: Include Apple Silicon Mac devices in provisioning profiles for iOS/iPadOS apps
|
6593
6684
|
- includeAllCertificates: Include all matching certificates in the provisioning profile. Works only for the 'development' provisioning profile type
|
6594
|
-
- forceForNewCertificates: Renew the provisioning profiles if the
|
6685
|
+
- forceForNewCertificates: Renew the provisioning profiles if the certificate count on the developer portal has changed. Works only for the 'development' provisioning profile type. Requires 'include_all_certificates' option to be 'true'
|
6595
6686
|
- skipConfirmation: Disables confirmation prompts during nuke, answering them with yes
|
6687
|
+
- safeRemoveCerts: Remove certs from repository during nuke without revoking them on the developer portal
|
6596
6688
|
- skipDocs: Skip generation of a README.md for the created git repository
|
6597
6689
|
- platform: Set the provisioning profile's platform to work with (i.e. ios, tvos, macos, catalyst)
|
6598
6690
|
- 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
|
@@ -6630,18 +6722,22 @@ public func match(type: String = matchfile.type,
|
|
6630
6722
|
googleCloudBucketName: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.googleCloudBucketName),
|
6631
6723
|
googleCloudKeysFile: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.googleCloudKeysFile),
|
6632
6724
|
googleCloudProjectId: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.googleCloudProjectId),
|
6725
|
+
skipGoogleCloudAccountConfirmation: OptionalConfigValue<Bool> = .fastlaneDefault(matchfile.skipGoogleCloudAccountConfirmation),
|
6633
6726
|
s3Region: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.s3Region),
|
6634
6727
|
s3AccessKey: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.s3AccessKey),
|
6635
6728
|
s3SecretAccessKey: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.s3SecretAccessKey),
|
6636
6729
|
s3Bucket: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.s3Bucket),
|
6637
6730
|
s3ObjectPrefix: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.s3ObjectPrefix),
|
6731
|
+
gitlabProject: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.gitlabProject),
|
6638
6732
|
keychainName: String = matchfile.keychainName,
|
6639
6733
|
keychainPassword: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.keychainPassword),
|
6640
6734
|
force: OptionalConfigValue<Bool> = .fastlaneDefault(matchfile.force),
|
6641
6735
|
forceForNewDevices: OptionalConfigValue<Bool> = .fastlaneDefault(matchfile.forceForNewDevices),
|
6736
|
+
includeMacInProfiles: OptionalConfigValue<Bool> = .fastlaneDefault(matchfile.includeMacInProfiles),
|
6642
6737
|
includeAllCertificates: OptionalConfigValue<Bool> = .fastlaneDefault(matchfile.includeAllCertificates),
|
6643
6738
|
forceForNewCertificates: OptionalConfigValue<Bool> = .fastlaneDefault(matchfile.forceForNewCertificates),
|
6644
6739
|
skipConfirmation: OptionalConfigValue<Bool> = .fastlaneDefault(matchfile.skipConfirmation),
|
6740
|
+
safeRemoveCerts: OptionalConfigValue<Bool> = .fastlaneDefault(matchfile.safeRemoveCerts),
|
6645
6741
|
skipDocs: OptionalConfigValue<Bool> = .fastlaneDefault(matchfile.skipDocs),
|
6646
6742
|
platform: String = matchfile.platform,
|
6647
6743
|
deriveCatalystAppIdentifier: OptionalConfigValue<Bool> = .fastlaneDefault(matchfile.deriveCatalystAppIdentifier),
|
@@ -6677,18 +6773,22 @@ public func match(type: String = matchfile.type,
|
|
6677
6773
|
let googleCloudBucketNameArg = googleCloudBucketName.asRubyArgument(name: "google_cloud_bucket_name", type: nil)
|
6678
6774
|
let googleCloudKeysFileArg = googleCloudKeysFile.asRubyArgument(name: "google_cloud_keys_file", type: nil)
|
6679
6775
|
let googleCloudProjectIdArg = googleCloudProjectId.asRubyArgument(name: "google_cloud_project_id", type: nil)
|
6776
|
+
let skipGoogleCloudAccountConfirmationArg = skipGoogleCloudAccountConfirmation.asRubyArgument(name: "skip_google_cloud_account_confirmation", type: nil)
|
6680
6777
|
let s3RegionArg = s3Region.asRubyArgument(name: "s3_region", type: nil)
|
6681
6778
|
let s3AccessKeyArg = s3AccessKey.asRubyArgument(name: "s3_access_key", type: nil)
|
6682
6779
|
let s3SecretAccessKeyArg = s3SecretAccessKey.asRubyArgument(name: "s3_secret_access_key", type: nil)
|
6683
6780
|
let s3BucketArg = s3Bucket.asRubyArgument(name: "s3_bucket", type: nil)
|
6684
6781
|
let s3ObjectPrefixArg = s3ObjectPrefix.asRubyArgument(name: "s3_object_prefix", type: nil)
|
6782
|
+
let gitlabProjectArg = gitlabProject.asRubyArgument(name: "gitlab_project", type: nil)
|
6685
6783
|
let keychainNameArg = RubyCommand.Argument(name: "keychain_name", value: keychainName, type: nil)
|
6686
6784
|
let keychainPasswordArg = keychainPassword.asRubyArgument(name: "keychain_password", type: nil)
|
6687
6785
|
let forceArg = force.asRubyArgument(name: "force", type: nil)
|
6688
6786
|
let forceForNewDevicesArg = forceForNewDevices.asRubyArgument(name: "force_for_new_devices", type: nil)
|
6787
|
+
let includeMacInProfilesArg = includeMacInProfiles.asRubyArgument(name: "include_mac_in_profiles", type: nil)
|
6689
6788
|
let includeAllCertificatesArg = includeAllCertificates.asRubyArgument(name: "include_all_certificates", type: nil)
|
6690
6789
|
let forceForNewCertificatesArg = forceForNewCertificates.asRubyArgument(name: "force_for_new_certificates", type: nil)
|
6691
6790
|
let skipConfirmationArg = skipConfirmation.asRubyArgument(name: "skip_confirmation", type: nil)
|
6791
|
+
let safeRemoveCertsArg = safeRemoveCerts.asRubyArgument(name: "safe_remove_certs", type: nil)
|
6692
6792
|
let skipDocsArg = skipDocs.asRubyArgument(name: "skip_docs", type: nil)
|
6693
6793
|
let platformArg = RubyCommand.Argument(name: "platform", value: platform, type: nil)
|
6694
6794
|
let deriveCatalystAppIdentifierArg = deriveCatalystAppIdentifier.asRubyArgument(name: "derive_catalyst_app_identifier", type: nil)
|
@@ -6723,18 +6823,22 @@ public func match(type: String = matchfile.type,
|
|
6723
6823
|
googleCloudBucketNameArg,
|
6724
6824
|
googleCloudKeysFileArg,
|
6725
6825
|
googleCloudProjectIdArg,
|
6826
|
+
skipGoogleCloudAccountConfirmationArg,
|
6726
6827
|
s3RegionArg,
|
6727
6828
|
s3AccessKeyArg,
|
6728
6829
|
s3SecretAccessKeyArg,
|
6729
6830
|
s3BucketArg,
|
6730
6831
|
s3ObjectPrefixArg,
|
6832
|
+
gitlabProjectArg,
|
6731
6833
|
keychainNameArg,
|
6732
6834
|
keychainPasswordArg,
|
6733
6835
|
forceArg,
|
6734
6836
|
forceForNewDevicesArg,
|
6837
|
+
includeMacInProfilesArg,
|
6735
6838
|
includeAllCertificatesArg,
|
6736
6839
|
forceForNewCertificatesArg,
|
6737
6840
|
skipConfirmationArg,
|
6841
|
+
safeRemoveCertsArg,
|
6738
6842
|
skipDocsArg,
|
6739
6843
|
platformArg,
|
6740
6844
|
deriveCatalystAppIdentifierArg,
|
@@ -6756,7 +6860,7 @@ public func match(type: String = matchfile.type,
|
|
6756
6860
|
Easily nuke your certificate and provisioning profiles (via _match_)
|
6757
6861
|
|
6758
6862
|
- parameters:
|
6759
|
-
- type: Define the profile type, can be appstore, adhoc, development, enterprise, developer_id, mac_installer_distribution
|
6863
|
+
- type: Define the profile type, can be appstore, adhoc, development, enterprise, developer_id, mac_installer_distribution, developer_id_installer
|
6760
6864
|
- additionalCertTypes: Create additional cert types needed for macOS installers (valid values: mac_installer_distribution, developer_id_installer)
|
6761
6865
|
- readonly: Only fetch existing certificates and profiles, don't generate new ones
|
6762
6866
|
- generateAppleCerts: Create a certificate type for Xcode 11 and later (Apple Development or Apple Distribution)
|
@@ -6780,18 +6884,22 @@ public func match(type: String = matchfile.type,
|
|
6780
6884
|
- googleCloudBucketName: Name of the Google Cloud Storage bucket to use
|
6781
6885
|
- googleCloudKeysFile: Path to the gc_keys.json file
|
6782
6886
|
- googleCloudProjectId: ID of the Google Cloud project to use for authentication
|
6887
|
+
- skipGoogleCloudAccountConfirmation: Skips confirming to use the system google account
|
6783
6888
|
- s3Region: Name of the S3 region
|
6784
6889
|
- s3AccessKey: S3 access key
|
6785
6890
|
- s3SecretAccessKey: S3 secret access key
|
6786
6891
|
- s3Bucket: Name of the S3 bucket
|
6787
6892
|
- s3ObjectPrefix: Prefix to be used on all objects uploaded to S3
|
6893
|
+
- gitlabProject: GitLab Project Path (i.e. 'gitlab-org/gitlab')
|
6788
6894
|
- keychainName: Keychain the items should be imported to
|
6789
6895
|
- keychainPassword: This might be required the first time you access certificates on a new mac. For the login/default keychain this is your macOS account password
|
6790
6896
|
- force: Renew the provisioning profiles every time you run match
|
6791
6897
|
- forceForNewDevices: Renew the provisioning profiles if the device count on the developer portal has changed. Ignored for profile types 'appstore' and 'developer_id'
|
6898
|
+
- includeMacInProfiles: Include Apple Silicon Mac devices in provisioning profiles for iOS/iPadOS apps
|
6792
6899
|
- includeAllCertificates: Include all matching certificates in the provisioning profile. Works only for the 'development' provisioning profile type
|
6793
|
-
- forceForNewCertificates: Renew the provisioning profiles if the
|
6900
|
+
- forceForNewCertificates: Renew the provisioning profiles if the certificate count on the developer portal has changed. Works only for the 'development' provisioning profile type. Requires 'include_all_certificates' option to be 'true'
|
6794
6901
|
- skipConfirmation: Disables confirmation prompts during nuke, answering them with yes
|
6902
|
+
- safeRemoveCerts: Remove certs from repository during nuke without revoking them on the developer portal
|
6795
6903
|
- skipDocs: Skip generation of a README.md for the created git repository
|
6796
6904
|
- platform: Set the provisioning profile's platform to work with (i.e. ios, tvos, macos, catalyst)
|
6797
6905
|
- 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
|
@@ -6833,18 +6941,22 @@ public func matchNuke(type: String = "development",
|
|
6833
6941
|
googleCloudBucketName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
6834
6942
|
googleCloudKeysFile: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
6835
6943
|
googleCloudProjectId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
6944
|
+
skipGoogleCloudAccountConfirmation: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
6836
6945
|
s3Region: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
6837
6946
|
s3AccessKey: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
6838
6947
|
s3SecretAccessKey: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
6839
6948
|
s3Bucket: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
6840
6949
|
s3ObjectPrefix: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
6950
|
+
gitlabProject: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
6841
6951
|
keychainName: String = "login.keychain",
|
6842
6952
|
keychainPassword: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
6843
6953
|
force: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
6844
6954
|
forceForNewDevices: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
6955
|
+
includeMacInProfiles: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
6845
6956
|
includeAllCertificates: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
6846
6957
|
forceForNewCertificates: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
6847
6958
|
skipConfirmation: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
6959
|
+
safeRemoveCerts: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
6848
6960
|
skipDocs: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
6849
6961
|
platform: String = "ios",
|
6850
6962
|
deriveCatalystAppIdentifier: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
@@ -6880,18 +6992,22 @@ public func matchNuke(type: String = "development",
|
|
6880
6992
|
let googleCloudBucketNameArg = googleCloudBucketName.asRubyArgument(name: "google_cloud_bucket_name", type: nil)
|
6881
6993
|
let googleCloudKeysFileArg = googleCloudKeysFile.asRubyArgument(name: "google_cloud_keys_file", type: nil)
|
6882
6994
|
let googleCloudProjectIdArg = googleCloudProjectId.asRubyArgument(name: "google_cloud_project_id", type: nil)
|
6995
|
+
let skipGoogleCloudAccountConfirmationArg = skipGoogleCloudAccountConfirmation.asRubyArgument(name: "skip_google_cloud_account_confirmation", type: nil)
|
6883
6996
|
let s3RegionArg = s3Region.asRubyArgument(name: "s3_region", type: nil)
|
6884
6997
|
let s3AccessKeyArg = s3AccessKey.asRubyArgument(name: "s3_access_key", type: nil)
|
6885
6998
|
let s3SecretAccessKeyArg = s3SecretAccessKey.asRubyArgument(name: "s3_secret_access_key", type: nil)
|
6886
6999
|
let s3BucketArg = s3Bucket.asRubyArgument(name: "s3_bucket", type: nil)
|
6887
7000
|
let s3ObjectPrefixArg = s3ObjectPrefix.asRubyArgument(name: "s3_object_prefix", type: nil)
|
7001
|
+
let gitlabProjectArg = gitlabProject.asRubyArgument(name: "gitlab_project", type: nil)
|
6888
7002
|
let keychainNameArg = RubyCommand.Argument(name: "keychain_name", value: keychainName, type: nil)
|
6889
7003
|
let keychainPasswordArg = keychainPassword.asRubyArgument(name: "keychain_password", type: nil)
|
6890
7004
|
let forceArg = force.asRubyArgument(name: "force", type: nil)
|
6891
7005
|
let forceForNewDevicesArg = forceForNewDevices.asRubyArgument(name: "force_for_new_devices", type: nil)
|
7006
|
+
let includeMacInProfilesArg = includeMacInProfiles.asRubyArgument(name: "include_mac_in_profiles", type: nil)
|
6892
7007
|
let includeAllCertificatesArg = includeAllCertificates.asRubyArgument(name: "include_all_certificates", type: nil)
|
6893
7008
|
let forceForNewCertificatesArg = forceForNewCertificates.asRubyArgument(name: "force_for_new_certificates", type: nil)
|
6894
7009
|
let skipConfirmationArg = skipConfirmation.asRubyArgument(name: "skip_confirmation", type: nil)
|
7010
|
+
let safeRemoveCertsArg = safeRemoveCerts.asRubyArgument(name: "safe_remove_certs", type: nil)
|
6895
7011
|
let skipDocsArg = skipDocs.asRubyArgument(name: "skip_docs", type: nil)
|
6896
7012
|
let platformArg = RubyCommand.Argument(name: "platform", value: platform, type: nil)
|
6897
7013
|
let deriveCatalystAppIdentifierArg = deriveCatalystAppIdentifier.asRubyArgument(name: "derive_catalyst_app_identifier", type: nil)
|
@@ -6926,18 +7042,22 @@ public func matchNuke(type: String = "development",
|
|
6926
7042
|
googleCloudBucketNameArg,
|
6927
7043
|
googleCloudKeysFileArg,
|
6928
7044
|
googleCloudProjectIdArg,
|
7045
|
+
skipGoogleCloudAccountConfirmationArg,
|
6929
7046
|
s3RegionArg,
|
6930
7047
|
s3AccessKeyArg,
|
6931
7048
|
s3SecretAccessKeyArg,
|
6932
7049
|
s3BucketArg,
|
6933
7050
|
s3ObjectPrefixArg,
|
7051
|
+
gitlabProjectArg,
|
6934
7052
|
keychainNameArg,
|
6935
7053
|
keychainPasswordArg,
|
6936
7054
|
forceArg,
|
6937
7055
|
forceForNewDevicesArg,
|
7056
|
+
includeMacInProfilesArg,
|
6938
7057
|
includeAllCertificatesArg,
|
6939
7058
|
forceForNewCertificatesArg,
|
6940
7059
|
skipConfirmationArg,
|
7060
|
+
safeRemoveCertsArg,
|
6941
7061
|
skipDocsArg,
|
6942
7062
|
platformArg,
|
6943
7063
|
deriveCatalystAppIdentifierArg,
|
@@ -7090,6 +7210,7 @@ public func nexusUpload(file: String,
|
|
7090
7210
|
- package: Path to package to notarize, e.g. .app bundle or disk image
|
7091
7211
|
- useNotarytool: Whether to `xcrun notarytool` or `xcrun altool`
|
7092
7212
|
- tryEarlyStapling: Whether to try early stapling while the notarization request is in progress
|
7213
|
+
- skipStapling: Do not staple the notarization ticket to the artifact; useful for single file executables and ZIP archives
|
7093
7214
|
- bundleId: Bundle identifier to uniquely identify the package
|
7094
7215
|
- username: Apple ID username
|
7095
7216
|
- ascProvider: Provider short name for accounts associated with multiple providers
|
@@ -7101,6 +7222,7 @@ public func nexusUpload(file: String,
|
|
7101
7222
|
public func notarize(package: String,
|
7102
7223
|
useNotarytool: OptionalConfigValue<Bool> = .fastlaneDefault(true),
|
7103
7224
|
tryEarlyStapling: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
7225
|
+
skipStapling: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
7104
7226
|
bundleId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
7105
7227
|
username: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
7106
7228
|
ascProvider: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
@@ -7112,6 +7234,7 @@ public func notarize(package: String,
|
|
7112
7234
|
let packageArg = RubyCommand.Argument(name: "package", value: package, type: nil)
|
7113
7235
|
let useNotarytoolArg = useNotarytool.asRubyArgument(name: "use_notarytool", type: nil)
|
7114
7236
|
let tryEarlyStaplingArg = tryEarlyStapling.asRubyArgument(name: "try_early_stapling", type: nil)
|
7237
|
+
let skipStaplingArg = skipStapling.asRubyArgument(name: "skip_stapling", type: nil)
|
7115
7238
|
let bundleIdArg = bundleId.asRubyArgument(name: "bundle_id", type: nil)
|
7116
7239
|
let usernameArg = username.asRubyArgument(name: "username", type: nil)
|
7117
7240
|
let ascProviderArg = ascProvider.asRubyArgument(name: "asc_provider", type: nil)
|
@@ -7122,6 +7245,7 @@ public func notarize(package: String,
|
|
7122
7245
|
let array: [RubyCommand.Argument?] = [packageArg,
|
7123
7246
|
useNotarytoolArg,
|
7124
7247
|
tryEarlyStaplingArg,
|
7248
|
+
skipStaplingArg,
|
7125
7249
|
bundleIdArg,
|
7126
7250
|
usernameArg,
|
7127
7251
|
ascProviderArg,
|
@@ -7383,6 +7507,7 @@ public func optOutUsage() {
|
|
7383
7507
|
Alias for the `get_push_certificate` action
|
7384
7508
|
|
7385
7509
|
- parameters:
|
7510
|
+
- platform: Set certificate's platform. Used for creation of production & development certificates. Supported platforms: ios, macos
|
7386
7511
|
- development: Renew the development push certificate instead of the production one
|
7387
7512
|
- websitePush: Create a Website Push certificate
|
7388
7513
|
- generateP12: Generate a p12 file additionally to a PEM file
|
@@ -7410,7 +7535,8 @@ public func optOutUsage() {
|
|
7410
7535
|
```|
|
7411
7536
|
>|
|
7412
7537
|
*/
|
7413
|
-
public func pem(
|
7538
|
+
public func pem(platform: String = "ios",
|
7539
|
+
development: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
7414
7540
|
websitePush: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
7415
7541
|
generateP12: OptionalConfigValue<Bool> = .fastlaneDefault(true),
|
7416
7542
|
activeDaysLimit: Int = 30,
|
@@ -7425,6 +7551,7 @@ public func pem(development: OptionalConfigValue<Bool> = .fastlaneDefault(false)
|
|
7425
7551
|
outputPath: String = ".",
|
7426
7552
|
newProfile: ((String) -> Void)? = nil)
|
7427
7553
|
{
|
7554
|
+
let platformArg = RubyCommand.Argument(name: "platform", value: platform, type: nil)
|
7428
7555
|
let developmentArg = development.asRubyArgument(name: "development", type: nil)
|
7429
7556
|
let websitePushArg = websitePush.asRubyArgument(name: "website_push", type: nil)
|
7430
7557
|
let generateP12Arg = generateP12.asRubyArgument(name: "generate_p12", type: nil)
|
@@ -7439,7 +7566,8 @@ public func pem(development: OptionalConfigValue<Bool> = .fastlaneDefault(false)
|
|
7439
7566
|
let pemNameArg = pemName.asRubyArgument(name: "pem_name", type: nil)
|
7440
7567
|
let outputPathArg = RubyCommand.Argument(name: "output_path", value: outputPath, type: nil)
|
7441
7568
|
let newProfileArg = RubyCommand.Argument(name: "new_profile", value: newProfile, type: .stringClosure)
|
7442
|
-
let array: [RubyCommand.Argument?] = [
|
7569
|
+
let array: [RubyCommand.Argument?] = [platformArg,
|
7570
|
+
developmentArg,
|
7443
7571
|
websitePushArg,
|
7444
7572
|
generateP12Arg,
|
7445
7573
|
activeDaysLimitArg,
|
@@ -7502,6 +7630,7 @@ public func pem(development: OptionalConfigValue<Bool> = .fastlaneDefault(false)
|
|
7502
7630
|
- waitProcessingTimeoutDuration: Timeout duration in seconds to wait for App Store Connect processing. If set, after exceeding timeout duration, this will `force stop` to wait for App Store Connect processing and exit with exception
|
7503
7631
|
- waitForUploadedBuild: **DEPRECATED!** No longer needed with the transition over to the App Store Connect API - Use version info from uploaded ipa file to determine what build to use for distribution. If set to false, latest processing or any latest build will be used
|
7504
7632
|
- rejectBuildWaitingForReview: Expire previous if it's 'waiting for review'
|
7633
|
+
- submitBetaReview: Send the build for a beta review
|
7505
7634
|
|
7506
7635
|
More details can be found on https://docs.fastlane.tools/actions/pilot/.
|
7507
7636
|
This integration will only do the TestFlight upload.
|
@@ -7543,7 +7672,8 @@ public func pilot(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault(ni
|
|
7543
7672
|
waitProcessingInterval: Int = 30,
|
7544
7673
|
waitProcessingTimeoutDuration: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
|
7545
7674
|
waitForUploadedBuild: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
7546
|
-
rejectBuildWaitingForReview: OptionalConfigValue<Bool> = .fastlaneDefault(false)
|
7675
|
+
rejectBuildWaitingForReview: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
7676
|
+
submitBetaReview: OptionalConfigValue<Bool> = .fastlaneDefault(true))
|
7547
7677
|
{
|
7548
7678
|
let apiKeyPathArg = apiKeyPath.asRubyArgument(name: "api_key_path", type: nil)
|
7549
7679
|
let apiKeyArg = apiKey.asRubyArgument(name: "api_key", type: nil)
|
@@ -7583,6 +7713,7 @@ public func pilot(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault(ni
|
|
7583
7713
|
let waitProcessingTimeoutDurationArg = waitProcessingTimeoutDuration.asRubyArgument(name: "wait_processing_timeout_duration", type: nil)
|
7584
7714
|
let waitForUploadedBuildArg = waitForUploadedBuild.asRubyArgument(name: "wait_for_uploaded_build", type: nil)
|
7585
7715
|
let rejectBuildWaitingForReviewArg = rejectBuildWaitingForReview.asRubyArgument(name: "reject_build_waiting_for_review", type: nil)
|
7716
|
+
let submitBetaReviewArg = submitBetaReview.asRubyArgument(name: "submit_beta_review", type: nil)
|
7586
7717
|
let array: [RubyCommand.Argument?] = [apiKeyPathArg,
|
7587
7718
|
apiKeyArg,
|
7588
7719
|
usernameArg,
|
@@ -7620,7 +7751,8 @@ public func pilot(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault(ni
|
|
7620
7751
|
waitProcessingIntervalArg,
|
7621
7752
|
waitProcessingTimeoutDurationArg,
|
7622
7753
|
waitForUploadedBuildArg,
|
7623
|
-
rejectBuildWaitingForReviewArg
|
7754
|
+
rejectBuildWaitingForReviewArg,
|
7755
|
+
submitBetaReviewArg]
|
7624
7756
|
let args: [RubyCommand.Argument] = array
|
7625
7757
|
.filter { $0?.value != nil }
|
7626
7758
|
.compactMap { $0 }
|
@@ -7765,6 +7897,8 @@ public func podLibLint(useBundleExec: OptionalConfigValue<Bool> = .fastlaneDefau
|
|
7765
7897
|
- verbose: Show more debugging information
|
7766
7898
|
- useModularHeaders: Use modular headers option during validation
|
7767
7899
|
- synchronous: If validation depends on other recently pushed pods, synchronize
|
7900
|
+
- noOverwrite: Disallow pushing that would overwrite an existing spec
|
7901
|
+
- localOnly: Does not perform the step of pushing REPO to its remote
|
7768
7902
|
*/
|
7769
7903
|
public func podPush(useBundleExec: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
7770
7904
|
path: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
@@ -7778,7 +7912,9 @@ public func podPush(useBundleExec: OptionalConfigValue<Bool> = .fastlaneDefault(
|
|
7778
7912
|
useJson: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
7779
7913
|
verbose: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
7780
7914
|
useModularHeaders: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
7781
|
-
synchronous: OptionalConfigValue<Bool?> = .fastlaneDefault(nil)
|
7915
|
+
synchronous: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
7916
|
+
noOverwrite: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
7917
|
+
localOnly: OptionalConfigValue<Bool?> = .fastlaneDefault(nil))
|
7782
7918
|
{
|
7783
7919
|
let useBundleExecArg = useBundleExec.asRubyArgument(name: "use_bundle_exec", type: nil)
|
7784
7920
|
let pathArg = path.asRubyArgument(name: "path", type: nil)
|
@@ -7793,6 +7929,8 @@ public func podPush(useBundleExec: OptionalConfigValue<Bool> = .fastlaneDefault(
|
|
7793
7929
|
let verboseArg = verbose.asRubyArgument(name: "verbose", type: nil)
|
7794
7930
|
let useModularHeadersArg = useModularHeaders.asRubyArgument(name: "use_modular_headers", type: nil)
|
7795
7931
|
let synchronousArg = synchronous.asRubyArgument(name: "synchronous", type: nil)
|
7932
|
+
let noOverwriteArg = noOverwrite.asRubyArgument(name: "no_overwrite", type: nil)
|
7933
|
+
let localOnlyArg = localOnly.asRubyArgument(name: "local_only", type: nil)
|
7796
7934
|
let array: [RubyCommand.Argument?] = [useBundleExecArg,
|
7797
7935
|
pathArg,
|
7798
7936
|
repoArg,
|
@@ -7805,7 +7943,9 @@ public func podPush(useBundleExec: OptionalConfigValue<Bool> = .fastlaneDefault(
|
|
7805
7943
|
useJsonArg,
|
7806
7944
|
verboseArg,
|
7807
7945
|
useModularHeadersArg,
|
7808
|
-
synchronousArg
|
7946
|
+
synchronousArg,
|
7947
|
+
noOverwriteArg,
|
7948
|
+
localOnlyArg]
|
7809
7949
|
let args: [RubyCommand.Argument] = array
|
7810
7950
|
.filter { $0?.value != nil }
|
7811
7951
|
.compactMap { $0 }
|
@@ -8168,7 +8308,7 @@ public func puts(message: OptionalConfigValue<String?> = .fastlaneDefault(nil))
|
|
8168
8308
|
This can be useful when basing your release process on the version string only stored in one place - in the podspec.
|
8169
8309
|
As one of the first steps you'd read the podspec and its version and the rest of the workflow can use that version string (when e.g. creating a new git tag or a GitHub Release).
|
8170
8310
|
*/
|
8171
|
-
@discardableResult public func readPodspec(path: String) -> [String:
|
8311
|
+
@discardableResult public func readPodspec(path: String) -> [String: Any] {
|
8172
8312
|
let pathArg = RubyCommand.Argument(name: "path", value: path, type: nil)
|
8173
8313
|
let array: [RubyCommand.Argument?] = [pathArg]
|
8174
8314
|
let args: [RubyCommand.Argument] = array
|
@@ -8500,8 +8640,8 @@ public func rubyVersion() {
|
|
8500
8640
|
- project: Path to the project file
|
8501
8641
|
- packagePath: Path to the Swift Package
|
8502
8642
|
- scheme: The project's scheme. Make sure it's marked as `Shared`
|
8503
|
-
- device: The name of the simulator type you want to run tests on (e.g. 'iPhone 6')
|
8504
|
-
- devices: Array of devices to run the tests on (e.g. ['iPhone 6', 'iPad Air'])
|
8643
|
+
- device: The name of the simulator type you want to run tests on (e.g. 'iPhone 6' or 'iPhone SE (2nd generation) (14.5)')
|
8644
|
+
- devices: Array of devices to run the tests on (e.g. ['iPhone 6', 'iPad Air', 'iPhone SE (2nd generation) (14.5)'])
|
8505
8645
|
- skipDetectDevices: Should skip auto detecting of devices if none were specified
|
8506
8646
|
- ensureDevicesFound: Should fail if devices not found
|
8507
8647
|
- forceQuitSimulator: Enabling this option will automatically killall Simulator processes before the run
|
@@ -8522,7 +8662,6 @@ public func rubyVersion() {
|
|
8522
8662
|
- addressSanitizer: Should the address sanitizer be turned on?
|
8523
8663
|
- threadSanitizer: Should the thread sanitizer be turned on?
|
8524
8664
|
- openReport: Should the HTML report be opened when tests are completed?
|
8525
|
-
- disableXcpretty: Disable xcpretty formatting of build, similar to `output_style='raw'` but this will also skip the test results table
|
8526
8665
|
- outputDirectory: The directory in which all reports will be stored
|
8527
8666
|
- outputStyle: Define how the output should look like. Valid values are: standard, basic, rspec, or raw (disables xcpretty during xcodebuild)
|
8528
8667
|
- outputTypes: Comma separated list of the output types (e.g. html, junit, json-compilation-database)
|
@@ -8530,13 +8669,19 @@ public func rubyVersion() {
|
|
8530
8669
|
- buildlogPath: The directory where to store the raw log
|
8531
8670
|
- includeSimulatorLogs: If the logs generated by the app (e.g. using NSLog, perror, etc.) in the Simulator should be written to the output_directory
|
8532
8671
|
- suppressXcodeOutput: Suppress the output of xcodebuild to stdout. Output is still saved in buildlog_path
|
8533
|
-
- formatter:
|
8672
|
+
- xcodebuildFormatter: xcodebuild formatter to use (ex: 'xcbeautify', 'xcbeautify --quieter', 'xcpretty', 'xcpretty -test'). Use empty string (ex: '') to disable any formatter (More information: https://docs.fastlane.tools/best-practices/xcodebuild-formatters/)
|
8673
|
+
- outputRemoveRetryAttempts: Remove retry attempts from test results table and the JUnit report (if not using xcpretty)
|
8674
|
+
- disableXcpretty: **DEPRECATED!** Use `output_style: 'raw'` instead - Disable xcpretty formatting of build, similar to `output_style='raw'` but this will also skip the test results table
|
8675
|
+
- formatter: **DEPRECATED!** Use 'xcpretty_formatter' instead - A custom xcpretty formatter to use
|
8676
|
+
- xcprettyFormatter: A custom xcpretty formatter to use
|
8534
8677
|
- xcprettyArgs: Pass in xcpretty additional command line arguments (e.g. '--test --no-color' or '--tap --no-utf')
|
8535
8678
|
- derivedDataPath: The directory where build products and other derived data will go
|
8536
8679
|
- shouldZipBuildProducts: Should zip the derived data build products and place in output path?
|
8537
8680
|
- outputXctestrun: Should provide additional copy of .xctestrun file (settings.xctestrun) and place in output path?
|
8681
|
+
- resultBundlePath: Custom path for the result bundle, overrides result_bundle
|
8538
8682
|
- resultBundle: Should an Xcode result bundle be generated in the output directory
|
8539
8683
|
- useClangReportName: Generate the json compilation database with clang naming convention (compile_commands.json)
|
8684
|
+
- parallelTesting: Optionally override the per-target setting in the scheme for running tests in parallel. Equivalent to -parallel-testing-enabled
|
8540
8685
|
- concurrentWorkers: Specify the exact number of test runners that will be spawned during parallel testing. Equivalent to -parallel-testing-worker-count
|
8541
8686
|
- maxConcurrentSimulators: Constrain the number of simulator devices on which to test concurrently. Equivalent to -maximum-concurrent-test-simulator-destinations
|
8542
8687
|
- disableConcurrentTesting: Do not run test bundles in parallel on the specified destinations. Testing will occur on each destination serially. Equivalent to -disable-concurrent-testing
|
@@ -8566,83 +8711,90 @@ public func rubyVersion() {
|
|
8566
8711
|
- skipPackageDependenciesResolution: Skips resolution of Swift Package Manager dependencies
|
8567
8712
|
- disablePackageAutomaticUpdates: Prevents packages from automatically being resolved to versions other than those recorded in the `Package.resolved` file
|
8568
8713
|
- useSystemScm: Lets xcodebuild use system's scm configuration
|
8569
|
-
- numberOfRetries: The number of times a test can fail
|
8714
|
+
- numberOfRetries: The number of times a test can fail
|
8570
8715
|
- failBuild: Should this step stop the build if the tests fail? Set this to false if you're using trainer
|
8571
8716
|
|
8717
|
+
- returns: Outputs hash of results with the following keys: :number_of_tests, :number_of_failures, :number_of_retries, :number_of_tests_excluding_retries, :number_of_failures_excluding_retries
|
8718
|
+
|
8572
8719
|
More information: https://docs.fastlane.tools/actions/scan/
|
8573
8720
|
*/
|
8574
|
-
public func runTests(workspace: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8575
|
-
|
8576
|
-
|
8577
|
-
|
8578
|
-
|
8579
|
-
|
8580
|
-
|
8581
|
-
|
8582
|
-
|
8583
|
-
|
8584
|
-
|
8585
|
-
|
8586
|
-
|
8587
|
-
|
8588
|
-
|
8589
|
-
|
8590
|
-
|
8591
|
-
|
8592
|
-
|
8593
|
-
|
8594
|
-
|
8595
|
-
|
8596
|
-
|
8597
|
-
|
8598
|
-
|
8599
|
-
|
8600
|
-
|
8601
|
-
|
8602
|
-
|
8603
|
-
|
8604
|
-
|
8605
|
-
|
8606
|
-
|
8607
|
-
|
8608
|
-
|
8609
|
-
|
8610
|
-
|
8611
|
-
|
8612
|
-
|
8613
|
-
|
8614
|
-
|
8615
|
-
|
8616
|
-
|
8617
|
-
|
8618
|
-
|
8619
|
-
|
8620
|
-
|
8621
|
-
|
8622
|
-
|
8623
|
-
|
8624
|
-
|
8625
|
-
|
8626
|
-
|
8627
|
-
|
8628
|
-
|
8629
|
-
|
8630
|
-
|
8631
|
-
|
8632
|
-
|
8633
|
-
|
8634
|
-
|
8635
|
-
|
8636
|
-
|
8637
|
-
|
8638
|
-
|
8639
|
-
|
8640
|
-
|
8641
|
-
|
8642
|
-
|
8643
|
-
|
8644
|
-
|
8645
|
-
|
8721
|
+
@discardableResult public func runTests(workspace: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8722
|
+
project: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8723
|
+
packagePath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8724
|
+
scheme: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8725
|
+
device: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8726
|
+
devices: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
|
8727
|
+
skipDetectDevices: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8728
|
+
ensureDevicesFound: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8729
|
+
forceQuitSimulator: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8730
|
+
resetSimulator: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8731
|
+
disableSlideToType: OptionalConfigValue<Bool> = .fastlaneDefault(true),
|
8732
|
+
prelaunchSimulator: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
8733
|
+
reinstallApp: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8734
|
+
appIdentifier: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8735
|
+
onlyTesting: Any? = nil,
|
8736
|
+
skipTesting: Any? = nil,
|
8737
|
+
testplan: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8738
|
+
onlyTestConfigurations: Any? = nil,
|
8739
|
+
skipTestConfigurations: Any? = nil,
|
8740
|
+
xctestrun: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8741
|
+
toolchain: Any? = nil,
|
8742
|
+
clean: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8743
|
+
codeCoverage: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
8744
|
+
addressSanitizer: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
8745
|
+
threadSanitizer: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
8746
|
+
openReport: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8747
|
+
outputDirectory: String = "./test_output",
|
8748
|
+
outputStyle: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8749
|
+
outputTypes: String = "html,junit",
|
8750
|
+
outputFiles: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8751
|
+
buildlogPath: String = "~/Library/Logs/scan",
|
8752
|
+
includeSimulatorLogs: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8753
|
+
suppressXcodeOutput: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
8754
|
+
xcodebuildFormatter: String = "xcbeautify",
|
8755
|
+
outputRemoveRetryAttempts: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8756
|
+
disableXcpretty: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
8757
|
+
formatter: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8758
|
+
xcprettyFormatter: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8759
|
+
xcprettyArgs: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8760
|
+
derivedDataPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8761
|
+
shouldZipBuildProducts: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8762
|
+
outputXctestrun: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8763
|
+
resultBundlePath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8764
|
+
resultBundle: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8765
|
+
useClangReportName: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8766
|
+
parallelTesting: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
8767
|
+
concurrentWorkers: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
|
8768
|
+
maxConcurrentSimulators: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
|
8769
|
+
disableConcurrentTesting: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8770
|
+
skipBuild: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8771
|
+
testWithoutBuilding: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
8772
|
+
buildForTesting: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
8773
|
+
sdk: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8774
|
+
configuration: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8775
|
+
xcargs: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8776
|
+
xcconfig: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8777
|
+
appName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8778
|
+
deploymentTargetVersion: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8779
|
+
slackUrl: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8780
|
+
slackChannel: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8781
|
+
slackMessage: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8782
|
+
slackUseWebhookConfiguredUsernameAndIcon: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8783
|
+
slackUsername: String = "fastlane",
|
8784
|
+
slackIconUrl: String = "https://fastlane.tools/assets/img/fastlane_icon.png",
|
8785
|
+
skipSlack: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8786
|
+
slackOnlyOnFailure: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8787
|
+
slackDefaultPayloads: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
|
8788
|
+
destination: Any? = nil,
|
8789
|
+
catalystPlatform: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8790
|
+
customReportFileName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8791
|
+
xcodebuildCommand: String = "env NSUnbufferedIO=YES xcodebuild",
|
8792
|
+
clonedSourcePackagesPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8793
|
+
skipPackageDependenciesResolution: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8794
|
+
disablePackageAutomaticUpdates: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8795
|
+
useSystemScm: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8796
|
+
numberOfRetries: Int = 0,
|
8797
|
+
failBuild: OptionalConfigValue<Bool> = .fastlaneDefault(true)) -> [String: Any]
|
8646
8798
|
{
|
8647
8799
|
let workspaceArg = workspace.asRubyArgument(name: "workspace", type: nil)
|
8648
8800
|
let projectArg = project.asRubyArgument(name: "project", type: nil)
|
@@ -8670,7 +8822,6 @@ public func runTests(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
|
|
8670
8822
|
let addressSanitizerArg = addressSanitizer.asRubyArgument(name: "address_sanitizer", type: nil)
|
8671
8823
|
let threadSanitizerArg = threadSanitizer.asRubyArgument(name: "thread_sanitizer", type: nil)
|
8672
8824
|
let openReportArg = openReport.asRubyArgument(name: "open_report", type: nil)
|
8673
|
-
let disableXcprettyArg = disableXcpretty.asRubyArgument(name: "disable_xcpretty", type: nil)
|
8674
8825
|
let outputDirectoryArg = RubyCommand.Argument(name: "output_directory", value: outputDirectory, type: nil)
|
8675
8826
|
let outputStyleArg = outputStyle.asRubyArgument(name: "output_style", type: nil)
|
8676
8827
|
let outputTypesArg = RubyCommand.Argument(name: "output_types", value: outputTypes, type: nil)
|
@@ -8678,13 +8829,19 @@ public func runTests(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
|
|
8678
8829
|
let buildlogPathArg = RubyCommand.Argument(name: "buildlog_path", value: buildlogPath, type: nil)
|
8679
8830
|
let includeSimulatorLogsArg = includeSimulatorLogs.asRubyArgument(name: "include_simulator_logs", type: nil)
|
8680
8831
|
let suppressXcodeOutputArg = suppressXcodeOutput.asRubyArgument(name: "suppress_xcode_output", type: nil)
|
8832
|
+
let xcodebuildFormatterArg = RubyCommand.Argument(name: "xcodebuild_formatter", value: xcodebuildFormatter, type: nil)
|
8833
|
+
let outputRemoveRetryAttemptsArg = outputRemoveRetryAttempts.asRubyArgument(name: "output_remove_retry_attempts", type: nil)
|
8834
|
+
let disableXcprettyArg = disableXcpretty.asRubyArgument(name: "disable_xcpretty", type: nil)
|
8681
8835
|
let formatterArg = formatter.asRubyArgument(name: "formatter", type: nil)
|
8836
|
+
let xcprettyFormatterArg = xcprettyFormatter.asRubyArgument(name: "xcpretty_formatter", type: nil)
|
8682
8837
|
let xcprettyArgsArg = xcprettyArgs.asRubyArgument(name: "xcpretty_args", type: nil)
|
8683
8838
|
let derivedDataPathArg = derivedDataPath.asRubyArgument(name: "derived_data_path", type: nil)
|
8684
8839
|
let shouldZipBuildProductsArg = shouldZipBuildProducts.asRubyArgument(name: "should_zip_build_products", type: nil)
|
8685
8840
|
let outputXctestrunArg = outputXctestrun.asRubyArgument(name: "output_xctestrun", type: nil)
|
8841
|
+
let resultBundlePathArg = resultBundlePath.asRubyArgument(name: "result_bundle_path", type: nil)
|
8686
8842
|
let resultBundleArg = resultBundle.asRubyArgument(name: "result_bundle", type: nil)
|
8687
8843
|
let useClangReportNameArg = useClangReportName.asRubyArgument(name: "use_clang_report_name", type: nil)
|
8844
|
+
let parallelTestingArg = parallelTesting.asRubyArgument(name: "parallel_testing", type: nil)
|
8688
8845
|
let concurrentWorkersArg = concurrentWorkers.asRubyArgument(name: "concurrent_workers", type: nil)
|
8689
8846
|
let maxConcurrentSimulatorsArg = maxConcurrentSimulators.asRubyArgument(name: "max_concurrent_simulators", type: nil)
|
8690
8847
|
let disableConcurrentTestingArg = disableConcurrentTesting.asRubyArgument(name: "disable_concurrent_testing", type: nil)
|
@@ -8742,7 +8899,6 @@ public func runTests(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
|
|
8742
8899
|
addressSanitizerArg,
|
8743
8900
|
threadSanitizerArg,
|
8744
8901
|
openReportArg,
|
8745
|
-
disableXcprettyArg,
|
8746
8902
|
outputDirectoryArg,
|
8747
8903
|
outputStyleArg,
|
8748
8904
|
outputTypesArg,
|
@@ -8750,13 +8906,19 @@ public func runTests(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
|
|
8750
8906
|
buildlogPathArg,
|
8751
8907
|
includeSimulatorLogsArg,
|
8752
8908
|
suppressXcodeOutputArg,
|
8909
|
+
xcodebuildFormatterArg,
|
8910
|
+
outputRemoveRetryAttemptsArg,
|
8911
|
+
disableXcprettyArg,
|
8753
8912
|
formatterArg,
|
8913
|
+
xcprettyFormatterArg,
|
8754
8914
|
xcprettyArgsArg,
|
8755
8915
|
derivedDataPathArg,
|
8756
8916
|
shouldZipBuildProductsArg,
|
8757
8917
|
outputXctestrunArg,
|
8918
|
+
resultBundlePathArg,
|
8758
8919
|
resultBundleArg,
|
8759
8920
|
useClangReportNameArg,
|
8921
|
+
parallelTestingArg,
|
8760
8922
|
concurrentWorkersArg,
|
8761
8923
|
maxConcurrentSimulatorsArg,
|
8762
8924
|
disableConcurrentTestingArg,
|
@@ -8792,7 +8954,7 @@ public func runTests(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
|
|
8792
8954
|
.filter { $0?.value != nil }
|
8793
8955
|
.compactMap { $0 }
|
8794
8956
|
let command = RubyCommand(commandID: "", methodName: "run_tests", className: nil, args: args)
|
8795
|
-
|
8957
|
+
return parseDictionary(fromString: runner.executeCommand(command))
|
8796
8958
|
}
|
8797
8959
|
|
8798
8960
|
/**
|
@@ -8905,8 +9067,8 @@ public func say(text: [String],
|
|
8905
9067
|
- project: Path to the project file
|
8906
9068
|
- packagePath: Path to the Swift Package
|
8907
9069
|
- scheme: The project's scheme. Make sure it's marked as `Shared`
|
8908
|
-
- device: The name of the simulator type you want to run tests on (e.g. 'iPhone 6')
|
8909
|
-
- devices: Array of devices to run the tests on (e.g. ['iPhone 6', 'iPad Air'])
|
9070
|
+
- device: The name of the simulator type you want to run tests on (e.g. 'iPhone 6' or 'iPhone SE (2nd generation) (14.5)')
|
9071
|
+
- devices: Array of devices to run the tests on (e.g. ['iPhone 6', 'iPad Air', 'iPhone SE (2nd generation) (14.5)'])
|
8910
9072
|
- skipDetectDevices: Should skip auto detecting of devices if none were specified
|
8911
9073
|
- ensureDevicesFound: Should fail if devices not found
|
8912
9074
|
- forceQuitSimulator: Enabling this option will automatically killall Simulator processes before the run
|
@@ -8927,7 +9089,6 @@ public func say(text: [String],
|
|
8927
9089
|
- addressSanitizer: Should the address sanitizer be turned on?
|
8928
9090
|
- threadSanitizer: Should the thread sanitizer be turned on?
|
8929
9091
|
- openReport: Should the HTML report be opened when tests are completed?
|
8930
|
-
- disableXcpretty: Disable xcpretty formatting of build, similar to `output_style='raw'` but this will also skip the test results table
|
8931
9092
|
- outputDirectory: The directory in which all reports will be stored
|
8932
9093
|
- outputStyle: Define how the output should look like. Valid values are: standard, basic, rspec, or raw (disables xcpretty during xcodebuild)
|
8933
9094
|
- outputTypes: Comma separated list of the output types (e.g. html, junit, json-compilation-database)
|
@@ -8935,13 +9096,19 @@ public func say(text: [String],
|
|
8935
9096
|
- buildlogPath: The directory where to store the raw log
|
8936
9097
|
- includeSimulatorLogs: If the logs generated by the app (e.g. using NSLog, perror, etc.) in the Simulator should be written to the output_directory
|
8937
9098
|
- suppressXcodeOutput: Suppress the output of xcodebuild to stdout. Output is still saved in buildlog_path
|
8938
|
-
- formatter:
|
9099
|
+
- xcodebuildFormatter: xcodebuild formatter to use (ex: 'xcbeautify', 'xcbeautify --quieter', 'xcpretty', 'xcpretty -test'). Use empty string (ex: '') to disable any formatter (More information: https://docs.fastlane.tools/best-practices/xcodebuild-formatters/)
|
9100
|
+
- outputRemoveRetryAttempts: Remove retry attempts from test results table and the JUnit report (if not using xcpretty)
|
9101
|
+
- disableXcpretty: **DEPRECATED!** Use `output_style: 'raw'` instead - Disable xcpretty formatting of build, similar to `output_style='raw'` but this will also skip the test results table
|
9102
|
+
- formatter: **DEPRECATED!** Use 'xcpretty_formatter' instead - A custom xcpretty formatter to use
|
9103
|
+
- xcprettyFormatter: A custom xcpretty formatter to use
|
8939
9104
|
- xcprettyArgs: Pass in xcpretty additional command line arguments (e.g. '--test --no-color' or '--tap --no-utf')
|
8940
9105
|
- derivedDataPath: The directory where build products and other derived data will go
|
8941
9106
|
- shouldZipBuildProducts: Should zip the derived data build products and place in output path?
|
8942
9107
|
- outputXctestrun: Should provide additional copy of .xctestrun file (settings.xctestrun) and place in output path?
|
9108
|
+
- resultBundlePath: Custom path for the result bundle, overrides result_bundle
|
8943
9109
|
- resultBundle: Should an Xcode result bundle be generated in the output directory
|
8944
9110
|
- useClangReportName: Generate the json compilation database with clang naming convention (compile_commands.json)
|
9111
|
+
- parallelTesting: Optionally override the per-target setting in the scheme for running tests in parallel. Equivalent to -parallel-testing-enabled
|
8945
9112
|
- concurrentWorkers: Specify the exact number of test runners that will be spawned during parallel testing. Equivalent to -parallel-testing-worker-count
|
8946
9113
|
- maxConcurrentSimulators: Constrain the number of simulator devices on which to test concurrently. Equivalent to -maximum-concurrent-test-simulator-destinations
|
8947
9114
|
- disableConcurrentTesting: Do not run test bundles in parallel on the specified destinations. Testing will occur on each destination serially. Equivalent to -disable-concurrent-testing
|
@@ -8971,83 +9138,90 @@ public func say(text: [String],
|
|
8971
9138
|
- skipPackageDependenciesResolution: Skips resolution of Swift Package Manager dependencies
|
8972
9139
|
- disablePackageAutomaticUpdates: Prevents packages from automatically being resolved to versions other than those recorded in the `Package.resolved` file
|
8973
9140
|
- useSystemScm: Lets xcodebuild use system's scm configuration
|
8974
|
-
- numberOfRetries: The number of times a test can fail
|
9141
|
+
- numberOfRetries: The number of times a test can fail
|
8975
9142
|
- failBuild: Should this step stop the build if the tests fail? Set this to false if you're using trainer
|
8976
9143
|
|
9144
|
+
- returns: Outputs hash of results with the following keys: :number_of_tests, :number_of_failures, :number_of_retries, :number_of_tests_excluding_retries, :number_of_failures_excluding_retries
|
9145
|
+
|
8977
9146
|
More information: https://docs.fastlane.tools/actions/scan/
|
8978
9147
|
*/
|
8979
|
-
public func scan(workspace: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.workspace),
|
8980
|
-
|
8981
|
-
|
8982
|
-
|
8983
|
-
|
8984
|
-
|
8985
|
-
|
8986
|
-
|
8987
|
-
|
8988
|
-
|
8989
|
-
|
8990
|
-
|
8991
|
-
|
8992
|
-
|
8993
|
-
|
8994
|
-
|
8995
|
-
|
8996
|
-
|
8997
|
-
|
8998
|
-
|
8999
|
-
|
9000
|
-
|
9001
|
-
|
9002
|
-
|
9003
|
-
|
9004
|
-
|
9005
|
-
|
9006
|
-
|
9007
|
-
|
9008
|
-
|
9009
|
-
|
9010
|
-
|
9011
|
-
|
9012
|
-
|
9013
|
-
|
9014
|
-
|
9015
|
-
|
9016
|
-
|
9017
|
-
|
9018
|
-
|
9019
|
-
|
9020
|
-
|
9021
|
-
|
9022
|
-
|
9023
|
-
|
9024
|
-
|
9025
|
-
|
9026
|
-
|
9027
|
-
|
9028
|
-
|
9029
|
-
|
9030
|
-
|
9031
|
-
|
9032
|
-
|
9033
|
-
|
9034
|
-
|
9035
|
-
|
9036
|
-
|
9037
|
-
|
9038
|
-
|
9039
|
-
|
9040
|
-
|
9041
|
-
|
9042
|
-
|
9043
|
-
|
9044
|
-
|
9045
|
-
|
9046
|
-
|
9047
|
-
|
9048
|
-
|
9049
|
-
|
9050
|
-
|
9148
|
+
@discardableResult public func scan(workspace: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.workspace),
|
9149
|
+
project: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.project),
|
9150
|
+
packagePath: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.packagePath),
|
9151
|
+
scheme: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.scheme),
|
9152
|
+
device: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.device),
|
9153
|
+
devices: OptionalConfigValue<[String]?> = .fastlaneDefault(scanfile.devices),
|
9154
|
+
skipDetectDevices: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.skipDetectDevices),
|
9155
|
+
ensureDevicesFound: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.ensureDevicesFound),
|
9156
|
+
forceQuitSimulator: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.forceQuitSimulator),
|
9157
|
+
resetSimulator: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.resetSimulator),
|
9158
|
+
disableSlideToType: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.disableSlideToType),
|
9159
|
+
prelaunchSimulator: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.prelaunchSimulator),
|
9160
|
+
reinstallApp: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.reinstallApp),
|
9161
|
+
appIdentifier: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.appIdentifier),
|
9162
|
+
onlyTesting: Any? = scanfile.onlyTesting,
|
9163
|
+
skipTesting: Any? = scanfile.skipTesting,
|
9164
|
+
testplan: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.testplan),
|
9165
|
+
onlyTestConfigurations: Any? = scanfile.onlyTestConfigurations,
|
9166
|
+
skipTestConfigurations: Any? = scanfile.skipTestConfigurations,
|
9167
|
+
xctestrun: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.xctestrun),
|
9168
|
+
toolchain: Any? = scanfile.toolchain,
|
9169
|
+
clean: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.clean),
|
9170
|
+
codeCoverage: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.codeCoverage),
|
9171
|
+
addressSanitizer: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.addressSanitizer),
|
9172
|
+
threadSanitizer: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.threadSanitizer),
|
9173
|
+
openReport: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.openReport),
|
9174
|
+
outputDirectory: String = scanfile.outputDirectory,
|
9175
|
+
outputStyle: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.outputStyle),
|
9176
|
+
outputTypes: String = scanfile.outputTypes,
|
9177
|
+
outputFiles: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.outputFiles),
|
9178
|
+
buildlogPath: String = scanfile.buildlogPath,
|
9179
|
+
includeSimulatorLogs: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.includeSimulatorLogs),
|
9180
|
+
suppressXcodeOutput: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.suppressXcodeOutput),
|
9181
|
+
xcodebuildFormatter: String = scanfile.xcodebuildFormatter,
|
9182
|
+
outputRemoveRetryAttempts: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.outputRemoveRetryAttempts),
|
9183
|
+
disableXcpretty: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.disableXcpretty),
|
9184
|
+
formatter: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.formatter),
|
9185
|
+
xcprettyFormatter: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.xcprettyFormatter),
|
9186
|
+
xcprettyArgs: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.xcprettyArgs),
|
9187
|
+
derivedDataPath: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.derivedDataPath),
|
9188
|
+
shouldZipBuildProducts: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.shouldZipBuildProducts),
|
9189
|
+
outputXctestrun: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.outputXctestrun),
|
9190
|
+
resultBundlePath: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.resultBundlePath),
|
9191
|
+
resultBundle: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.resultBundle),
|
9192
|
+
useClangReportName: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.useClangReportName),
|
9193
|
+
parallelTesting: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.parallelTesting),
|
9194
|
+
concurrentWorkers: OptionalConfigValue<Int?> = .fastlaneDefault(scanfile.concurrentWorkers),
|
9195
|
+
maxConcurrentSimulators: OptionalConfigValue<Int?> = .fastlaneDefault(scanfile.maxConcurrentSimulators),
|
9196
|
+
disableConcurrentTesting: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.disableConcurrentTesting),
|
9197
|
+
skipBuild: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.skipBuild),
|
9198
|
+
testWithoutBuilding: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.testWithoutBuilding),
|
9199
|
+
buildForTesting: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.buildForTesting),
|
9200
|
+
sdk: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.sdk),
|
9201
|
+
configuration: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.configuration),
|
9202
|
+
xcargs: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.xcargs),
|
9203
|
+
xcconfig: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.xcconfig),
|
9204
|
+
appName: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.appName),
|
9205
|
+
deploymentTargetVersion: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.deploymentTargetVersion),
|
9206
|
+
slackUrl: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.slackUrl),
|
9207
|
+
slackChannel: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.slackChannel),
|
9208
|
+
slackMessage: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.slackMessage),
|
9209
|
+
slackUseWebhookConfiguredUsernameAndIcon: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.slackUseWebhookConfiguredUsernameAndIcon),
|
9210
|
+
slackUsername: String = scanfile.slackUsername,
|
9211
|
+
slackIconUrl: String = scanfile.slackIconUrl,
|
9212
|
+
skipSlack: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.skipSlack),
|
9213
|
+
slackOnlyOnFailure: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.slackOnlyOnFailure),
|
9214
|
+
slackDefaultPayloads: OptionalConfigValue<[String]?> = .fastlaneDefault(scanfile.slackDefaultPayloads),
|
9215
|
+
destination: Any? = scanfile.destination,
|
9216
|
+
catalystPlatform: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.catalystPlatform),
|
9217
|
+
customReportFileName: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.customReportFileName),
|
9218
|
+
xcodebuildCommand: String = scanfile.xcodebuildCommand,
|
9219
|
+
clonedSourcePackagesPath: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.clonedSourcePackagesPath),
|
9220
|
+
skipPackageDependenciesResolution: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.skipPackageDependenciesResolution),
|
9221
|
+
disablePackageAutomaticUpdates: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.disablePackageAutomaticUpdates),
|
9222
|
+
useSystemScm: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.useSystemScm),
|
9223
|
+
numberOfRetries: Int = scanfile.numberOfRetries,
|
9224
|
+
failBuild: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.failBuild)) -> [String: Any]
|
9051
9225
|
{
|
9052
9226
|
let workspaceArg = workspace.asRubyArgument(name: "workspace", type: nil)
|
9053
9227
|
let projectArg = project.asRubyArgument(name: "project", type: nil)
|
@@ -9075,7 +9249,6 @@ public func scan(workspace: OptionalConfigValue<String?> = .fastlaneDefault(scan
|
|
9075
9249
|
let addressSanitizerArg = addressSanitizer.asRubyArgument(name: "address_sanitizer", type: nil)
|
9076
9250
|
let threadSanitizerArg = threadSanitizer.asRubyArgument(name: "thread_sanitizer", type: nil)
|
9077
9251
|
let openReportArg = openReport.asRubyArgument(name: "open_report", type: nil)
|
9078
|
-
let disableXcprettyArg = disableXcpretty.asRubyArgument(name: "disable_xcpretty", type: nil)
|
9079
9252
|
let outputDirectoryArg = RubyCommand.Argument(name: "output_directory", value: outputDirectory, type: nil)
|
9080
9253
|
let outputStyleArg = outputStyle.asRubyArgument(name: "output_style", type: nil)
|
9081
9254
|
let outputTypesArg = RubyCommand.Argument(name: "output_types", value: outputTypes, type: nil)
|
@@ -9083,13 +9256,19 @@ public func scan(workspace: OptionalConfigValue<String?> = .fastlaneDefault(scan
|
|
9083
9256
|
let buildlogPathArg = RubyCommand.Argument(name: "buildlog_path", value: buildlogPath, type: nil)
|
9084
9257
|
let includeSimulatorLogsArg = includeSimulatorLogs.asRubyArgument(name: "include_simulator_logs", type: nil)
|
9085
9258
|
let suppressXcodeOutputArg = suppressXcodeOutput.asRubyArgument(name: "suppress_xcode_output", type: nil)
|
9259
|
+
let xcodebuildFormatterArg = RubyCommand.Argument(name: "xcodebuild_formatter", value: xcodebuildFormatter, type: nil)
|
9260
|
+
let outputRemoveRetryAttemptsArg = outputRemoveRetryAttempts.asRubyArgument(name: "output_remove_retry_attempts", type: nil)
|
9261
|
+
let disableXcprettyArg = disableXcpretty.asRubyArgument(name: "disable_xcpretty", type: nil)
|
9086
9262
|
let formatterArg = formatter.asRubyArgument(name: "formatter", type: nil)
|
9263
|
+
let xcprettyFormatterArg = xcprettyFormatter.asRubyArgument(name: "xcpretty_formatter", type: nil)
|
9087
9264
|
let xcprettyArgsArg = xcprettyArgs.asRubyArgument(name: "xcpretty_args", type: nil)
|
9088
9265
|
let derivedDataPathArg = derivedDataPath.asRubyArgument(name: "derived_data_path", type: nil)
|
9089
9266
|
let shouldZipBuildProductsArg = shouldZipBuildProducts.asRubyArgument(name: "should_zip_build_products", type: nil)
|
9090
9267
|
let outputXctestrunArg = outputXctestrun.asRubyArgument(name: "output_xctestrun", type: nil)
|
9268
|
+
let resultBundlePathArg = resultBundlePath.asRubyArgument(name: "result_bundle_path", type: nil)
|
9091
9269
|
let resultBundleArg = resultBundle.asRubyArgument(name: "result_bundle", type: nil)
|
9092
9270
|
let useClangReportNameArg = useClangReportName.asRubyArgument(name: "use_clang_report_name", type: nil)
|
9271
|
+
let parallelTestingArg = parallelTesting.asRubyArgument(name: "parallel_testing", type: nil)
|
9093
9272
|
let concurrentWorkersArg = concurrentWorkers.asRubyArgument(name: "concurrent_workers", type: nil)
|
9094
9273
|
let maxConcurrentSimulatorsArg = maxConcurrentSimulators.asRubyArgument(name: "max_concurrent_simulators", type: nil)
|
9095
9274
|
let disableConcurrentTestingArg = disableConcurrentTesting.asRubyArgument(name: "disable_concurrent_testing", type: nil)
|
@@ -9147,7 +9326,6 @@ public func scan(workspace: OptionalConfigValue<String?> = .fastlaneDefault(scan
|
|
9147
9326
|
addressSanitizerArg,
|
9148
9327
|
threadSanitizerArg,
|
9149
9328
|
openReportArg,
|
9150
|
-
disableXcprettyArg,
|
9151
9329
|
outputDirectoryArg,
|
9152
9330
|
outputStyleArg,
|
9153
9331
|
outputTypesArg,
|
@@ -9155,13 +9333,19 @@ public func scan(workspace: OptionalConfigValue<String?> = .fastlaneDefault(scan
|
|
9155
9333
|
buildlogPathArg,
|
9156
9334
|
includeSimulatorLogsArg,
|
9157
9335
|
suppressXcodeOutputArg,
|
9336
|
+
xcodebuildFormatterArg,
|
9337
|
+
outputRemoveRetryAttemptsArg,
|
9338
|
+
disableXcprettyArg,
|
9158
9339
|
formatterArg,
|
9340
|
+
xcprettyFormatterArg,
|
9159
9341
|
xcprettyArgsArg,
|
9160
9342
|
derivedDataPathArg,
|
9161
9343
|
shouldZipBuildProductsArg,
|
9162
9344
|
outputXctestrunArg,
|
9345
|
+
resultBundlePathArg,
|
9163
9346
|
resultBundleArg,
|
9164
9347
|
useClangReportNameArg,
|
9348
|
+
parallelTestingArg,
|
9165
9349
|
concurrentWorkersArg,
|
9166
9350
|
maxConcurrentSimulatorsArg,
|
9167
9351
|
disableConcurrentTestingArg,
|
@@ -9197,7 +9381,7 @@ public func scan(workspace: OptionalConfigValue<String?> = .fastlaneDefault(scan
|
|
9197
9381
|
.filter { $0?.value != nil }
|
9198
9382
|
.compactMap { $0 }
|
9199
9383
|
let command = RubyCommand(commandID: "", methodName: "scan", className: nil, args: args)
|
9200
|
-
|
9384
|
+
return parseDictionary(fromString: runner.executeCommand(command))
|
9201
9385
|
}
|
9202
9386
|
|
9203
9387
|
/**
|
@@ -9430,6 +9614,7 @@ public func setChangelog(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDef
|
|
9430
9614
|
- description: Description of this release
|
9431
9615
|
- isDraft: Whether the release should be marked as draft
|
9432
9616
|
- isPrerelease: Whether the release should be marked as prerelease
|
9617
|
+
- isGenerateReleaseNotes: Whether the name and body of this release should be generated automatically
|
9433
9618
|
- uploadAssets: Path to assets to be uploaded with the release
|
9434
9619
|
|
9435
9620
|
- returns: A hash containing all relevant information of this release
|
@@ -9449,6 +9634,7 @@ public func setChangelog(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDef
|
|
9449
9634
|
description: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
9450
9635
|
isDraft: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
9451
9636
|
isPrerelease: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
9637
|
+
isGenerateReleaseNotes: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
9452
9638
|
uploadAssets: OptionalConfigValue<[String]?> = .fastlaneDefault(nil)) -> [String: Any]
|
9453
9639
|
{
|
9454
9640
|
let repositoryNameArg = RubyCommand.Argument(name: "repository_name", value: repositoryName, type: nil)
|
@@ -9461,6 +9647,7 @@ public func setChangelog(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDef
|
|
9461
9647
|
let descriptionArg = description.asRubyArgument(name: "description", type: nil)
|
9462
9648
|
let isDraftArg = isDraft.asRubyArgument(name: "is_draft", type: nil)
|
9463
9649
|
let isPrereleaseArg = isPrerelease.asRubyArgument(name: "is_prerelease", type: nil)
|
9650
|
+
let isGenerateReleaseNotesArg = isGenerateReleaseNotes.asRubyArgument(name: "is_generate_release_notes", type: nil)
|
9464
9651
|
let uploadAssetsArg = uploadAssets.asRubyArgument(name: "upload_assets", type: nil)
|
9465
9652
|
let array: [RubyCommand.Argument?] = [repositoryNameArg,
|
9466
9653
|
serverUrlArg,
|
@@ -9472,6 +9659,7 @@ public func setChangelog(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDef
|
|
9472
9659
|
descriptionArg,
|
9473
9660
|
isDraftArg,
|
9474
9661
|
isPrereleaseArg,
|
9662
|
+
isGenerateReleaseNotesArg,
|
9475
9663
|
uploadAssetsArg]
|
9476
9664
|
let args: [RubyCommand.Argument] = array
|
9477
9665
|
.filter { $0?.value != nil }
|
@@ -9550,6 +9738,7 @@ public func setPodKey(useBundleExec: OptionalConfigValue<Bool> = .fastlaneDefaul
|
|
9550
9738
|
- parameters:
|
9551
9739
|
- force: Force setup, even if not executed by CI
|
9552
9740
|
- provider: CI provider. If none is set, the provider is detected automatically
|
9741
|
+
- timeout: Set a custom timeout in seconds for keychain. Set `0` if you want to specify 'no time-out'
|
9553
9742
|
|
9554
9743
|
- Creates a new temporary keychain for use with match|
|
9555
9744
|
- Switches match to `readonly` mode to not create new profiles/cert on CI|
|
@@ -9558,12 +9747,15 @@ public func setPodKey(useBundleExec: OptionalConfigValue<Bool> = .fastlaneDefaul
|
|
9558
9747
|
This action helps with CI integration. Add this to the top of your Fastfile if you use CI.
|
9559
9748
|
*/
|
9560
9749
|
public func setupCi(force: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
9561
|
-
provider: OptionalConfigValue<String?> = .fastlaneDefault(nil)
|
9750
|
+
provider: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
9751
|
+
timeout: Int = 3600)
|
9562
9752
|
{
|
9563
9753
|
let forceArg = force.asRubyArgument(name: "force", type: nil)
|
9564
9754
|
let providerArg = provider.asRubyArgument(name: "provider", type: nil)
|
9755
|
+
let timeoutArg = RubyCommand.Argument(name: "timeout", value: timeout, type: nil)
|
9565
9756
|
let array: [RubyCommand.Argument?] = [forceArg,
|
9566
|
-
providerArg
|
9757
|
+
providerArg,
|
9758
|
+
timeoutArg]
|
9567
9759
|
let args: [RubyCommand.Argument] = array
|
9568
9760
|
.filter { $0?.value != nil }
|
9569
9761
|
.compactMap { $0 }
|
@@ -9720,6 +9912,7 @@ public func setupTravis(force: OptionalConfigValue<Bool> = .fastlaneDefault(fals
|
|
9720
9912
|
- development: Renew the development certificate instead of the production one
|
9721
9913
|
- skipInstall: By default, the certificate will be added to your local machine. Setting this flag will skip this action
|
9722
9914
|
- force: Renew provisioning profiles regardless of its state - to automatically add all devices for ad hoc profiles
|
9915
|
+
- includeMacInProfiles: Include Apple Silicon Mac devices in provisioning profiles for iOS/iPadOS apps
|
9723
9916
|
- appIdentifier: The bundle identifier of your app
|
9724
9917
|
- 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)
|
9725
9918
|
- apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
|
@@ -9749,6 +9942,7 @@ public func setupTravis(force: OptionalConfigValue<Bool> = .fastlaneDefault(fals
|
|
9749
9942
|
development: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
9750
9943
|
skipInstall: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
9751
9944
|
force: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
9945
|
+
includeMacInProfiles: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
9752
9946
|
appIdentifier: String,
|
9753
9947
|
apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
9754
9948
|
apiKey: OptionalConfigValue<[String: Any]?> = .fastlaneDefault(nil),
|
@@ -9774,6 +9968,7 @@ public func setupTravis(force: OptionalConfigValue<Bool> = .fastlaneDefault(fals
|
|
9774
9968
|
let developmentArg = development.asRubyArgument(name: "development", type: nil)
|
9775
9969
|
let skipInstallArg = skipInstall.asRubyArgument(name: "skip_install", type: nil)
|
9776
9970
|
let forceArg = force.asRubyArgument(name: "force", type: nil)
|
9971
|
+
let includeMacInProfilesArg = includeMacInProfiles.asRubyArgument(name: "include_mac_in_profiles", type: nil)
|
9777
9972
|
let appIdentifierArg = RubyCommand.Argument(name: "app_identifier", value: appIdentifier, type: nil)
|
9778
9973
|
let apiKeyPathArg = apiKeyPath.asRubyArgument(name: "api_key_path", type: nil)
|
9779
9974
|
let apiKeyArg = apiKey.asRubyArgument(name: "api_key", type: nil)
|
@@ -9798,6 +9993,7 @@ public func setupTravis(force: OptionalConfigValue<Bool> = .fastlaneDefault(fals
|
|
9798
9993
|
developmentArg,
|
9799
9994
|
skipInstallArg,
|
9800
9995
|
forceArg,
|
9996
|
+
includeMacInProfilesArg,
|
9801
9997
|
appIdentifierArg,
|
9802
9998
|
apiKeyPathArg,
|
9803
9999
|
apiKeyArg,
|
@@ -10116,7 +10312,7 @@ public func slather(buildDirectory: OptionalConfigValue<String?> = .fastlaneDefa
|
|
10116
10312
|
- eraseSimulator: Enabling this option will automatically erase the simulator before running the application
|
10117
10313
|
- headless: Enabling this option will prevent displaying the simulator window
|
10118
10314
|
- overrideStatusBar: Enabling this option will automatically override the status bar to show 9:41 AM, full battery, and full reception (Adjust 'SNAPSHOT_SIMULATOR_WAIT_FOR_BOOT_TIMEOUT' environment variable if override status bar is not working. Might be because simulator is not fully booted. Defaults to 10 seconds)
|
10119
|
-
- overrideStatusBarArguments: Fully customize the status bar by setting each option here. See `xcrun simctl status_bar --help`
|
10315
|
+
- overrideStatusBarArguments: Fully customize the status bar by setting each option here. Requires `override_status_bar` to be set to `true`. See `xcrun simctl status_bar --help`
|
10120
10316
|
- localizeSimulator: Enabling this option will configure the Simulator's system language
|
10121
10317
|
- darkMode: Enabling this option will configure the Simulator to be in dark mode (false for light, true for dark)
|
10122
10318
|
- appIdentifier: The bundle identifier of the app to uninstall (only needed when enabling reinstall_app)
|
@@ -10127,7 +10323,6 @@ public func slather(buildDirectory: OptionalConfigValue<String?> = .fastlaneDefa
|
|
10127
10323
|
- clean: Should the project be cleaned before building it?
|
10128
10324
|
- testWithoutBuilding: Test without building, requires a derived data path
|
10129
10325
|
- configuration: The configuration to use when building the app. Defaults to 'Release'
|
10130
|
-
- xcprettyArgs: Additional xcpretty arguments
|
10131
10326
|
- sdk: The SDK that should be used for building the application
|
10132
10327
|
- scheme: The scheme you want to use, this must be the scheme for the UI Tests
|
10133
10328
|
- numberOfRetries: The number of times a test can fail before snapshot should stop retrying
|
@@ -10144,6 +10339,8 @@ public func slather(buildDirectory: OptionalConfigValue<String?> = .fastlaneDefa
|
|
10144
10339
|
- testplan: The testplan associated with the scheme that should be used for testing
|
10145
10340
|
- onlyTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to run
|
10146
10341
|
- skipTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to skip
|
10342
|
+
- xcodebuildFormatter: xcodebuild formatter to use (ex: 'xcbeautify', 'xcbeautify --quieter', 'xcpretty', 'xcpretty -test'). Use empty string (ex: '') to disable any formatter (More information: https://docs.fastlane.tools/best-practices/xcodebuild-formatters/)
|
10343
|
+
- xcprettyArgs: **DEPRECATED!** Use `xcodebuild_formatter: ''` instead - Additional xcpretty arguments
|
10147
10344
|
- disableXcpretty: Disable xcpretty formatting of build
|
10148
10345
|
- suppressXcodeOutput: Suppress the output of xcodebuild to stdout. Output is still saved in buildlog_path
|
10149
10346
|
- useSystemScm: Lets xcodebuild use system's scm configuration
|
@@ -10176,7 +10373,6 @@ public func snapshot(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
|
|
10176
10373
|
clean: OptionalConfigValue<Bool> = .fastlaneDefault(snapshotfile.clean),
|
10177
10374
|
testWithoutBuilding: OptionalConfigValue<Bool?> = .fastlaneDefault(snapshotfile.testWithoutBuilding),
|
10178
10375
|
configuration: OptionalConfigValue<String?> = .fastlaneDefault(snapshotfile.configuration),
|
10179
|
-
xcprettyArgs: OptionalConfigValue<String?> = .fastlaneDefault(snapshotfile.xcprettyArgs),
|
10180
10376
|
sdk: OptionalConfigValue<String?> = .fastlaneDefault(snapshotfile.sdk),
|
10181
10377
|
scheme: OptionalConfigValue<String?> = .fastlaneDefault(snapshotfile.scheme),
|
10182
10378
|
numberOfRetries: Int = snapshotfile.numberOfRetries,
|
@@ -10193,6 +10389,8 @@ public func snapshot(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
|
|
10193
10389
|
testplan: OptionalConfigValue<String?> = .fastlaneDefault(snapshotfile.testplan),
|
10194
10390
|
onlyTesting: Any? = snapshotfile.onlyTesting,
|
10195
10391
|
skipTesting: Any? = snapshotfile.skipTesting,
|
10392
|
+
xcodebuildFormatter: String = snapshotfile.xcodebuildFormatter,
|
10393
|
+
xcprettyArgs: OptionalConfigValue<String?> = .fastlaneDefault(snapshotfile.xcprettyArgs),
|
10196
10394
|
disableXcpretty: OptionalConfigValue<Bool?> = .fastlaneDefault(snapshotfile.disableXcpretty),
|
10197
10395
|
suppressXcodeOutput: OptionalConfigValue<Bool?> = .fastlaneDefault(snapshotfile.suppressXcodeOutput),
|
10198
10396
|
useSystemScm: OptionalConfigValue<Bool> = .fastlaneDefault(snapshotfile.useSystemScm))
|
@@ -10225,7 +10423,6 @@ public func snapshot(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
|
|
10225
10423
|
let cleanArg = clean.asRubyArgument(name: "clean", type: nil)
|
10226
10424
|
let testWithoutBuildingArg = testWithoutBuilding.asRubyArgument(name: "test_without_building", type: nil)
|
10227
10425
|
let configurationArg = configuration.asRubyArgument(name: "configuration", type: nil)
|
10228
|
-
let xcprettyArgsArg = xcprettyArgs.asRubyArgument(name: "xcpretty_args", type: nil)
|
10229
10426
|
let sdkArg = sdk.asRubyArgument(name: "sdk", type: nil)
|
10230
10427
|
let schemeArg = scheme.asRubyArgument(name: "scheme", type: nil)
|
10231
10428
|
let numberOfRetriesArg = RubyCommand.Argument(name: "number_of_retries", value: numberOfRetries, type: nil)
|
@@ -10242,6 +10439,8 @@ public func snapshot(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
|
|
10242
10439
|
let testplanArg = testplan.asRubyArgument(name: "testplan", type: nil)
|
10243
10440
|
let onlyTestingArg = RubyCommand.Argument(name: "only_testing", value: onlyTesting, type: nil)
|
10244
10441
|
let skipTestingArg = RubyCommand.Argument(name: "skip_testing", value: skipTesting, type: nil)
|
10442
|
+
let xcodebuildFormatterArg = RubyCommand.Argument(name: "xcodebuild_formatter", value: xcodebuildFormatter, type: nil)
|
10443
|
+
let xcprettyArgsArg = xcprettyArgs.asRubyArgument(name: "xcpretty_args", type: nil)
|
10245
10444
|
let disableXcprettyArg = disableXcpretty.asRubyArgument(name: "disable_xcpretty", type: nil)
|
10246
10445
|
let suppressXcodeOutputArg = suppressXcodeOutput.asRubyArgument(name: "suppress_xcode_output", type: nil)
|
10247
10446
|
let useSystemScmArg = useSystemScm.asRubyArgument(name: "use_system_scm", type: nil)
|
@@ -10273,7 +10472,6 @@ public func snapshot(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
|
|
10273
10472
|
cleanArg,
|
10274
10473
|
testWithoutBuildingArg,
|
10275
10474
|
configurationArg,
|
10276
|
-
xcprettyArgsArg,
|
10277
10475
|
sdkArg,
|
10278
10476
|
schemeArg,
|
10279
10477
|
numberOfRetriesArg,
|
@@ -10290,6 +10488,8 @@ public func snapshot(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
|
|
10290
10488
|
testplanArg,
|
10291
10489
|
onlyTestingArg,
|
10292
10490
|
skipTestingArg,
|
10491
|
+
xcodebuildFormatterArg,
|
10492
|
+
xcprettyArgsArg,
|
10293
10493
|
disableXcprettyArg,
|
10294
10494
|
suppressXcodeOutputArg,
|
10295
10495
|
useSystemScmArg]
|
@@ -10668,6 +10868,7 @@ public func ssh(username: String,
|
|
10668
10868
|
- skipUploadImages: Whether to skip uploading images, screenshots not included
|
10669
10869
|
- skipUploadScreenshots: Whether to skip uploading SCREENSHOTS
|
10670
10870
|
- trackPromoteTo: The track to promote to. The default available tracks are: production, beta, alpha, internal
|
10871
|
+
- trackPromoteReleaseStatus: Promoted track release status (used when promoting a track) - valid values are completed, draft, halted, inProgress
|
10671
10872
|
- validateOnly: Only validate changes with Google Play rather than actually publish
|
10672
10873
|
- mapping: Path to the mapping file to upload (mapping.txt or native-debug-symbols.zip alike)
|
10673
10874
|
- mappingPaths: An array of paths to mapping files to upload (mapping.txt or native-debug-symbols.zip alike)
|
@@ -10709,6 +10910,7 @@ public func supply(packageName: String,
|
|
10709
10910
|
skipUploadImages: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
10710
10911
|
skipUploadScreenshots: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
10711
10912
|
trackPromoteTo: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
10913
|
+
trackPromoteReleaseStatus: String = "completed",
|
10712
10914
|
validateOnly: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
10713
10915
|
mapping: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
10714
10916
|
mappingPaths: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
|
@@ -10748,6 +10950,7 @@ public func supply(packageName: String,
|
|
10748
10950
|
let skipUploadImagesArg = skipUploadImages.asRubyArgument(name: "skip_upload_images", type: nil)
|
10749
10951
|
let skipUploadScreenshotsArg = skipUploadScreenshots.asRubyArgument(name: "skip_upload_screenshots", type: nil)
|
10750
10952
|
let trackPromoteToArg = trackPromoteTo.asRubyArgument(name: "track_promote_to", type: nil)
|
10953
|
+
let trackPromoteReleaseStatusArg = RubyCommand.Argument(name: "track_promote_release_status", value: trackPromoteReleaseStatus, type: nil)
|
10751
10954
|
let validateOnlyArg = validateOnly.asRubyArgument(name: "validate_only", type: nil)
|
10752
10955
|
let mappingArg = mapping.asRubyArgument(name: "mapping", type: nil)
|
10753
10956
|
let mappingPathsArg = mappingPaths.asRubyArgument(name: "mapping_paths", type: nil)
|
@@ -10786,6 +10989,7 @@ public func supply(packageName: String,
|
|
10786
10989
|
skipUploadImagesArg,
|
10787
10990
|
skipUploadScreenshotsArg,
|
10788
10991
|
trackPromoteToArg,
|
10992
|
+
trackPromoteReleaseStatusArg,
|
10789
10993
|
validateOnlyArg,
|
10790
10994
|
mappingArg,
|
10791
10995
|
mappingPathsArg,
|
@@ -10882,7 +11086,7 @@ public func swiftlint(mode: String = "lint",
|
|
10882
11086
|
Easily sync your certificates and profiles across your team (via _match_)
|
10883
11087
|
|
10884
11088
|
- parameters:
|
10885
|
-
- type: Define the profile type, can be appstore, adhoc, development, enterprise, developer_id, mac_installer_distribution
|
11089
|
+
- type: Define the profile type, can be appstore, adhoc, development, enterprise, developer_id, mac_installer_distribution, developer_id_installer
|
10886
11090
|
- additionalCertTypes: Create additional cert types needed for macOS installers (valid values: mac_installer_distribution, developer_id_installer)
|
10887
11091
|
- readonly: Only fetch existing certificates and profiles, don't generate new ones
|
10888
11092
|
- generateAppleCerts: Create a certificate type for Xcode 11 and later (Apple Development or Apple Distribution)
|
@@ -10906,18 +11110,22 @@ public func swiftlint(mode: String = "lint",
|
|
10906
11110
|
- googleCloudBucketName: Name of the Google Cloud Storage bucket to use
|
10907
11111
|
- googleCloudKeysFile: Path to the gc_keys.json file
|
10908
11112
|
- googleCloudProjectId: ID of the Google Cloud project to use for authentication
|
11113
|
+
- skipGoogleCloudAccountConfirmation: Skips confirming to use the system google account
|
10909
11114
|
- s3Region: Name of the S3 region
|
10910
11115
|
- s3AccessKey: S3 access key
|
10911
11116
|
- s3SecretAccessKey: S3 secret access key
|
10912
11117
|
- s3Bucket: Name of the S3 bucket
|
10913
11118
|
- s3ObjectPrefix: Prefix to be used on all objects uploaded to S3
|
11119
|
+
- gitlabProject: GitLab Project Path (i.e. 'gitlab-org/gitlab')
|
10914
11120
|
- keychainName: Keychain the items should be imported to
|
10915
11121
|
- keychainPassword: This might be required the first time you access certificates on a new mac. For the login/default keychain this is your macOS account password
|
10916
11122
|
- force: Renew the provisioning profiles every time you run match
|
10917
11123
|
- forceForNewDevices: Renew the provisioning profiles if the device count on the developer portal has changed. Ignored for profile types 'appstore' and 'developer_id'
|
11124
|
+
- includeMacInProfiles: Include Apple Silicon Mac devices in provisioning profiles for iOS/iPadOS apps
|
10918
11125
|
- includeAllCertificates: Include all matching certificates in the provisioning profile. Works only for the 'development' provisioning profile type
|
10919
|
-
- forceForNewCertificates: Renew the provisioning profiles if the
|
11126
|
+
- forceForNewCertificates: Renew the provisioning profiles if the certificate count on the developer portal has changed. Works only for the 'development' provisioning profile type. Requires 'include_all_certificates' option to be 'true'
|
10920
11127
|
- skipConfirmation: Disables confirmation prompts during nuke, answering them with yes
|
11128
|
+
- safeRemoveCerts: Remove certs from repository during nuke without revoking them on the developer portal
|
10921
11129
|
- skipDocs: Skip generation of a README.md for the created git repository
|
10922
11130
|
- platform: Set the provisioning profile's platform to work with (i.e. ios, tvos, macos, catalyst)
|
10923
11131
|
- 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
|
@@ -10955,18 +11163,22 @@ public func syncCodeSigning(type: String = "development",
|
|
10955
11163
|
googleCloudBucketName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
10956
11164
|
googleCloudKeysFile: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
10957
11165
|
googleCloudProjectId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11166
|
+
skipGoogleCloudAccountConfirmation: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
10958
11167
|
s3Region: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
10959
11168
|
s3AccessKey: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
10960
11169
|
s3SecretAccessKey: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
10961
11170
|
s3Bucket: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
10962
11171
|
s3ObjectPrefix: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11172
|
+
gitlabProject: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
10963
11173
|
keychainName: String = "login.keychain",
|
10964
11174
|
keychainPassword: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
10965
11175
|
force: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
10966
11176
|
forceForNewDevices: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
11177
|
+
includeMacInProfiles: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
10967
11178
|
includeAllCertificates: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
10968
11179
|
forceForNewCertificates: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
10969
11180
|
skipConfirmation: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
11181
|
+
safeRemoveCerts: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
10970
11182
|
skipDocs: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
10971
11183
|
platform: String = "ios",
|
10972
11184
|
deriveCatalystAppIdentifier: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
@@ -11002,18 +11214,22 @@ public func syncCodeSigning(type: String = "development",
|
|
11002
11214
|
let googleCloudBucketNameArg = googleCloudBucketName.asRubyArgument(name: "google_cloud_bucket_name", type: nil)
|
11003
11215
|
let googleCloudKeysFileArg = googleCloudKeysFile.asRubyArgument(name: "google_cloud_keys_file", type: nil)
|
11004
11216
|
let googleCloudProjectIdArg = googleCloudProjectId.asRubyArgument(name: "google_cloud_project_id", type: nil)
|
11217
|
+
let skipGoogleCloudAccountConfirmationArg = skipGoogleCloudAccountConfirmation.asRubyArgument(name: "skip_google_cloud_account_confirmation", type: nil)
|
11005
11218
|
let s3RegionArg = s3Region.asRubyArgument(name: "s3_region", type: nil)
|
11006
11219
|
let s3AccessKeyArg = s3AccessKey.asRubyArgument(name: "s3_access_key", type: nil)
|
11007
11220
|
let s3SecretAccessKeyArg = s3SecretAccessKey.asRubyArgument(name: "s3_secret_access_key", type: nil)
|
11008
11221
|
let s3BucketArg = s3Bucket.asRubyArgument(name: "s3_bucket", type: nil)
|
11009
11222
|
let s3ObjectPrefixArg = s3ObjectPrefix.asRubyArgument(name: "s3_object_prefix", type: nil)
|
11223
|
+
let gitlabProjectArg = gitlabProject.asRubyArgument(name: "gitlab_project", type: nil)
|
11010
11224
|
let keychainNameArg = RubyCommand.Argument(name: "keychain_name", value: keychainName, type: nil)
|
11011
11225
|
let keychainPasswordArg = keychainPassword.asRubyArgument(name: "keychain_password", type: nil)
|
11012
11226
|
let forceArg = force.asRubyArgument(name: "force", type: nil)
|
11013
11227
|
let forceForNewDevicesArg = forceForNewDevices.asRubyArgument(name: "force_for_new_devices", type: nil)
|
11228
|
+
let includeMacInProfilesArg = includeMacInProfiles.asRubyArgument(name: "include_mac_in_profiles", type: nil)
|
11014
11229
|
let includeAllCertificatesArg = includeAllCertificates.asRubyArgument(name: "include_all_certificates", type: nil)
|
11015
11230
|
let forceForNewCertificatesArg = forceForNewCertificates.asRubyArgument(name: "force_for_new_certificates", type: nil)
|
11016
11231
|
let skipConfirmationArg = skipConfirmation.asRubyArgument(name: "skip_confirmation", type: nil)
|
11232
|
+
let safeRemoveCertsArg = safeRemoveCerts.asRubyArgument(name: "safe_remove_certs", type: nil)
|
11017
11233
|
let skipDocsArg = skipDocs.asRubyArgument(name: "skip_docs", type: nil)
|
11018
11234
|
let platformArg = RubyCommand.Argument(name: "platform", value: platform, type: nil)
|
11019
11235
|
let deriveCatalystAppIdentifierArg = deriveCatalystAppIdentifier.asRubyArgument(name: "derive_catalyst_app_identifier", type: nil)
|
@@ -11048,18 +11264,22 @@ public func syncCodeSigning(type: String = "development",
|
|
11048
11264
|
googleCloudBucketNameArg,
|
11049
11265
|
googleCloudKeysFileArg,
|
11050
11266
|
googleCloudProjectIdArg,
|
11267
|
+
skipGoogleCloudAccountConfirmationArg,
|
11051
11268
|
s3RegionArg,
|
11052
11269
|
s3AccessKeyArg,
|
11053
11270
|
s3SecretAccessKeyArg,
|
11054
11271
|
s3BucketArg,
|
11055
11272
|
s3ObjectPrefixArg,
|
11273
|
+
gitlabProjectArg,
|
11056
11274
|
keychainNameArg,
|
11057
11275
|
keychainPasswordArg,
|
11058
11276
|
forceArg,
|
11059
11277
|
forceForNewDevicesArg,
|
11278
|
+
includeMacInProfilesArg,
|
11060
11279
|
includeAllCertificatesArg,
|
11061
11280
|
forceForNewCertificatesArg,
|
11062
11281
|
skipConfirmationArg,
|
11282
|
+
safeRemoveCertsArg,
|
11063
11283
|
skipDocsArg,
|
11064
11284
|
platformArg,
|
11065
11285
|
deriveCatalystAppIdentifierArg,
|
@@ -11204,6 +11424,7 @@ public func testfairy(apiKey: String,
|
|
11204
11424
|
- waitProcessingTimeoutDuration: Timeout duration in seconds to wait for App Store Connect processing. If set, after exceeding timeout duration, this will `force stop` to wait for App Store Connect processing and exit with exception
|
11205
11425
|
- waitForUploadedBuild: **DEPRECATED!** No longer needed with the transition over to the App Store Connect API - Use version info from uploaded ipa file to determine what build to use for distribution. If set to false, latest processing or any latest build will be used
|
11206
11426
|
- rejectBuildWaitingForReview: Expire previous if it's 'waiting for review'
|
11427
|
+
- submitBetaReview: Send the build for a beta review
|
11207
11428
|
|
11208
11429
|
More details can be found on https://docs.fastlane.tools/actions/pilot/.
|
11209
11430
|
This integration will only do the TestFlight upload.
|
@@ -11245,7 +11466,8 @@ public func testflight(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefau
|
|
11245
11466
|
waitProcessingInterval: Int = 30,
|
11246
11467
|
waitProcessingTimeoutDuration: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
|
11247
11468
|
waitForUploadedBuild: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
11248
|
-
rejectBuildWaitingForReview: OptionalConfigValue<Bool> = .fastlaneDefault(false)
|
11469
|
+
rejectBuildWaitingForReview: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
11470
|
+
submitBetaReview: OptionalConfigValue<Bool> = .fastlaneDefault(true))
|
11249
11471
|
{
|
11250
11472
|
let apiKeyPathArg = apiKeyPath.asRubyArgument(name: "api_key_path", type: nil)
|
11251
11473
|
let apiKeyArg = apiKey.asRubyArgument(name: "api_key", type: nil)
|
@@ -11285,6 +11507,7 @@ public func testflight(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefau
|
|
11285
11507
|
let waitProcessingTimeoutDurationArg = waitProcessingTimeoutDuration.asRubyArgument(name: "wait_processing_timeout_duration", type: nil)
|
11286
11508
|
let waitForUploadedBuildArg = waitForUploadedBuild.asRubyArgument(name: "wait_for_uploaded_build", type: nil)
|
11287
11509
|
let rejectBuildWaitingForReviewArg = rejectBuildWaitingForReview.asRubyArgument(name: "reject_build_waiting_for_review", type: nil)
|
11510
|
+
let submitBetaReviewArg = submitBetaReview.asRubyArgument(name: "submit_beta_review", type: nil)
|
11288
11511
|
let array: [RubyCommand.Argument?] = [apiKeyPathArg,
|
11289
11512
|
apiKeyArg,
|
11290
11513
|
usernameArg,
|
@@ -11322,7 +11545,8 @@ public func testflight(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefau
|
|
11322
11545
|
waitProcessingIntervalArg,
|
11323
11546
|
waitProcessingTimeoutDurationArg,
|
11324
11547
|
waitForUploadedBuildArg,
|
11325
|
-
rejectBuildWaitingForReviewArg
|
11548
|
+
rejectBuildWaitingForReviewArg,
|
11549
|
+
submitBetaReviewArg]
|
11326
11550
|
let args: [RubyCommand.Argument] = array
|
11327
11551
|
.filter { $0?.value != nil }
|
11328
11552
|
.compactMap { $0 }
|
@@ -11330,6 +11554,53 @@ public func testflight(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefau
|
|
11330
11554
|
_ = runner.executeCommand(command)
|
11331
11555
|
}
|
11332
11556
|
|
11557
|
+
/**
|
11558
|
+
Convert the Xcode plist log to a JUnit report
|
11559
|
+
|
11560
|
+
- parameters:
|
11561
|
+
- path: Path to the directory that should be converted
|
11562
|
+
- extension: The extension for the newly created file. Usually .xml or .junit
|
11563
|
+
- outputDirectory: Directory in which the xml files should be written to. Same directory as source by default
|
11564
|
+
- outputFilename: Filename the xml file should be written to. Defaults to name of input file. (Only works if one input file is used)
|
11565
|
+
- failBuild: Should this step stop the build if the tests fail? Set this to false if you're handling this with a test reporter
|
11566
|
+
- xcprettyNaming: Produces class name and test name identical to xcpretty naming in junit file
|
11567
|
+
- silent: Silences all output
|
11568
|
+
- outputRemoveRetryAttempts: Doesn't include retry attempts in the output
|
11569
|
+
|
11570
|
+
- returns: A hash with the key being the path of the generated file, the value being if the tests were successful
|
11571
|
+
*/
|
11572
|
+
public func trainer(path: String = ".",
|
11573
|
+
extension: String = ".xml",
|
11574
|
+
outputDirectory: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11575
|
+
outputFilename: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11576
|
+
failBuild: OptionalConfigValue<Bool> = .fastlaneDefault(true),
|
11577
|
+
xcprettyNaming: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
11578
|
+
silent: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
11579
|
+
outputRemoveRetryAttempts: OptionalConfigValue<Bool> = .fastlaneDefault(false))
|
11580
|
+
{
|
11581
|
+
let pathArg = RubyCommand.Argument(name: "path", value: path, type: nil)
|
11582
|
+
let extensionArg = RubyCommand.Argument(name: "extension", value: `extension`, type: nil)
|
11583
|
+
let outputDirectoryArg = outputDirectory.asRubyArgument(name: "output_directory", type: nil)
|
11584
|
+
let outputFilenameArg = outputFilename.asRubyArgument(name: "output_filename", type: nil)
|
11585
|
+
let failBuildArg = failBuild.asRubyArgument(name: "fail_build", type: nil)
|
11586
|
+
let xcprettyNamingArg = xcprettyNaming.asRubyArgument(name: "xcpretty_naming", type: nil)
|
11587
|
+
let silentArg = silent.asRubyArgument(name: "silent", type: nil)
|
11588
|
+
let outputRemoveRetryAttemptsArg = outputRemoveRetryAttempts.asRubyArgument(name: "output_remove_retry_attempts", type: nil)
|
11589
|
+
let array: [RubyCommand.Argument?] = [pathArg,
|
11590
|
+
extensionArg,
|
11591
|
+
outputDirectoryArg,
|
11592
|
+
outputFilenameArg,
|
11593
|
+
failBuildArg,
|
11594
|
+
xcprettyNamingArg,
|
11595
|
+
silentArg,
|
11596
|
+
outputRemoveRetryAttemptsArg]
|
11597
|
+
let args: [RubyCommand.Argument] = array
|
11598
|
+
.filter { $0?.value != nil }
|
11599
|
+
.compactMap { $0 }
|
11600
|
+
let command = RubyCommand(commandID: "", methodName: "trainer", className: nil, args: args)
|
11601
|
+
_ = runner.executeCommand(command)
|
11602
|
+
}
|
11603
|
+
|
11333
11604
|
/**
|
11334
11605
|
Upload a new build to [Tryouts](https://tryouts.io/)
|
11335
11606
|
|
@@ -11505,10 +11776,12 @@ public func updateAppIdentifier(xcodeproj: String,
|
|
11505
11776
|
- parameters:
|
11506
11777
|
- path: Path to your Xcode project
|
11507
11778
|
- useAutomaticSigning: Defines if project should use automatic signing
|
11779
|
+
- sdk: Build target SDKs (iphoneos*, macosx*, iphonesimulator*)
|
11508
11780
|
- teamId: Team ID, is used when upgrading project
|
11509
11781
|
- targets: Specify targets you want to toggle the signing mech. (default to all targets)
|
11510
11782
|
- buildConfigurations: Specify build_configurations you want to toggle the signing mech. (default to all configurations)
|
11511
11783
|
- codeSignIdentity: Code signing identity type (iPhone Developer, iPhone Distribution)
|
11784
|
+
- entitlementsFilePath: Path to your entitlements file
|
11512
11785
|
- profileName: Provisioning profile name to use for code signing
|
11513
11786
|
- profileUuid: Provisioning profile UUID to use for code signing
|
11514
11787
|
- bundleIdentifier: Application Product Bundle Identifier
|
@@ -11519,29 +11792,35 @@ public func updateAppIdentifier(xcodeproj: String,
|
|
11519
11792
|
*/
|
11520
11793
|
public func updateCodeSigningSettings(path: String,
|
11521
11794
|
useAutomaticSigning: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
11795
|
+
sdk: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11522
11796
|
teamId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11523
11797
|
targets: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
|
11524
11798
|
buildConfigurations: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
|
11525
11799
|
codeSignIdentity: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11800
|
+
entitlementsFilePath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11526
11801
|
profileName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11527
11802
|
profileUuid: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11528
11803
|
bundleIdentifier: OptionalConfigValue<String?> = .fastlaneDefault(nil))
|
11529
11804
|
{
|
11530
11805
|
let pathArg = RubyCommand.Argument(name: "path", value: path, type: nil)
|
11531
11806
|
let useAutomaticSigningArg = useAutomaticSigning.asRubyArgument(name: "use_automatic_signing", type: nil)
|
11807
|
+
let sdkArg = sdk.asRubyArgument(name: "sdk", type: nil)
|
11532
11808
|
let teamIdArg = teamId.asRubyArgument(name: "team_id", type: nil)
|
11533
11809
|
let targetsArg = targets.asRubyArgument(name: "targets", type: nil)
|
11534
11810
|
let buildConfigurationsArg = buildConfigurations.asRubyArgument(name: "build_configurations", type: nil)
|
11535
11811
|
let codeSignIdentityArg = codeSignIdentity.asRubyArgument(name: "code_sign_identity", type: nil)
|
11812
|
+
let entitlementsFilePathArg = entitlementsFilePath.asRubyArgument(name: "entitlements_file_path", type: nil)
|
11536
11813
|
let profileNameArg = profileName.asRubyArgument(name: "profile_name", type: nil)
|
11537
11814
|
let profileUuidArg = profileUuid.asRubyArgument(name: "profile_uuid", type: nil)
|
11538
11815
|
let bundleIdentifierArg = bundleIdentifier.asRubyArgument(name: "bundle_identifier", type: nil)
|
11539
11816
|
let array: [RubyCommand.Argument?] = [pathArg,
|
11540
11817
|
useAutomaticSigningArg,
|
11818
|
+
sdkArg,
|
11541
11819
|
teamIdArg,
|
11542
11820
|
targetsArg,
|
11543
11821
|
buildConfigurationsArg,
|
11544
11822
|
codeSignIdentityArg,
|
11823
|
+
entitlementsFilePathArg,
|
11545
11824
|
profileNameArg,
|
11546
11825
|
profileUuidArg,
|
11547
11826
|
bundleIdentifierArg]
|
@@ -12033,8 +12312,9 @@ public func uploadSymbolsToSentry(apiHost: String = "https://app.getsentry.com/a
|
|
12033
12312
|
- skipAppVersionUpdate: Don’t create or update the app version that is being prepared for submission
|
12034
12313
|
- force: Skip verification of HTML preview file
|
12035
12314
|
- overwriteScreenshots: Clear all previously uploaded screenshots before uploading the new ones
|
12036
|
-
- syncScreenshots: Sync screenshots with local ones. This is currently beta
|
12315
|
+
- syncScreenshots: Sync screenshots with local ones. This is currently beta option so set true to 'FASTLANE_ENABLE_BETA_DELIVER_SYNC_SCREENSHOTS' environment variable as well
|
12037
12316
|
- submitForReview: Submit the new version for Review after uploading everything
|
12317
|
+
- verifyOnly: Verifies archive with App Store Connect without uploading
|
12038
12318
|
- rejectIfPossible: Rejects the previously submitted build if it's in a state where it's possible
|
12039
12319
|
- automaticRelease: Should the app be automatically released once it's approved? (Can not be used together with `auto_release_date`)
|
12040
12320
|
- autoReleaseDate: Date in milliseconds for automatically releasing on pending approval (Can not be used together with `automatic_release`)
|
@@ -12106,6 +12386,7 @@ public func uploadToAppStore(apiKeyPath: OptionalConfigValue<String?> = .fastlan
|
|
12106
12386
|
overwriteScreenshots: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
12107
12387
|
syncScreenshots: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
12108
12388
|
submitForReview: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
12389
|
+
verifyOnly: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
12109
12390
|
rejectIfPossible: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
12110
12391
|
automaticRelease: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
12111
12392
|
autoReleaseDate: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
|
@@ -12170,6 +12451,7 @@ public func uploadToAppStore(apiKeyPath: OptionalConfigValue<String?> = .fastlan
|
|
12170
12451
|
let overwriteScreenshotsArg = overwriteScreenshots.asRubyArgument(name: "overwrite_screenshots", type: nil)
|
12171
12452
|
let syncScreenshotsArg = syncScreenshots.asRubyArgument(name: "sync_screenshots", type: nil)
|
12172
12453
|
let submitForReviewArg = submitForReview.asRubyArgument(name: "submit_for_review", type: nil)
|
12454
|
+
let verifyOnlyArg = verifyOnly.asRubyArgument(name: "verify_only", type: nil)
|
12173
12455
|
let rejectIfPossibleArg = rejectIfPossible.asRubyArgument(name: "reject_if_possible", type: nil)
|
12174
12456
|
let automaticReleaseArg = automaticRelease.asRubyArgument(name: "automatic_release", type: nil)
|
12175
12457
|
let autoReleaseDateArg = autoReleaseDate.asRubyArgument(name: "auto_release_date", type: nil)
|
@@ -12233,6 +12515,7 @@ public func uploadToAppStore(apiKeyPath: OptionalConfigValue<String?> = .fastlan
|
|
12233
12515
|
overwriteScreenshotsArg,
|
12234
12516
|
syncScreenshotsArg,
|
12235
12517
|
submitForReviewArg,
|
12518
|
+
verifyOnlyArg,
|
12236
12519
|
rejectIfPossibleArg,
|
12237
12520
|
automaticReleaseArg,
|
12238
12521
|
autoReleaseDateArg,
|
@@ -12308,6 +12591,7 @@ public func uploadToAppStore(apiKeyPath: OptionalConfigValue<String?> = .fastlan
|
|
12308
12591
|
- skipUploadImages: Whether to skip uploading images, screenshots not included
|
12309
12592
|
- skipUploadScreenshots: Whether to skip uploading SCREENSHOTS
|
12310
12593
|
- trackPromoteTo: The track to promote to. The default available tracks are: production, beta, alpha, internal
|
12594
|
+
- trackPromoteReleaseStatus: Promoted track release status (used when promoting a track) - valid values are completed, draft, halted, inProgress
|
12311
12595
|
- validateOnly: Only validate changes with Google Play rather than actually publish
|
12312
12596
|
- mapping: Path to the mapping file to upload (mapping.txt or native-debug-symbols.zip alike)
|
12313
12597
|
- mappingPaths: An array of paths to mapping files to upload (mapping.txt or native-debug-symbols.zip alike)
|
@@ -12349,6 +12633,7 @@ public func uploadToPlayStore(packageName: String,
|
|
12349
12633
|
skipUploadImages: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
12350
12634
|
skipUploadScreenshots: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
12351
12635
|
trackPromoteTo: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
12636
|
+
trackPromoteReleaseStatus: String = "completed",
|
12352
12637
|
validateOnly: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
12353
12638
|
mapping: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
12354
12639
|
mappingPaths: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
|
@@ -12388,6 +12673,7 @@ public func uploadToPlayStore(packageName: String,
|
|
12388
12673
|
let skipUploadImagesArg = skipUploadImages.asRubyArgument(name: "skip_upload_images", type: nil)
|
12389
12674
|
let skipUploadScreenshotsArg = skipUploadScreenshots.asRubyArgument(name: "skip_upload_screenshots", type: nil)
|
12390
12675
|
let trackPromoteToArg = trackPromoteTo.asRubyArgument(name: "track_promote_to", type: nil)
|
12676
|
+
let trackPromoteReleaseStatusArg = RubyCommand.Argument(name: "track_promote_release_status", value: trackPromoteReleaseStatus, type: nil)
|
12391
12677
|
let validateOnlyArg = validateOnly.asRubyArgument(name: "validate_only", type: nil)
|
12392
12678
|
let mappingArg = mapping.asRubyArgument(name: "mapping", type: nil)
|
12393
12679
|
let mappingPathsArg = mappingPaths.asRubyArgument(name: "mapping_paths", type: nil)
|
@@ -12426,6 +12712,7 @@ public func uploadToPlayStore(packageName: String,
|
|
12426
12712
|
skipUploadImagesArg,
|
12427
12713
|
skipUploadScreenshotsArg,
|
12428
12714
|
trackPromoteToArg,
|
12715
|
+
trackPromoteReleaseStatusArg,
|
12429
12716
|
validateOnlyArg,
|
12430
12717
|
mappingArg,
|
12431
12718
|
mappingPathsArg,
|
@@ -12544,6 +12831,7 @@ public func uploadToPlayStoreInternalAppSharing(packageName: String,
|
|
12544
12831
|
- waitProcessingTimeoutDuration: Timeout duration in seconds to wait for App Store Connect processing. If set, after exceeding timeout duration, this will `force stop` to wait for App Store Connect processing and exit with exception
|
12545
12832
|
- waitForUploadedBuild: **DEPRECATED!** No longer needed with the transition over to the App Store Connect API - Use version info from uploaded ipa file to determine what build to use for distribution. If set to false, latest processing or any latest build will be used
|
12546
12833
|
- rejectBuildWaitingForReview: Expire previous if it's 'waiting for review'
|
12834
|
+
- submitBetaReview: Send the build for a beta review
|
12547
12835
|
|
12548
12836
|
More details can be found on https://docs.fastlane.tools/actions/pilot/.
|
12549
12837
|
This integration will only do the TestFlight upload.
|
@@ -12585,7 +12873,8 @@ public func uploadToTestflight(apiKeyPath: OptionalConfigValue<String?> = .fastl
|
|
12585
12873
|
waitProcessingInterval: Int = 30,
|
12586
12874
|
waitProcessingTimeoutDuration: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
|
12587
12875
|
waitForUploadedBuild: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
12588
|
-
rejectBuildWaitingForReview: OptionalConfigValue<Bool> = .fastlaneDefault(false)
|
12876
|
+
rejectBuildWaitingForReview: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
12877
|
+
submitBetaReview: OptionalConfigValue<Bool> = .fastlaneDefault(true))
|
12589
12878
|
{
|
12590
12879
|
let apiKeyPathArg = apiKeyPath.asRubyArgument(name: "api_key_path", type: nil)
|
12591
12880
|
let apiKeyArg = apiKey.asRubyArgument(name: "api_key", type: nil)
|
@@ -12625,6 +12914,7 @@ public func uploadToTestflight(apiKeyPath: OptionalConfigValue<String?> = .fastl
|
|
12625
12914
|
let waitProcessingTimeoutDurationArg = waitProcessingTimeoutDuration.asRubyArgument(name: "wait_processing_timeout_duration", type: nil)
|
12626
12915
|
let waitForUploadedBuildArg = waitForUploadedBuild.asRubyArgument(name: "wait_for_uploaded_build", type: nil)
|
12627
12916
|
let rejectBuildWaitingForReviewArg = rejectBuildWaitingForReview.asRubyArgument(name: "reject_build_waiting_for_review", type: nil)
|
12917
|
+
let submitBetaReviewArg = submitBetaReview.asRubyArgument(name: "submit_beta_review", type: nil)
|
12628
12918
|
let array: [RubyCommand.Argument?] = [apiKeyPathArg,
|
12629
12919
|
apiKeyArg,
|
12630
12920
|
usernameArg,
|
@@ -12662,7 +12952,8 @@ public func uploadToTestflight(apiKeyPath: OptionalConfigValue<String?> = .fastl
|
|
12662
12952
|
waitProcessingIntervalArg,
|
12663
12953
|
waitProcessingTimeoutDurationArg,
|
12664
12954
|
waitForUploadedBuildArg,
|
12665
|
-
rejectBuildWaitingForReviewArg
|
12955
|
+
rejectBuildWaitingForReviewArg,
|
12956
|
+
submitBetaReviewArg]
|
12666
12957
|
let args: [RubyCommand.Argument] = array
|
12667
12958
|
.filter { $0?.value != nil }
|
12668
12959
|
.compactMap { $0 }
|
@@ -12908,7 +13199,7 @@ public func xcexport() {
|
|
12908
13199
|
Change the xcode-path to use. Useful for beta versions of Xcode
|
12909
13200
|
|
12910
13201
|
Select and build with the Xcode installed at the provided path.
|
12911
|
-
Use the `
|
13202
|
+
Use the `xcodes` action if you want to select an Xcode:
|
12912
13203
|
- Based on a version specifier or
|
12913
13204
|
- You don't have known, stable paths, as may happen in a CI environment.
|
12914
13205
|
*/
|
@@ -12978,6 +13269,45 @@ public func xcodebuild() {
|
|
12978
13269
|
_ = runner.executeCommand(command)
|
12979
13270
|
}
|
12980
13271
|
|
13272
|
+
/**
|
13273
|
+
Make sure a certain version of Xcode is installed, installing it only if needed
|
13274
|
+
|
13275
|
+
- parameters:
|
13276
|
+
- version: The version number of the version of Xcode to install. Defaults to the value specified in the .xcode-version file
|
13277
|
+
- updateList: Whether the list of available Xcode versions should be updated before running the install command
|
13278
|
+
- selectForCurrentBuildOnly: When true, it won't attempt to install an Xcode version, just find the installed Xcode version that best matches the passed version argument, and select it for the current build steps. It doesn't change the global Xcode version (e.g. via 'xcrun xcode-select'), which would require sudo permissions — when this option is true, this action doesn't require sudo permissions
|
13279
|
+
- binaryPath: Where the xcodes binary lives on your system (full path)
|
13280
|
+
- xcodesArgs: Pass in xcodes command line arguments directly. When present, other parameters are ignored and only this parameter is used to build the command to be executed
|
13281
|
+
|
13282
|
+
- returns: The path to the newly installed Xcode version
|
13283
|
+
|
13284
|
+
Makes sure a specific version of Xcode is installed. If that's not the case, it will automatically be downloaded by [xcodes](https://github.com/RobotsAndPencils/xcodes).
|
13285
|
+
This will make sure to use the correct Xcode version for later actions.
|
13286
|
+
Note that this action depends on [xcodes](https://github.com/RobotsAndPencils/xcodes) CLI, so make sure you have it installed in your environment. For the installation guide, see: https://github.com/RobotsAndPencils/xcodes#installation
|
13287
|
+
*/
|
13288
|
+
@discardableResult public func xcodes(version: String,
|
13289
|
+
updateList: OptionalConfigValue<Bool> = .fastlaneDefault(true),
|
13290
|
+
selectForCurrentBuildOnly: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
13291
|
+
binaryPath: String = "/opt/homebrew/bin/xcodes",
|
13292
|
+
xcodesArgs: OptionalConfigValue<String?> = .fastlaneDefault(nil)) -> String
|
13293
|
+
{
|
13294
|
+
let versionArg = RubyCommand.Argument(name: "version", value: version, type: nil)
|
13295
|
+
let updateListArg = updateList.asRubyArgument(name: "update_list", type: nil)
|
13296
|
+
let selectForCurrentBuildOnlyArg = selectForCurrentBuildOnly.asRubyArgument(name: "select_for_current_build_only", type: nil)
|
13297
|
+
let binaryPathArg = RubyCommand.Argument(name: "binary_path", value: binaryPath, type: nil)
|
13298
|
+
let xcodesArgsArg = xcodesArgs.asRubyArgument(name: "xcodes_args", type: nil)
|
13299
|
+
let array: [RubyCommand.Argument?] = [versionArg,
|
13300
|
+
updateListArg,
|
13301
|
+
selectForCurrentBuildOnlyArg,
|
13302
|
+
binaryPathArg,
|
13303
|
+
xcodesArgsArg]
|
13304
|
+
let args: [RubyCommand.Argument] = array
|
13305
|
+
.filter { $0?.value != nil }
|
13306
|
+
.compactMap { $0 }
|
13307
|
+
let command = RubyCommand(commandID: "", methodName: "xcodes", className: nil, args: args)
|
13308
|
+
return runner.executeCommand(command)
|
13309
|
+
}
|
13310
|
+
|
12981
13311
|
/**
|
12982
13312
|
Nice code coverage reports without hassle
|
12983
13313
|
|
@@ -13040,7 +13370,7 @@ public func xcov(workspace: OptionalConfigValue<String?> = .fastlaneDefault(nil)
|
|
13040
13370
|
coverallsServiceJobId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
13041
13371
|
coverallsRepoToken: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
13042
13372
|
xcconfig: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
13043
|
-
ideFoundationPath: String = "/Applications/Xcode.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
|
13373
|
+
ideFoundationPath: String = "/Applications/Xcode-14.1.0.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
|
13044
13374
|
legacySupport: OptionalConfigValue<Bool> = .fastlaneDefault(false))
|
13045
13375
|
{
|
13046
13376
|
let workspaceArg = workspace.asRubyArgument(name: "workspace", type: nil)
|
@@ -13131,9 +13461,10 @@ public func xctool() {
|
|
13131
13461
|
/**
|
13132
13462
|
Select an Xcode to use by version specifier
|
13133
13463
|
|
13134
|
-
- parameter version: The version of Xcode to select specified as a Gem::Version requirement string (e.g. '~> 7.1.0')
|
13464
|
+
- parameter version: The version of Xcode to select specified as a Gem::Version requirement string (e.g. '~> 7.1.0'). Defaults to the value specified in the .xcode-version file
|
13135
13465
|
|
13136
13466
|
Finds and selects a version of an installed Xcode that best matches the provided [`Gem::Version` requirement specifier](http://www.rubydoc.info/github/rubygems/rubygems/Gem/Version)
|
13467
|
+
You can either manually provide a specific version using `version:` or you make use of the `.xcode-version` file.
|
13137
13468
|
*/
|
13138
13469
|
public func xcversion(version: String) {
|
13139
13470
|
let versionArg = RubyCommand.Argument(name: "version", value: version, type: nil)
|
@@ -13232,14 +13563,14 @@ func parseInt(fromString: String, function: String = #function) -> Int {
|
|
13232
13563
|
return NSString(string: fromString.trimmingCharacters(in: .punctuationCharacters)).integerValue
|
13233
13564
|
}
|
13234
13565
|
|
13235
|
-
public let deliverfile =
|
13236
|
-
public let gymfile =
|
13237
|
-
public let matchfile =
|
13238
|
-
public let precheckfile =
|
13239
|
-
public let scanfile =
|
13240
|
-
public let screengrabfile =
|
13241
|
-
public let snapshotfile =
|
13566
|
+
public let deliverfile: Deliverfile = .init()
|
13567
|
+
public let gymfile: Gymfile = .init()
|
13568
|
+
public let matchfile: Matchfile = .init()
|
13569
|
+
public let precheckfile: Precheckfile = .init()
|
13570
|
+
public let scanfile: Scanfile = .init()
|
13571
|
+
public let screengrabfile: Screengrabfile = .init()
|
13572
|
+
public let snapshotfile: Snapshotfile = .init()
|
13242
13573
|
|
13243
13574
|
// Please don't remove the lines below
|
13244
13575
|
// They are used to detect outdated files
|
13245
|
-
// FastlaneRunnerAPIVersion [0.9.
|
13576
|
+
// FastlaneRunnerAPIVersion [0.9.168]
|