fastlane 2.195.0 → 2.213.0
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 +96 -89
- 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/app_store_build_number.rb +12 -6
- 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 +44 -5
- 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/latest_testflight_build_number.rb +2 -3
- 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 +604 -249
- 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 +3 -3
- data/fastlane/swift/MainProcess.swift +3 -3
- data/fastlane/swift/Matchfile.swift +2 -2
- data/fastlane/swift/MatchfileProtocol.swift +25 -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 +14 -10
- data/fastlane/swift/RunnerArgument.swift +1 -1
- data/fastlane/swift/Scanfile.swift +2 -2
- data/fastlane/swift/ScanfileProtocol.swift +35 -11
- data/fastlane/swift/Screengrabfile.swift +2 -2
- data/fastlane/swift/ScreengrabfileProtocol.swift +5 -5
- 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 +47 -24
- 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 +74 -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 +11 -1
- data/match/lib/match/migrate.rb +4 -3
- data/match/lib/match/module.rb +54 -2
- data/match/lib/match/nuke.rb +115 -47
- data/match/lib/match/options.rb +27 -1
- data/match/lib/match/runner.rb +26 -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 +188 -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 +32 -8
- data/pem/lib/pem/options.rb +10 -1
- data/pilot/lib/pilot/build_manager.rb +34 -14
- data/pilot/lib/pilot/options.rb +6 -1
- data/scan/lib/scan/detect_values.rb +14 -1
- data/scan/lib/scan/error_handler.rb +9 -0
- data/scan/lib/scan/options.rb +54 -9
- data/scan/lib/scan/runner.rb +171 -25
- data/scan/lib/scan/test_command_generator.rb +65 -5
- data/screengrab/lib/screengrab/options.rb +2 -2
- data/sigh/lib/assets/resign.sh +8 -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 +9 -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 +6 -3
- 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 +5 -10
- data/supply/lib/supply/options.rb +8 -0
- data/supply/lib/supply/uploader.rb +7 -3
- 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 +73 -37
- 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,
|
@@ -1982,10 +2022,10 @@ public func bundleInstall(binstubs: OptionalConfigValue<String?> = .fastlaneDefa
|
|
1982
2022
|
- endingLocale: **DEPRECATED!** Return the device to this locale after running tests
|
1983
2023
|
- useAdbRoot: **DEPRECATED!** Restarts the adb daemon using `adb root` to allow access to screenshots directories on device. Use if getting 'Permission denied' errors
|
1984
2024
|
- appApkPath: The path to the APK for the app under test
|
1985
|
-
- testsApkPath: The path to the APK for the
|
2025
|
+
- testsApkPath: The path to the APK for the tests bundle
|
1986
2026
|
- specificDevice: Use the device or emulator with the given serial number or qualifier
|
1987
2027
|
- deviceType: Type of device used for screenshots. Matches Google Play Types (phone, sevenInch, tenInch, tv, wear)
|
1988
|
-
- exitOnTestFailure: Whether or not to exit Screengrab on test failure. Exiting on failure will not copy
|
2028
|
+
- exitOnTestFailure: Whether or not to exit Screengrab on test failure. Exiting on failure will not copy screenshots to local machine nor open screenshots summary
|
1989
2029
|
- reinstallApp: Enabling this option will automatically uninstall the application before running it
|
1990
2030
|
- useTimestampSuffix: Add timestamp suffix to screenshot filename
|
1991
2031
|
- adbHost: Configure the host used by adb to connect, allows running on remote devices farm
|
@@ -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,8 @@ 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)
|
4303
|
+
- ignoreFiles: Array of files to ignore
|
4235
4304
|
|
4236
4305
|
A sanity check to make sure you are working in a repo that is clean.
|
4237
4306
|
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.
|
@@ -4239,14 +4308,17 @@ public func ensureGitBranch(branch: String = "master") {
|
|
4239
4308
|
*/
|
4240
4309
|
public func ensureGitStatusClean(showUncommittedChanges: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
4241
4310
|
showDiff: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
4242
|
-
ignored: OptionalConfigValue<String?> = .fastlaneDefault(nil)
|
4311
|
+
ignored: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
4312
|
+
ignoreFiles: OptionalConfigValue<[String]?> = .fastlaneDefault(nil))
|
4243
4313
|
{
|
4244
4314
|
let showUncommittedChangesArg = showUncommittedChanges.asRubyArgument(name: "show_uncommitted_changes", type: nil)
|
4245
4315
|
let showDiffArg = showDiff.asRubyArgument(name: "show_diff", type: nil)
|
4246
4316
|
let ignoredArg = ignored.asRubyArgument(name: "ignored", type: nil)
|
4317
|
+
let ignoreFilesArg = ignoreFiles.asRubyArgument(name: "ignore_files", type: nil)
|
4247
4318
|
let array: [RubyCommand.Argument?] = [showUncommittedChangesArg,
|
4248
4319
|
showDiffArg,
|
4249
|
-
ignoredArg
|
4320
|
+
ignoredArg,
|
4321
|
+
ignoreFilesArg]
|
4250
4322
|
let args: [RubyCommand.Argument] = array
|
4251
4323
|
.filter { $0?.value != nil }
|
4252
4324
|
.compactMap { $0 }
|
@@ -4303,7 +4375,7 @@ public func ensureNoDebugCode(text: String,
|
|
4303
4375
|
|
4304
4376
|
If building your app requires a specific version of Xcode, you can invoke this command before using gym.
|
4305
4377
|
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
|
4378
|
+
You can either manually provide a specific version using `version:` or you make use of the `.xcode-version` file.
|
4307
4379
|
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
4380
|
*/
|
4309
4381
|
public func ensureXcodeVersion(version: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
@@ -4877,6 +4949,7 @@ public func getManagedPlayStorePublishingRights(jsonKey: OptionalConfigValue<Str
|
|
4877
4949
|
- development: Renew the development certificate instead of the production one
|
4878
4950
|
- skipInstall: By default, the certificate will be added to your local machine. Setting this flag will skip this action
|
4879
4951
|
- force: Renew provisioning profiles regardless of its state - to automatically add all devices for ad hoc profiles
|
4952
|
+
- includeMacInProfiles: Include Apple Silicon Mac devices in provisioning profiles for iOS/iPadOS apps
|
4880
4953
|
- appIdentifier: The bundle identifier of your app
|
4881
4954
|
- 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
4955
|
- apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
|
@@ -4906,6 +4979,7 @@ public func getManagedPlayStorePublishingRights(jsonKey: OptionalConfigValue<Str
|
|
4906
4979
|
development: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
4907
4980
|
skipInstall: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
4908
4981
|
force: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
4982
|
+
includeMacInProfiles: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
4909
4983
|
appIdentifier: String,
|
4910
4984
|
apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
4911
4985
|
apiKey: OptionalConfigValue<[String: Any]?> = .fastlaneDefault(nil),
|
@@ -4931,6 +5005,7 @@ public func getManagedPlayStorePublishingRights(jsonKey: OptionalConfigValue<Str
|
|
4931
5005
|
let developmentArg = development.asRubyArgument(name: "development", type: nil)
|
4932
5006
|
let skipInstallArg = skipInstall.asRubyArgument(name: "skip_install", type: nil)
|
4933
5007
|
let forceArg = force.asRubyArgument(name: "force", type: nil)
|
5008
|
+
let includeMacInProfilesArg = includeMacInProfiles.asRubyArgument(name: "include_mac_in_profiles", type: nil)
|
4934
5009
|
let appIdentifierArg = RubyCommand.Argument(name: "app_identifier", value: appIdentifier, type: nil)
|
4935
5010
|
let apiKeyPathArg = apiKeyPath.asRubyArgument(name: "api_key_path", type: nil)
|
4936
5011
|
let apiKeyArg = apiKey.asRubyArgument(name: "api_key", type: nil)
|
@@ -4955,6 +5030,7 @@ public func getManagedPlayStorePublishingRights(jsonKey: OptionalConfigValue<Str
|
|
4955
5030
|
developmentArg,
|
4956
5031
|
skipInstallArg,
|
4957
5032
|
forceArg,
|
5033
|
+
includeMacInProfilesArg,
|
4958
5034
|
appIdentifierArg,
|
4959
5035
|
apiKeyPathArg,
|
4960
5036
|
apiKeyArg,
|
@@ -4985,6 +5061,7 @@ public func getManagedPlayStorePublishingRights(jsonKey: OptionalConfigValue<Str
|
|
4985
5061
|
Ensure a valid push profile is active, creating a new one if needed (via _pem_)
|
4986
5062
|
|
4987
5063
|
- parameters:
|
5064
|
+
- platform: Set certificate's platform. Used for creation of production & development certificates. Supported platforms: ios, macos
|
4988
5065
|
- development: Renew the development push certificate instead of the production one
|
4989
5066
|
- websitePush: Create a Website Push certificate
|
4990
5067
|
- generateP12: Generate a p12 file additionally to a PEM file
|
@@ -5012,7 +5089,8 @@ public func getManagedPlayStorePublishingRights(jsonKey: OptionalConfigValue<Str
|
|
5012
5089
|
```|
|
5013
5090
|
>|
|
5014
5091
|
*/
|
5015
|
-
public func getPushCertificate(
|
5092
|
+
public func getPushCertificate(platform: String = "ios",
|
5093
|
+
development: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
5016
5094
|
websitePush: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
5017
5095
|
generateP12: OptionalConfigValue<Bool> = .fastlaneDefault(true),
|
5018
5096
|
activeDaysLimit: Int = 30,
|
@@ -5022,11 +5100,12 @@ public func getPushCertificate(development: OptionalConfigValue<Bool> = .fastlan
|
|
5022
5100
|
username: String,
|
5023
5101
|
teamId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
5024
5102
|
teamName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
5025
|
-
p12Password: String,
|
5103
|
+
p12Password: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
5026
5104
|
pemName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
5027
5105
|
outputPath: String = ".",
|
5028
5106
|
newProfile: ((String) -> Void)? = nil)
|
5029
5107
|
{
|
5108
|
+
let platformArg = RubyCommand.Argument(name: "platform", value: platform, type: nil)
|
5030
5109
|
let developmentArg = development.asRubyArgument(name: "development", type: nil)
|
5031
5110
|
let websitePushArg = websitePush.asRubyArgument(name: "website_push", type: nil)
|
5032
5111
|
let generateP12Arg = generateP12.asRubyArgument(name: "generate_p12", type: nil)
|
@@ -5037,11 +5116,12 @@ public func getPushCertificate(development: OptionalConfigValue<Bool> = .fastlan
|
|
5037
5116
|
let usernameArg = RubyCommand.Argument(name: "username", value: username, type: nil)
|
5038
5117
|
let teamIdArg = teamId.asRubyArgument(name: "team_id", type: nil)
|
5039
5118
|
let teamNameArg = teamName.asRubyArgument(name: "team_name", type: nil)
|
5040
|
-
let p12PasswordArg =
|
5119
|
+
let p12PasswordArg = p12Password.asRubyArgument(name: "p12_password", type: nil)
|
5041
5120
|
let pemNameArg = pemName.asRubyArgument(name: "pem_name", type: nil)
|
5042
5121
|
let outputPathArg = RubyCommand.Argument(name: "output_path", value: outputPath, type: nil)
|
5043
5122
|
let newProfileArg = RubyCommand.Argument(name: "new_profile", value: newProfile, type: .stringClosure)
|
5044
|
-
let array: [RubyCommand.Argument?] = [
|
5123
|
+
let array: [RubyCommand.Argument?] = [platformArg,
|
5124
|
+
developmentArg,
|
5045
5125
|
websitePushArg,
|
5046
5126
|
generateP12Arg,
|
5047
5127
|
activeDaysLimitArg,
|
@@ -5066,11 +5146,11 @@ public func getPushCertificate(development: OptionalConfigValue<Bool> = .fastlan
|
|
5066
5146
|
Get the version number of your project
|
5067
5147
|
|
5068
5148
|
- parameters:
|
5069
|
-
- xcodeproj: Path to the Xcode project to read version number from, or its containing directory, optional. If
|
5149
|
+
- 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
5150
|
- target: Target name, optional. Will be needed if you have more than one non-test target to avoid being prompted to select one
|
5071
5151
|
- 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
5152
|
|
5073
|
-
This action will return the current version number set on your project.
|
5153
|
+
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
5154
|
*/
|
5075
5155
|
@discardableResult public func getVersionNumber(xcodeproj: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
5076
5156
|
target: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
@@ -5504,15 +5584,18 @@ public func gradle(task: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
|
5504
5584
|
- 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
5585
|
- xcconfig: Use an extra XCCONFIG file to build your app
|
5506
5586
|
- suppressXcodeOutput: Suppress the output of xcodebuild to stdout. Output is still saved in buildlog_path
|
5507
|
-
-
|
5587
|
+
- 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/)
|
5588
|
+
- buildTimingSummary: Create a build timing summary
|
5589
|
+
- disableXcpretty: **DEPRECATED!** Use `xcodebuild_formatter: ''` instead - Disable xcpretty formatting of build output
|
5508
5590
|
- xcprettyTestFormat: Use the test (RSpec style) format for build output
|
5509
5591
|
- xcprettyFormatter: A custom xcpretty formatter to use
|
5510
5592
|
- xcprettyReportJunit: Have xcpretty create a JUnit-style XML report at the provided path
|
5511
5593
|
- xcprettyReportHtml: Have xcpretty create a simple HTML report at the provided path
|
5512
5594
|
- 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
5595
|
- xcprettyUtf: Have xcpretty use unicode encoding when reporting builds
|
5596
|
+
- analyzeBuildTime: Analyze the project build time and store the output in 'culprits.txt' file
|
5515
5597
|
- skipProfileDetection: Do not try to build a profile mapping from the xcodeproj. Match or a manually provided mapping should be used
|
5598
|
+
- xcodebuildCommand: Allows for override of the default `xcodebuild` command
|
5516
5599
|
- clonedSourcePackagesPath: Sets a custom path for Swift Package Manager dependencies
|
5517
5600
|
- skipPackageDependenciesResolution: Skips resolution of Swift Package Manager dependencies
|
5518
5601
|
- disablePackageAutomaticUpdates: Prevents packages from automatically being resolved to versions other than those recorded in the `Package.resolved` file
|
@@ -5556,15 +5639,18 @@ public func gradle(task: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
|
5556
5639
|
xcargs: OptionalConfigValue<String?> = .fastlaneDefault(gymfile.xcargs),
|
5557
5640
|
xcconfig: OptionalConfigValue<String?> = .fastlaneDefault(gymfile.xcconfig),
|
5558
5641
|
suppressXcodeOutput: OptionalConfigValue<Bool?> = .fastlaneDefault(gymfile.suppressXcodeOutput),
|
5642
|
+
xcodebuildFormatter: String = gymfile.xcodebuildFormatter,
|
5643
|
+
buildTimingSummary: OptionalConfigValue<Bool> = .fastlaneDefault(gymfile.buildTimingSummary),
|
5559
5644
|
disableXcpretty: OptionalConfigValue<Bool?> = .fastlaneDefault(gymfile.disableXcpretty),
|
5560
5645
|
xcprettyTestFormat: OptionalConfigValue<Bool?> = .fastlaneDefault(gymfile.xcprettyTestFormat),
|
5561
5646
|
xcprettyFormatter: OptionalConfigValue<String?> = .fastlaneDefault(gymfile.xcprettyFormatter),
|
5562
5647
|
xcprettyReportJunit: OptionalConfigValue<String?> = .fastlaneDefault(gymfile.xcprettyReportJunit),
|
5563
5648
|
xcprettyReportHtml: OptionalConfigValue<String?> = .fastlaneDefault(gymfile.xcprettyReportHtml),
|
5564
5649
|
xcprettyReportJson: OptionalConfigValue<String?> = .fastlaneDefault(gymfile.xcprettyReportJson),
|
5565
|
-
analyzeBuildTime: OptionalConfigValue<Bool?> = .fastlaneDefault(gymfile.analyzeBuildTime),
|
5566
5650
|
xcprettyUtf: OptionalConfigValue<Bool?> = .fastlaneDefault(gymfile.xcprettyUtf),
|
5651
|
+
analyzeBuildTime: OptionalConfigValue<Bool?> = .fastlaneDefault(gymfile.analyzeBuildTime),
|
5567
5652
|
skipProfileDetection: OptionalConfigValue<Bool> = .fastlaneDefault(gymfile.skipProfileDetection),
|
5653
|
+
xcodebuildCommand: String = gymfile.xcodebuildCommand,
|
5568
5654
|
clonedSourcePackagesPath: OptionalConfigValue<String?> = .fastlaneDefault(gymfile.clonedSourcePackagesPath),
|
5569
5655
|
skipPackageDependenciesResolution: OptionalConfigValue<Bool> = .fastlaneDefault(gymfile.skipPackageDependenciesResolution),
|
5570
5656
|
disablePackageAutomaticUpdates: OptionalConfigValue<Bool> = .fastlaneDefault(gymfile.disablePackageAutomaticUpdates),
|
@@ -5604,15 +5690,18 @@ public func gradle(task: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
|
5604
5690
|
let xcargsArg = xcargs.asRubyArgument(name: "xcargs", type: nil)
|
5605
5691
|
let xcconfigArg = xcconfig.asRubyArgument(name: "xcconfig", type: nil)
|
5606
5692
|
let suppressXcodeOutputArg = suppressXcodeOutput.asRubyArgument(name: "suppress_xcode_output", type: nil)
|
5693
|
+
let xcodebuildFormatterArg = RubyCommand.Argument(name: "xcodebuild_formatter", value: xcodebuildFormatter, type: nil)
|
5694
|
+
let buildTimingSummaryArg = buildTimingSummary.asRubyArgument(name: "build_timing_summary", type: nil)
|
5607
5695
|
let disableXcprettyArg = disableXcpretty.asRubyArgument(name: "disable_xcpretty", type: nil)
|
5608
5696
|
let xcprettyTestFormatArg = xcprettyTestFormat.asRubyArgument(name: "xcpretty_test_format", type: nil)
|
5609
5697
|
let xcprettyFormatterArg = xcprettyFormatter.asRubyArgument(name: "xcpretty_formatter", type: nil)
|
5610
5698
|
let xcprettyReportJunitArg = xcprettyReportJunit.asRubyArgument(name: "xcpretty_report_junit", type: nil)
|
5611
5699
|
let xcprettyReportHtmlArg = xcprettyReportHtml.asRubyArgument(name: "xcpretty_report_html", type: nil)
|
5612
5700
|
let xcprettyReportJsonArg = xcprettyReportJson.asRubyArgument(name: "xcpretty_report_json", type: nil)
|
5613
|
-
let analyzeBuildTimeArg = analyzeBuildTime.asRubyArgument(name: "analyze_build_time", type: nil)
|
5614
5701
|
let xcprettyUtfArg = xcprettyUtf.asRubyArgument(name: "xcpretty_utf", type: nil)
|
5702
|
+
let analyzeBuildTimeArg = analyzeBuildTime.asRubyArgument(name: "analyze_build_time", type: nil)
|
5615
5703
|
let skipProfileDetectionArg = skipProfileDetection.asRubyArgument(name: "skip_profile_detection", type: nil)
|
5704
|
+
let xcodebuildCommandArg = RubyCommand.Argument(name: "xcodebuild_command", value: xcodebuildCommand, type: nil)
|
5616
5705
|
let clonedSourcePackagesPathArg = clonedSourcePackagesPath.asRubyArgument(name: "cloned_source_packages_path", type: nil)
|
5617
5706
|
let skipPackageDependenciesResolutionArg = skipPackageDependenciesResolution.asRubyArgument(name: "skip_package_dependencies_resolution", type: nil)
|
5618
5707
|
let disablePackageAutomaticUpdatesArg = disablePackageAutomaticUpdates.asRubyArgument(name: "disable_package_automatic_updates", type: nil)
|
@@ -5651,15 +5740,18 @@ public func gradle(task: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
|
5651
5740
|
xcargsArg,
|
5652
5741
|
xcconfigArg,
|
5653
5742
|
suppressXcodeOutputArg,
|
5743
|
+
xcodebuildFormatterArg,
|
5744
|
+
buildTimingSummaryArg,
|
5654
5745
|
disableXcprettyArg,
|
5655
5746
|
xcprettyTestFormatArg,
|
5656
5747
|
xcprettyFormatterArg,
|
5657
5748
|
xcprettyReportJunitArg,
|
5658
5749
|
xcprettyReportHtmlArg,
|
5659
5750
|
xcprettyReportJsonArg,
|
5660
|
-
analyzeBuildTimeArg,
|
5661
5751
|
xcprettyUtfArg,
|
5752
|
+
analyzeBuildTimeArg,
|
5662
5753
|
skipProfileDetectionArg,
|
5754
|
+
xcodebuildCommandArg,
|
5663
5755
|
clonedSourcePackagesPathArg,
|
5664
5756
|
skipPackageDependenciesResolutionArg,
|
5665
5757
|
disablePackageAutomaticUpdatesArg,
|
@@ -6557,7 +6649,7 @@ public func makeChangelogFromJenkins(fallbackChangelog: String = "",
|
|
6557
6649
|
Alias for the `sync_code_signing` action
|
6558
6650
|
|
6559
6651
|
- parameters:
|
6560
|
-
- type: Define the profile type, can be appstore, adhoc, development, enterprise, developer_id, mac_installer_distribution
|
6652
|
+
- type: Define the profile type, can be appstore, adhoc, development, enterprise, developer_id, mac_installer_distribution, developer_id_installer
|
6561
6653
|
- additionalCertTypes: Create additional cert types needed for macOS installers (valid values: mac_installer_distribution, developer_id_installer)
|
6562
6654
|
- readonly: Only fetch existing certificates and profiles, don't generate new ones
|
6563
6655
|
- generateAppleCerts: Create a certificate type for Xcode 11 and later (Apple Development or Apple Distribution)
|
@@ -6581,18 +6673,23 @@ public func makeChangelogFromJenkins(fallbackChangelog: String = "",
|
|
6581
6673
|
- googleCloudBucketName: Name of the Google Cloud Storage bucket to use
|
6582
6674
|
- googleCloudKeysFile: Path to the gc_keys.json file
|
6583
6675
|
- googleCloudProjectId: ID of the Google Cloud project to use for authentication
|
6676
|
+
- skipGoogleCloudAccountConfirmation: Skips confirming to use the system google account
|
6584
6677
|
- s3Region: Name of the S3 region
|
6585
6678
|
- s3AccessKey: S3 access key
|
6586
6679
|
- s3SecretAccessKey: S3 secret access key
|
6587
6680
|
- s3Bucket: Name of the S3 bucket
|
6588
6681
|
- s3ObjectPrefix: Prefix to be used on all objects uploaded to S3
|
6682
|
+
- gitlabProject: GitLab Project Path (i.e. 'gitlab-org/gitlab')
|
6683
|
+
- gitlabHost: GitLab Host (i.e. 'https://gitlab.com')
|
6589
6684
|
- keychainName: Keychain the items should be imported to
|
6590
6685
|
- 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
6686
|
- force: Renew the provisioning profiles every time you run match
|
6592
6687
|
- forceForNewDevices: Renew the provisioning profiles if the device count on the developer portal has changed. Ignored for profile types 'appstore' and 'developer_id'
|
6688
|
+
- includeMacInProfiles: Include Apple Silicon Mac devices in provisioning profiles for iOS/iPadOS apps
|
6593
6689
|
- 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
|
6690
|
+
- 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
6691
|
- skipConfirmation: Disables confirmation prompts during nuke, answering them with yes
|
6692
|
+
- safeRemoveCerts: Remove certs from repository during nuke without revoking them on the developer portal
|
6596
6693
|
- skipDocs: Skip generation of a README.md for the created git repository
|
6597
6694
|
- platform: Set the provisioning profile's platform to work with (i.e. ios, tvos, macos, catalyst)
|
6598
6695
|
- 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 +6727,23 @@ public func match(type: String = matchfile.type,
|
|
6630
6727
|
googleCloudBucketName: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.googleCloudBucketName),
|
6631
6728
|
googleCloudKeysFile: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.googleCloudKeysFile),
|
6632
6729
|
googleCloudProjectId: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.googleCloudProjectId),
|
6730
|
+
skipGoogleCloudAccountConfirmation: OptionalConfigValue<Bool> = .fastlaneDefault(matchfile.skipGoogleCloudAccountConfirmation),
|
6633
6731
|
s3Region: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.s3Region),
|
6634
6732
|
s3AccessKey: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.s3AccessKey),
|
6635
6733
|
s3SecretAccessKey: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.s3SecretAccessKey),
|
6636
6734
|
s3Bucket: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.s3Bucket),
|
6637
6735
|
s3ObjectPrefix: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.s3ObjectPrefix),
|
6736
|
+
gitlabProject: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.gitlabProject),
|
6737
|
+
gitlabHost: String = matchfile.gitlabHost,
|
6638
6738
|
keychainName: String = matchfile.keychainName,
|
6639
6739
|
keychainPassword: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.keychainPassword),
|
6640
6740
|
force: OptionalConfigValue<Bool> = .fastlaneDefault(matchfile.force),
|
6641
6741
|
forceForNewDevices: OptionalConfigValue<Bool> = .fastlaneDefault(matchfile.forceForNewDevices),
|
6742
|
+
includeMacInProfiles: OptionalConfigValue<Bool> = .fastlaneDefault(matchfile.includeMacInProfiles),
|
6642
6743
|
includeAllCertificates: OptionalConfigValue<Bool> = .fastlaneDefault(matchfile.includeAllCertificates),
|
6643
6744
|
forceForNewCertificates: OptionalConfigValue<Bool> = .fastlaneDefault(matchfile.forceForNewCertificates),
|
6644
6745
|
skipConfirmation: OptionalConfigValue<Bool> = .fastlaneDefault(matchfile.skipConfirmation),
|
6746
|
+
safeRemoveCerts: OptionalConfigValue<Bool> = .fastlaneDefault(matchfile.safeRemoveCerts),
|
6645
6747
|
skipDocs: OptionalConfigValue<Bool> = .fastlaneDefault(matchfile.skipDocs),
|
6646
6748
|
platform: String = matchfile.platform,
|
6647
6749
|
deriveCatalystAppIdentifier: OptionalConfigValue<Bool> = .fastlaneDefault(matchfile.deriveCatalystAppIdentifier),
|
@@ -6677,18 +6779,23 @@ public func match(type: String = matchfile.type,
|
|
6677
6779
|
let googleCloudBucketNameArg = googleCloudBucketName.asRubyArgument(name: "google_cloud_bucket_name", type: nil)
|
6678
6780
|
let googleCloudKeysFileArg = googleCloudKeysFile.asRubyArgument(name: "google_cloud_keys_file", type: nil)
|
6679
6781
|
let googleCloudProjectIdArg = googleCloudProjectId.asRubyArgument(name: "google_cloud_project_id", type: nil)
|
6782
|
+
let skipGoogleCloudAccountConfirmationArg = skipGoogleCloudAccountConfirmation.asRubyArgument(name: "skip_google_cloud_account_confirmation", type: nil)
|
6680
6783
|
let s3RegionArg = s3Region.asRubyArgument(name: "s3_region", type: nil)
|
6681
6784
|
let s3AccessKeyArg = s3AccessKey.asRubyArgument(name: "s3_access_key", type: nil)
|
6682
6785
|
let s3SecretAccessKeyArg = s3SecretAccessKey.asRubyArgument(name: "s3_secret_access_key", type: nil)
|
6683
6786
|
let s3BucketArg = s3Bucket.asRubyArgument(name: "s3_bucket", type: nil)
|
6684
6787
|
let s3ObjectPrefixArg = s3ObjectPrefix.asRubyArgument(name: "s3_object_prefix", type: nil)
|
6788
|
+
let gitlabProjectArg = gitlabProject.asRubyArgument(name: "gitlab_project", type: nil)
|
6789
|
+
let gitlabHostArg = RubyCommand.Argument(name: "gitlab_host", value: gitlabHost, type: nil)
|
6685
6790
|
let keychainNameArg = RubyCommand.Argument(name: "keychain_name", value: keychainName, type: nil)
|
6686
6791
|
let keychainPasswordArg = keychainPassword.asRubyArgument(name: "keychain_password", type: nil)
|
6687
6792
|
let forceArg = force.asRubyArgument(name: "force", type: nil)
|
6688
6793
|
let forceForNewDevicesArg = forceForNewDevices.asRubyArgument(name: "force_for_new_devices", type: nil)
|
6794
|
+
let includeMacInProfilesArg = includeMacInProfiles.asRubyArgument(name: "include_mac_in_profiles", type: nil)
|
6689
6795
|
let includeAllCertificatesArg = includeAllCertificates.asRubyArgument(name: "include_all_certificates", type: nil)
|
6690
6796
|
let forceForNewCertificatesArg = forceForNewCertificates.asRubyArgument(name: "force_for_new_certificates", type: nil)
|
6691
6797
|
let skipConfirmationArg = skipConfirmation.asRubyArgument(name: "skip_confirmation", type: nil)
|
6798
|
+
let safeRemoveCertsArg = safeRemoveCerts.asRubyArgument(name: "safe_remove_certs", type: nil)
|
6692
6799
|
let skipDocsArg = skipDocs.asRubyArgument(name: "skip_docs", type: nil)
|
6693
6800
|
let platformArg = RubyCommand.Argument(name: "platform", value: platform, type: nil)
|
6694
6801
|
let deriveCatalystAppIdentifierArg = deriveCatalystAppIdentifier.asRubyArgument(name: "derive_catalyst_app_identifier", type: nil)
|
@@ -6723,18 +6830,23 @@ public func match(type: String = matchfile.type,
|
|
6723
6830
|
googleCloudBucketNameArg,
|
6724
6831
|
googleCloudKeysFileArg,
|
6725
6832
|
googleCloudProjectIdArg,
|
6833
|
+
skipGoogleCloudAccountConfirmationArg,
|
6726
6834
|
s3RegionArg,
|
6727
6835
|
s3AccessKeyArg,
|
6728
6836
|
s3SecretAccessKeyArg,
|
6729
6837
|
s3BucketArg,
|
6730
6838
|
s3ObjectPrefixArg,
|
6839
|
+
gitlabProjectArg,
|
6840
|
+
gitlabHostArg,
|
6731
6841
|
keychainNameArg,
|
6732
6842
|
keychainPasswordArg,
|
6733
6843
|
forceArg,
|
6734
6844
|
forceForNewDevicesArg,
|
6845
|
+
includeMacInProfilesArg,
|
6735
6846
|
includeAllCertificatesArg,
|
6736
6847
|
forceForNewCertificatesArg,
|
6737
6848
|
skipConfirmationArg,
|
6849
|
+
safeRemoveCertsArg,
|
6738
6850
|
skipDocsArg,
|
6739
6851
|
platformArg,
|
6740
6852
|
deriveCatalystAppIdentifierArg,
|
@@ -6756,7 +6868,7 @@ public func match(type: String = matchfile.type,
|
|
6756
6868
|
Easily nuke your certificate and provisioning profiles (via _match_)
|
6757
6869
|
|
6758
6870
|
- parameters:
|
6759
|
-
- type: Define the profile type, can be appstore, adhoc, development, enterprise, developer_id, mac_installer_distribution
|
6871
|
+
- type: Define the profile type, can be appstore, adhoc, development, enterprise, developer_id, mac_installer_distribution, developer_id_installer
|
6760
6872
|
- additionalCertTypes: Create additional cert types needed for macOS installers (valid values: mac_installer_distribution, developer_id_installer)
|
6761
6873
|
- readonly: Only fetch existing certificates and profiles, don't generate new ones
|
6762
6874
|
- generateAppleCerts: Create a certificate type for Xcode 11 and later (Apple Development or Apple Distribution)
|
@@ -6780,18 +6892,23 @@ public func match(type: String = matchfile.type,
|
|
6780
6892
|
- googleCloudBucketName: Name of the Google Cloud Storage bucket to use
|
6781
6893
|
- googleCloudKeysFile: Path to the gc_keys.json file
|
6782
6894
|
- googleCloudProjectId: ID of the Google Cloud project to use for authentication
|
6895
|
+
- skipGoogleCloudAccountConfirmation: Skips confirming to use the system google account
|
6783
6896
|
- s3Region: Name of the S3 region
|
6784
6897
|
- s3AccessKey: S3 access key
|
6785
6898
|
- s3SecretAccessKey: S3 secret access key
|
6786
6899
|
- s3Bucket: Name of the S3 bucket
|
6787
6900
|
- s3ObjectPrefix: Prefix to be used on all objects uploaded to S3
|
6901
|
+
- gitlabProject: GitLab Project Path (i.e. 'gitlab-org/gitlab')
|
6902
|
+
- gitlabHost: GitLab Host (i.e. 'https://gitlab.com')
|
6788
6903
|
- keychainName: Keychain the items should be imported to
|
6789
6904
|
- 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
6905
|
- force: Renew the provisioning profiles every time you run match
|
6791
6906
|
- forceForNewDevices: Renew the provisioning profiles if the device count on the developer portal has changed. Ignored for profile types 'appstore' and 'developer_id'
|
6907
|
+
- includeMacInProfiles: Include Apple Silicon Mac devices in provisioning profiles for iOS/iPadOS apps
|
6792
6908
|
- 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
|
6909
|
+
- 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
6910
|
- skipConfirmation: Disables confirmation prompts during nuke, answering them with yes
|
6911
|
+
- safeRemoveCerts: Remove certs from repository during nuke without revoking them on the developer portal
|
6795
6912
|
- skipDocs: Skip generation of a README.md for the created git repository
|
6796
6913
|
- platform: Set the provisioning profile's platform to work with (i.e. ios, tvos, macos, catalyst)
|
6797
6914
|
- 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 +6950,23 @@ public func matchNuke(type: String = "development",
|
|
6833
6950
|
googleCloudBucketName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
6834
6951
|
googleCloudKeysFile: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
6835
6952
|
googleCloudProjectId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
6953
|
+
skipGoogleCloudAccountConfirmation: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
6836
6954
|
s3Region: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
6837
6955
|
s3AccessKey: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
6838
6956
|
s3SecretAccessKey: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
6839
6957
|
s3Bucket: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
6840
6958
|
s3ObjectPrefix: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
6959
|
+
gitlabProject: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
6960
|
+
gitlabHost: String = "https://gitlab.com",
|
6841
6961
|
keychainName: String = "login.keychain",
|
6842
6962
|
keychainPassword: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
6843
6963
|
force: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
6844
6964
|
forceForNewDevices: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
6965
|
+
includeMacInProfiles: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
6845
6966
|
includeAllCertificates: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
6846
6967
|
forceForNewCertificates: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
6847
6968
|
skipConfirmation: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
6969
|
+
safeRemoveCerts: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
6848
6970
|
skipDocs: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
6849
6971
|
platform: String = "ios",
|
6850
6972
|
deriveCatalystAppIdentifier: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
@@ -6880,18 +7002,23 @@ public func matchNuke(type: String = "development",
|
|
6880
7002
|
let googleCloudBucketNameArg = googleCloudBucketName.asRubyArgument(name: "google_cloud_bucket_name", type: nil)
|
6881
7003
|
let googleCloudKeysFileArg = googleCloudKeysFile.asRubyArgument(name: "google_cloud_keys_file", type: nil)
|
6882
7004
|
let googleCloudProjectIdArg = googleCloudProjectId.asRubyArgument(name: "google_cloud_project_id", type: nil)
|
7005
|
+
let skipGoogleCloudAccountConfirmationArg = skipGoogleCloudAccountConfirmation.asRubyArgument(name: "skip_google_cloud_account_confirmation", type: nil)
|
6883
7006
|
let s3RegionArg = s3Region.asRubyArgument(name: "s3_region", type: nil)
|
6884
7007
|
let s3AccessKeyArg = s3AccessKey.asRubyArgument(name: "s3_access_key", type: nil)
|
6885
7008
|
let s3SecretAccessKeyArg = s3SecretAccessKey.asRubyArgument(name: "s3_secret_access_key", type: nil)
|
6886
7009
|
let s3BucketArg = s3Bucket.asRubyArgument(name: "s3_bucket", type: nil)
|
6887
7010
|
let s3ObjectPrefixArg = s3ObjectPrefix.asRubyArgument(name: "s3_object_prefix", type: nil)
|
7011
|
+
let gitlabProjectArg = gitlabProject.asRubyArgument(name: "gitlab_project", type: nil)
|
7012
|
+
let gitlabHostArg = RubyCommand.Argument(name: "gitlab_host", value: gitlabHost, type: nil)
|
6888
7013
|
let keychainNameArg = RubyCommand.Argument(name: "keychain_name", value: keychainName, type: nil)
|
6889
7014
|
let keychainPasswordArg = keychainPassword.asRubyArgument(name: "keychain_password", type: nil)
|
6890
7015
|
let forceArg = force.asRubyArgument(name: "force", type: nil)
|
6891
7016
|
let forceForNewDevicesArg = forceForNewDevices.asRubyArgument(name: "force_for_new_devices", type: nil)
|
7017
|
+
let includeMacInProfilesArg = includeMacInProfiles.asRubyArgument(name: "include_mac_in_profiles", type: nil)
|
6892
7018
|
let includeAllCertificatesArg = includeAllCertificates.asRubyArgument(name: "include_all_certificates", type: nil)
|
6893
7019
|
let forceForNewCertificatesArg = forceForNewCertificates.asRubyArgument(name: "force_for_new_certificates", type: nil)
|
6894
7020
|
let skipConfirmationArg = skipConfirmation.asRubyArgument(name: "skip_confirmation", type: nil)
|
7021
|
+
let safeRemoveCertsArg = safeRemoveCerts.asRubyArgument(name: "safe_remove_certs", type: nil)
|
6895
7022
|
let skipDocsArg = skipDocs.asRubyArgument(name: "skip_docs", type: nil)
|
6896
7023
|
let platformArg = RubyCommand.Argument(name: "platform", value: platform, type: nil)
|
6897
7024
|
let deriveCatalystAppIdentifierArg = deriveCatalystAppIdentifier.asRubyArgument(name: "derive_catalyst_app_identifier", type: nil)
|
@@ -6926,18 +7053,23 @@ public func matchNuke(type: String = "development",
|
|
6926
7053
|
googleCloudBucketNameArg,
|
6927
7054
|
googleCloudKeysFileArg,
|
6928
7055
|
googleCloudProjectIdArg,
|
7056
|
+
skipGoogleCloudAccountConfirmationArg,
|
6929
7057
|
s3RegionArg,
|
6930
7058
|
s3AccessKeyArg,
|
6931
7059
|
s3SecretAccessKeyArg,
|
6932
7060
|
s3BucketArg,
|
6933
7061
|
s3ObjectPrefixArg,
|
7062
|
+
gitlabProjectArg,
|
7063
|
+
gitlabHostArg,
|
6934
7064
|
keychainNameArg,
|
6935
7065
|
keychainPasswordArg,
|
6936
7066
|
forceArg,
|
6937
7067
|
forceForNewDevicesArg,
|
7068
|
+
includeMacInProfilesArg,
|
6938
7069
|
includeAllCertificatesArg,
|
6939
7070
|
forceForNewCertificatesArg,
|
6940
7071
|
skipConfirmationArg,
|
7072
|
+
safeRemoveCertsArg,
|
6941
7073
|
skipDocsArg,
|
6942
7074
|
platformArg,
|
6943
7075
|
deriveCatalystAppIdentifierArg,
|
@@ -7090,6 +7222,7 @@ public func nexusUpload(file: String,
|
|
7090
7222
|
- package: Path to package to notarize, e.g. .app bundle or disk image
|
7091
7223
|
- useNotarytool: Whether to `xcrun notarytool` or `xcrun altool`
|
7092
7224
|
- tryEarlyStapling: Whether to try early stapling while the notarization request is in progress
|
7225
|
+
- skipStapling: Do not staple the notarization ticket to the artifact; useful for single file executables and ZIP archives
|
7093
7226
|
- bundleId: Bundle identifier to uniquely identify the package
|
7094
7227
|
- username: Apple ID username
|
7095
7228
|
- ascProvider: Provider short name for accounts associated with multiple providers
|
@@ -7101,6 +7234,7 @@ public func nexusUpload(file: String,
|
|
7101
7234
|
public func notarize(package: String,
|
7102
7235
|
useNotarytool: OptionalConfigValue<Bool> = .fastlaneDefault(true),
|
7103
7236
|
tryEarlyStapling: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
7237
|
+
skipStapling: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
7104
7238
|
bundleId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
7105
7239
|
username: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
7106
7240
|
ascProvider: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
@@ -7112,6 +7246,7 @@ public func notarize(package: String,
|
|
7112
7246
|
let packageArg = RubyCommand.Argument(name: "package", value: package, type: nil)
|
7113
7247
|
let useNotarytoolArg = useNotarytool.asRubyArgument(name: "use_notarytool", type: nil)
|
7114
7248
|
let tryEarlyStaplingArg = tryEarlyStapling.asRubyArgument(name: "try_early_stapling", type: nil)
|
7249
|
+
let skipStaplingArg = skipStapling.asRubyArgument(name: "skip_stapling", type: nil)
|
7115
7250
|
let bundleIdArg = bundleId.asRubyArgument(name: "bundle_id", type: nil)
|
7116
7251
|
let usernameArg = username.asRubyArgument(name: "username", type: nil)
|
7117
7252
|
let ascProviderArg = ascProvider.asRubyArgument(name: "asc_provider", type: nil)
|
@@ -7122,6 +7257,7 @@ public func notarize(package: String,
|
|
7122
7257
|
let array: [RubyCommand.Argument?] = [packageArg,
|
7123
7258
|
useNotarytoolArg,
|
7124
7259
|
tryEarlyStaplingArg,
|
7260
|
+
skipStaplingArg,
|
7125
7261
|
bundleIdArg,
|
7126
7262
|
usernameArg,
|
7127
7263
|
ascProviderArg,
|
@@ -7383,6 +7519,7 @@ public func optOutUsage() {
|
|
7383
7519
|
Alias for the `get_push_certificate` action
|
7384
7520
|
|
7385
7521
|
- parameters:
|
7522
|
+
- platform: Set certificate's platform. Used for creation of production & development certificates. Supported platforms: ios, macos
|
7386
7523
|
- development: Renew the development push certificate instead of the production one
|
7387
7524
|
- websitePush: Create a Website Push certificate
|
7388
7525
|
- generateP12: Generate a p12 file additionally to a PEM file
|
@@ -7410,7 +7547,8 @@ public func optOutUsage() {
|
|
7410
7547
|
```|
|
7411
7548
|
>|
|
7412
7549
|
*/
|
7413
|
-
public func pem(
|
7550
|
+
public func pem(platform: String = "ios",
|
7551
|
+
development: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
7414
7552
|
websitePush: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
7415
7553
|
generateP12: OptionalConfigValue<Bool> = .fastlaneDefault(true),
|
7416
7554
|
activeDaysLimit: Int = 30,
|
@@ -7420,11 +7558,12 @@ public func pem(development: OptionalConfigValue<Bool> = .fastlaneDefault(false)
|
|
7420
7558
|
username: String,
|
7421
7559
|
teamId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
7422
7560
|
teamName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
7423
|
-
p12Password: String,
|
7561
|
+
p12Password: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
7424
7562
|
pemName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
7425
7563
|
outputPath: String = ".",
|
7426
7564
|
newProfile: ((String) -> Void)? = nil)
|
7427
7565
|
{
|
7566
|
+
let platformArg = RubyCommand.Argument(name: "platform", value: platform, type: nil)
|
7428
7567
|
let developmentArg = development.asRubyArgument(name: "development", type: nil)
|
7429
7568
|
let websitePushArg = websitePush.asRubyArgument(name: "website_push", type: nil)
|
7430
7569
|
let generateP12Arg = generateP12.asRubyArgument(name: "generate_p12", type: nil)
|
@@ -7435,11 +7574,12 @@ public func pem(development: OptionalConfigValue<Bool> = .fastlaneDefault(false)
|
|
7435
7574
|
let usernameArg = RubyCommand.Argument(name: "username", value: username, type: nil)
|
7436
7575
|
let teamIdArg = teamId.asRubyArgument(name: "team_id", type: nil)
|
7437
7576
|
let teamNameArg = teamName.asRubyArgument(name: "team_name", type: nil)
|
7438
|
-
let p12PasswordArg =
|
7577
|
+
let p12PasswordArg = p12Password.asRubyArgument(name: "p12_password", type: nil)
|
7439
7578
|
let pemNameArg = pemName.asRubyArgument(name: "pem_name", type: nil)
|
7440
7579
|
let outputPathArg = RubyCommand.Argument(name: "output_path", value: outputPath, type: nil)
|
7441
7580
|
let newProfileArg = RubyCommand.Argument(name: "new_profile", value: newProfile, type: .stringClosure)
|
7442
|
-
let array: [RubyCommand.Argument?] = [
|
7581
|
+
let array: [RubyCommand.Argument?] = [platformArg,
|
7582
|
+
developmentArg,
|
7443
7583
|
websitePushArg,
|
7444
7584
|
generateP12Arg,
|
7445
7585
|
activeDaysLimitArg,
|
@@ -7502,6 +7642,7 @@ public func pem(development: OptionalConfigValue<Bool> = .fastlaneDefault(false)
|
|
7502
7642
|
- 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
7643
|
- 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
7644
|
- rejectBuildWaitingForReview: Expire previous if it's 'waiting for review'
|
7645
|
+
- submitBetaReview: Send the build for a beta review
|
7505
7646
|
|
7506
7647
|
More details can be found on https://docs.fastlane.tools/actions/pilot/.
|
7507
7648
|
This integration will only do the TestFlight upload.
|
@@ -7543,7 +7684,8 @@ public func pilot(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault(ni
|
|
7543
7684
|
waitProcessingInterval: Int = 30,
|
7544
7685
|
waitProcessingTimeoutDuration: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
|
7545
7686
|
waitForUploadedBuild: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
7546
|
-
rejectBuildWaitingForReview: OptionalConfigValue<Bool> = .fastlaneDefault(false)
|
7687
|
+
rejectBuildWaitingForReview: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
7688
|
+
submitBetaReview: OptionalConfigValue<Bool> = .fastlaneDefault(true))
|
7547
7689
|
{
|
7548
7690
|
let apiKeyPathArg = apiKeyPath.asRubyArgument(name: "api_key_path", type: nil)
|
7549
7691
|
let apiKeyArg = apiKey.asRubyArgument(name: "api_key", type: nil)
|
@@ -7583,6 +7725,7 @@ public func pilot(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault(ni
|
|
7583
7725
|
let waitProcessingTimeoutDurationArg = waitProcessingTimeoutDuration.asRubyArgument(name: "wait_processing_timeout_duration", type: nil)
|
7584
7726
|
let waitForUploadedBuildArg = waitForUploadedBuild.asRubyArgument(name: "wait_for_uploaded_build", type: nil)
|
7585
7727
|
let rejectBuildWaitingForReviewArg = rejectBuildWaitingForReview.asRubyArgument(name: "reject_build_waiting_for_review", type: nil)
|
7728
|
+
let submitBetaReviewArg = submitBetaReview.asRubyArgument(name: "submit_beta_review", type: nil)
|
7586
7729
|
let array: [RubyCommand.Argument?] = [apiKeyPathArg,
|
7587
7730
|
apiKeyArg,
|
7588
7731
|
usernameArg,
|
@@ -7620,7 +7763,8 @@ public func pilot(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault(ni
|
|
7620
7763
|
waitProcessingIntervalArg,
|
7621
7764
|
waitProcessingTimeoutDurationArg,
|
7622
7765
|
waitForUploadedBuildArg,
|
7623
|
-
rejectBuildWaitingForReviewArg
|
7766
|
+
rejectBuildWaitingForReviewArg,
|
7767
|
+
submitBetaReviewArg]
|
7624
7768
|
let args: [RubyCommand.Argument] = array
|
7625
7769
|
.filter { $0?.value != nil }
|
7626
7770
|
.compactMap { $0 }
|
@@ -7765,6 +7909,8 @@ public func podLibLint(useBundleExec: OptionalConfigValue<Bool> = .fastlaneDefau
|
|
7765
7909
|
- verbose: Show more debugging information
|
7766
7910
|
- useModularHeaders: Use modular headers option during validation
|
7767
7911
|
- synchronous: If validation depends on other recently pushed pods, synchronize
|
7912
|
+
- noOverwrite: Disallow pushing that would overwrite an existing spec
|
7913
|
+
- localOnly: Does not perform the step of pushing REPO to its remote
|
7768
7914
|
*/
|
7769
7915
|
public func podPush(useBundleExec: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
7770
7916
|
path: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
@@ -7778,7 +7924,9 @@ public func podPush(useBundleExec: OptionalConfigValue<Bool> = .fastlaneDefault(
|
|
7778
7924
|
useJson: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
7779
7925
|
verbose: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
7780
7926
|
useModularHeaders: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
7781
|
-
synchronous: OptionalConfigValue<Bool?> = .fastlaneDefault(nil)
|
7927
|
+
synchronous: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
7928
|
+
noOverwrite: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
7929
|
+
localOnly: OptionalConfigValue<Bool?> = .fastlaneDefault(nil))
|
7782
7930
|
{
|
7783
7931
|
let useBundleExecArg = useBundleExec.asRubyArgument(name: "use_bundle_exec", type: nil)
|
7784
7932
|
let pathArg = path.asRubyArgument(name: "path", type: nil)
|
@@ -7793,6 +7941,8 @@ public func podPush(useBundleExec: OptionalConfigValue<Bool> = .fastlaneDefault(
|
|
7793
7941
|
let verboseArg = verbose.asRubyArgument(name: "verbose", type: nil)
|
7794
7942
|
let useModularHeadersArg = useModularHeaders.asRubyArgument(name: "use_modular_headers", type: nil)
|
7795
7943
|
let synchronousArg = synchronous.asRubyArgument(name: "synchronous", type: nil)
|
7944
|
+
let noOverwriteArg = noOverwrite.asRubyArgument(name: "no_overwrite", type: nil)
|
7945
|
+
let localOnlyArg = localOnly.asRubyArgument(name: "local_only", type: nil)
|
7796
7946
|
let array: [RubyCommand.Argument?] = [useBundleExecArg,
|
7797
7947
|
pathArg,
|
7798
7948
|
repoArg,
|
@@ -7805,7 +7955,9 @@ public func podPush(useBundleExec: OptionalConfigValue<Bool> = .fastlaneDefault(
|
|
7805
7955
|
useJsonArg,
|
7806
7956
|
verboseArg,
|
7807
7957
|
useModularHeadersArg,
|
7808
|
-
synchronousArg
|
7958
|
+
synchronousArg,
|
7959
|
+
noOverwriteArg,
|
7960
|
+
localOnlyArg]
|
7809
7961
|
let args: [RubyCommand.Argument] = array
|
7810
7962
|
.filter { $0?.value != nil }
|
7811
7963
|
.compactMap { $0 }
|
@@ -8168,7 +8320,7 @@ public func puts(message: OptionalConfigValue<String?> = .fastlaneDefault(nil))
|
|
8168
8320
|
This can be useful when basing your release process on the version string only stored in one place - in the podspec.
|
8169
8321
|
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
8322
|
*/
|
8171
|
-
@discardableResult public func readPodspec(path: String) -> [String:
|
8323
|
+
@discardableResult public func readPodspec(path: String) -> [String: Any] {
|
8172
8324
|
let pathArg = RubyCommand.Argument(name: "path", value: path, type: nil)
|
8173
8325
|
let array: [RubyCommand.Argument?] = [pathArg]
|
8174
8326
|
let args: [RubyCommand.Argument] = array
|
@@ -8500,8 +8652,8 @@ public func rubyVersion() {
|
|
8500
8652
|
- project: Path to the project file
|
8501
8653
|
- packagePath: Path to the Swift Package
|
8502
8654
|
- 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'])
|
8655
|
+
- device: The name of the simulator type you want to run tests on (e.g. 'iPhone 6' or 'iPhone SE (2nd generation) (14.5)')
|
8656
|
+
- devices: Array of devices to run the tests on (e.g. ['iPhone 6', 'iPad Air', 'iPhone SE (2nd generation) (14.5)'])
|
8505
8657
|
- skipDetectDevices: Should skip auto detecting of devices if none were specified
|
8506
8658
|
- ensureDevicesFound: Should fail if devices not found
|
8507
8659
|
- forceQuitSimulator: Enabling this option will automatically killall Simulator processes before the run
|
@@ -8522,7 +8674,6 @@ public func rubyVersion() {
|
|
8522
8674
|
- addressSanitizer: Should the address sanitizer be turned on?
|
8523
8675
|
- threadSanitizer: Should the thread sanitizer be turned on?
|
8524
8676
|
- 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
8677
|
- outputDirectory: The directory in which all reports will be stored
|
8527
8678
|
- outputStyle: Define how the output should look like. Valid values are: standard, basic, rspec, or raw (disables xcpretty during xcodebuild)
|
8528
8679
|
- outputTypes: Comma separated list of the output types (e.g. html, junit, json-compilation-database)
|
@@ -8530,13 +8681,19 @@ public func rubyVersion() {
|
|
8530
8681
|
- buildlogPath: The directory where to store the raw log
|
8531
8682
|
- 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
8683
|
- suppressXcodeOutput: Suppress the output of xcodebuild to stdout. Output is still saved in buildlog_path
|
8533
|
-
- formatter:
|
8684
|
+
- 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/)
|
8685
|
+
- outputRemoveRetryAttempts: Remove retry attempts from test results table and the JUnit report (if not using xcpretty)
|
8686
|
+
- 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
|
8687
|
+
- formatter: **DEPRECATED!** Use 'xcpretty_formatter' instead - A custom xcpretty formatter to use
|
8688
|
+
- xcprettyFormatter: A custom xcpretty formatter to use
|
8534
8689
|
- xcprettyArgs: Pass in xcpretty additional command line arguments (e.g. '--test --no-color' or '--tap --no-utf')
|
8535
8690
|
- derivedDataPath: The directory where build products and other derived data will go
|
8536
8691
|
- shouldZipBuildProducts: Should zip the derived data build products and place in output path?
|
8537
8692
|
- outputXctestrun: Should provide additional copy of .xctestrun file (settings.xctestrun) and place in output path?
|
8693
|
+
- resultBundlePath: Custom path for the result bundle, overrides result_bundle
|
8538
8694
|
- resultBundle: Should an Xcode result bundle be generated in the output directory
|
8539
8695
|
- useClangReportName: Generate the json compilation database with clang naming convention (compile_commands.json)
|
8696
|
+
- parallelTesting: Optionally override the per-target setting in the scheme for running tests in parallel. Equivalent to -parallel-testing-enabled
|
8540
8697
|
- concurrentWorkers: Specify the exact number of test runners that will be spawned during parallel testing. Equivalent to -parallel-testing-worker-count
|
8541
8698
|
- maxConcurrentSimulators: Constrain the number of simulator devices on which to test concurrently. Equivalent to -maximum-concurrent-test-simulator-destinations
|
8542
8699
|
- disableConcurrentTesting: Do not run test bundles in parallel on the specified destinations. Testing will occur on each destination serially. Equivalent to -disable-concurrent-testing
|
@@ -8559,6 +8716,7 @@ public func rubyVersion() {
|
|
8559
8716
|
- slackOnlyOnFailure: Only post on Slack if the tests fail
|
8560
8717
|
- slackDefaultPayloads: Specifies default payloads to include in Slack messages. For more info visit https://docs.fastlane.tools/actions/slack
|
8561
8718
|
- destination: Use only if you're a pro, use the other options instead
|
8719
|
+
- runRosettaSimulator: Adds arch=x86_64 to the xcodebuild 'destination' argument to run simulator in a Rosetta mode
|
8562
8720
|
- catalystPlatform: Platform to build when using a Catalyst enabled app. Valid values are: ios, macos
|
8563
8721
|
- customReportFileName: **DEPRECATED!** Use `--output_files` instead - Sets custom full report file name when generating a single report
|
8564
8722
|
- xcodebuildCommand: Allows for override of the default `xcodebuild` command
|
@@ -8566,83 +8724,91 @@ public func rubyVersion() {
|
|
8566
8724
|
- skipPackageDependenciesResolution: Skips resolution of Swift Package Manager dependencies
|
8567
8725
|
- disablePackageAutomaticUpdates: Prevents packages from automatically being resolved to versions other than those recorded in the `Package.resolved` file
|
8568
8726
|
- useSystemScm: Lets xcodebuild use system's scm configuration
|
8569
|
-
- numberOfRetries: The number of times a test can fail
|
8727
|
+
- numberOfRetries: The number of times a test can fail
|
8570
8728
|
- failBuild: Should this step stop the build if the tests fail? Set this to false if you're using trainer
|
8571
8729
|
|
8730
|
+
- 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
|
8731
|
+
|
8572
8732
|
More information: https://docs.fastlane.tools/actions/scan/
|
8573
8733
|
*/
|
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
|
-
|
8734
|
+
@discardableResult public func runTests(workspace: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8735
|
+
project: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8736
|
+
packagePath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8737
|
+
scheme: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8738
|
+
device: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8739
|
+
devices: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
|
8740
|
+
skipDetectDevices: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8741
|
+
ensureDevicesFound: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8742
|
+
forceQuitSimulator: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8743
|
+
resetSimulator: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8744
|
+
disableSlideToType: OptionalConfigValue<Bool> = .fastlaneDefault(true),
|
8745
|
+
prelaunchSimulator: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
8746
|
+
reinstallApp: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8747
|
+
appIdentifier: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8748
|
+
onlyTesting: Any? = nil,
|
8749
|
+
skipTesting: Any? = nil,
|
8750
|
+
testplan: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8751
|
+
onlyTestConfigurations: Any? = nil,
|
8752
|
+
skipTestConfigurations: Any? = nil,
|
8753
|
+
xctestrun: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8754
|
+
toolchain: Any? = nil,
|
8755
|
+
clean: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8756
|
+
codeCoverage: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
8757
|
+
addressSanitizer: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
8758
|
+
threadSanitizer: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
8759
|
+
openReport: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8760
|
+
outputDirectory: String = "./test_output",
|
8761
|
+
outputStyle: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8762
|
+
outputTypes: String = "html,junit",
|
8763
|
+
outputFiles: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8764
|
+
buildlogPath: String = "~/Library/Logs/scan",
|
8765
|
+
includeSimulatorLogs: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8766
|
+
suppressXcodeOutput: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
8767
|
+
xcodebuildFormatter: String = "xcbeautify",
|
8768
|
+
outputRemoveRetryAttempts: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8769
|
+
disableXcpretty: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
8770
|
+
formatter: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8771
|
+
xcprettyFormatter: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8772
|
+
xcprettyArgs: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8773
|
+
derivedDataPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8774
|
+
shouldZipBuildProducts: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8775
|
+
outputXctestrun: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8776
|
+
resultBundlePath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8777
|
+
resultBundle: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8778
|
+
useClangReportName: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8779
|
+
parallelTesting: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
8780
|
+
concurrentWorkers: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
|
8781
|
+
maxConcurrentSimulators: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
|
8782
|
+
disableConcurrentTesting: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8783
|
+
skipBuild: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8784
|
+
testWithoutBuilding: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
8785
|
+
buildForTesting: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
8786
|
+
sdk: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8787
|
+
configuration: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8788
|
+
xcargs: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8789
|
+
xcconfig: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8790
|
+
appName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8791
|
+
deploymentTargetVersion: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8792
|
+
slackUrl: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8793
|
+
slackChannel: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8794
|
+
slackMessage: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8795
|
+
slackUseWebhookConfiguredUsernameAndIcon: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8796
|
+
slackUsername: String = "fastlane",
|
8797
|
+
slackIconUrl: String = "https://fastlane.tools/assets/img/fastlane_icon.png",
|
8798
|
+
skipSlack: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8799
|
+
slackOnlyOnFailure: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8800
|
+
slackDefaultPayloads: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
|
8801
|
+
destination: Any? = nil,
|
8802
|
+
runRosettaSimulator: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8803
|
+
catalystPlatform: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8804
|
+
customReportFileName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8805
|
+
xcodebuildCommand: String = "env NSUnbufferedIO=YES xcodebuild",
|
8806
|
+
clonedSourcePackagesPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8807
|
+
skipPackageDependenciesResolution: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8808
|
+
disablePackageAutomaticUpdates: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8809
|
+
useSystemScm: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
8810
|
+
numberOfRetries: Int = 0,
|
8811
|
+
failBuild: OptionalConfigValue<Bool> = .fastlaneDefault(true)) -> [String: Any]
|
8646
8812
|
{
|
8647
8813
|
let workspaceArg = workspace.asRubyArgument(name: "workspace", type: nil)
|
8648
8814
|
let projectArg = project.asRubyArgument(name: "project", type: nil)
|
@@ -8670,7 +8836,6 @@ public func runTests(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
|
|
8670
8836
|
let addressSanitizerArg = addressSanitizer.asRubyArgument(name: "address_sanitizer", type: nil)
|
8671
8837
|
let threadSanitizerArg = threadSanitizer.asRubyArgument(name: "thread_sanitizer", type: nil)
|
8672
8838
|
let openReportArg = openReport.asRubyArgument(name: "open_report", type: nil)
|
8673
|
-
let disableXcprettyArg = disableXcpretty.asRubyArgument(name: "disable_xcpretty", type: nil)
|
8674
8839
|
let outputDirectoryArg = RubyCommand.Argument(name: "output_directory", value: outputDirectory, type: nil)
|
8675
8840
|
let outputStyleArg = outputStyle.asRubyArgument(name: "output_style", type: nil)
|
8676
8841
|
let outputTypesArg = RubyCommand.Argument(name: "output_types", value: outputTypes, type: nil)
|
@@ -8678,13 +8843,19 @@ public func runTests(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
|
|
8678
8843
|
let buildlogPathArg = RubyCommand.Argument(name: "buildlog_path", value: buildlogPath, type: nil)
|
8679
8844
|
let includeSimulatorLogsArg = includeSimulatorLogs.asRubyArgument(name: "include_simulator_logs", type: nil)
|
8680
8845
|
let suppressXcodeOutputArg = suppressXcodeOutput.asRubyArgument(name: "suppress_xcode_output", type: nil)
|
8846
|
+
let xcodebuildFormatterArg = RubyCommand.Argument(name: "xcodebuild_formatter", value: xcodebuildFormatter, type: nil)
|
8847
|
+
let outputRemoveRetryAttemptsArg = outputRemoveRetryAttempts.asRubyArgument(name: "output_remove_retry_attempts", type: nil)
|
8848
|
+
let disableXcprettyArg = disableXcpretty.asRubyArgument(name: "disable_xcpretty", type: nil)
|
8681
8849
|
let formatterArg = formatter.asRubyArgument(name: "formatter", type: nil)
|
8850
|
+
let xcprettyFormatterArg = xcprettyFormatter.asRubyArgument(name: "xcpretty_formatter", type: nil)
|
8682
8851
|
let xcprettyArgsArg = xcprettyArgs.asRubyArgument(name: "xcpretty_args", type: nil)
|
8683
8852
|
let derivedDataPathArg = derivedDataPath.asRubyArgument(name: "derived_data_path", type: nil)
|
8684
8853
|
let shouldZipBuildProductsArg = shouldZipBuildProducts.asRubyArgument(name: "should_zip_build_products", type: nil)
|
8685
8854
|
let outputXctestrunArg = outputXctestrun.asRubyArgument(name: "output_xctestrun", type: nil)
|
8855
|
+
let resultBundlePathArg = resultBundlePath.asRubyArgument(name: "result_bundle_path", type: nil)
|
8686
8856
|
let resultBundleArg = resultBundle.asRubyArgument(name: "result_bundle", type: nil)
|
8687
8857
|
let useClangReportNameArg = useClangReportName.asRubyArgument(name: "use_clang_report_name", type: nil)
|
8858
|
+
let parallelTestingArg = parallelTesting.asRubyArgument(name: "parallel_testing", type: nil)
|
8688
8859
|
let concurrentWorkersArg = concurrentWorkers.asRubyArgument(name: "concurrent_workers", type: nil)
|
8689
8860
|
let maxConcurrentSimulatorsArg = maxConcurrentSimulators.asRubyArgument(name: "max_concurrent_simulators", type: nil)
|
8690
8861
|
let disableConcurrentTestingArg = disableConcurrentTesting.asRubyArgument(name: "disable_concurrent_testing", type: nil)
|
@@ -8707,6 +8878,7 @@ public func runTests(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
|
|
8707
8878
|
let slackOnlyOnFailureArg = slackOnlyOnFailure.asRubyArgument(name: "slack_only_on_failure", type: nil)
|
8708
8879
|
let slackDefaultPayloadsArg = slackDefaultPayloads.asRubyArgument(name: "slack_default_payloads", type: nil)
|
8709
8880
|
let destinationArg = RubyCommand.Argument(name: "destination", value: destination, type: nil)
|
8881
|
+
let runRosettaSimulatorArg = runRosettaSimulator.asRubyArgument(name: "run_rosetta_simulator", type: nil)
|
8710
8882
|
let catalystPlatformArg = catalystPlatform.asRubyArgument(name: "catalyst_platform", type: nil)
|
8711
8883
|
let customReportFileNameArg = customReportFileName.asRubyArgument(name: "custom_report_file_name", type: nil)
|
8712
8884
|
let xcodebuildCommandArg = RubyCommand.Argument(name: "xcodebuild_command", value: xcodebuildCommand, type: nil)
|
@@ -8742,7 +8914,6 @@ public func runTests(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
|
|
8742
8914
|
addressSanitizerArg,
|
8743
8915
|
threadSanitizerArg,
|
8744
8916
|
openReportArg,
|
8745
|
-
disableXcprettyArg,
|
8746
8917
|
outputDirectoryArg,
|
8747
8918
|
outputStyleArg,
|
8748
8919
|
outputTypesArg,
|
@@ -8750,13 +8921,19 @@ public func runTests(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
|
|
8750
8921
|
buildlogPathArg,
|
8751
8922
|
includeSimulatorLogsArg,
|
8752
8923
|
suppressXcodeOutputArg,
|
8924
|
+
xcodebuildFormatterArg,
|
8925
|
+
outputRemoveRetryAttemptsArg,
|
8926
|
+
disableXcprettyArg,
|
8753
8927
|
formatterArg,
|
8928
|
+
xcprettyFormatterArg,
|
8754
8929
|
xcprettyArgsArg,
|
8755
8930
|
derivedDataPathArg,
|
8756
8931
|
shouldZipBuildProductsArg,
|
8757
8932
|
outputXctestrunArg,
|
8933
|
+
resultBundlePathArg,
|
8758
8934
|
resultBundleArg,
|
8759
8935
|
useClangReportNameArg,
|
8936
|
+
parallelTestingArg,
|
8760
8937
|
concurrentWorkersArg,
|
8761
8938
|
maxConcurrentSimulatorsArg,
|
8762
8939
|
disableConcurrentTestingArg,
|
@@ -8779,6 +8956,7 @@ public func runTests(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
|
|
8779
8956
|
slackOnlyOnFailureArg,
|
8780
8957
|
slackDefaultPayloadsArg,
|
8781
8958
|
destinationArg,
|
8959
|
+
runRosettaSimulatorArg,
|
8782
8960
|
catalystPlatformArg,
|
8783
8961
|
customReportFileNameArg,
|
8784
8962
|
xcodebuildCommandArg,
|
@@ -8792,7 +8970,7 @@ public func runTests(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
|
|
8792
8970
|
.filter { $0?.value != nil }
|
8793
8971
|
.compactMap { $0 }
|
8794
8972
|
let command = RubyCommand(commandID: "", methodName: "run_tests", className: nil, args: args)
|
8795
|
-
|
8973
|
+
return parseDictionary(fromString: runner.executeCommand(command))
|
8796
8974
|
}
|
8797
8975
|
|
8798
8976
|
/**
|
@@ -8905,8 +9083,8 @@ public func say(text: [String],
|
|
8905
9083
|
- project: Path to the project file
|
8906
9084
|
- packagePath: Path to the Swift Package
|
8907
9085
|
- 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'])
|
9086
|
+
- device: The name of the simulator type you want to run tests on (e.g. 'iPhone 6' or 'iPhone SE (2nd generation) (14.5)')
|
9087
|
+
- devices: Array of devices to run the tests on (e.g. ['iPhone 6', 'iPad Air', 'iPhone SE (2nd generation) (14.5)'])
|
8910
9088
|
- skipDetectDevices: Should skip auto detecting of devices if none were specified
|
8911
9089
|
- ensureDevicesFound: Should fail if devices not found
|
8912
9090
|
- forceQuitSimulator: Enabling this option will automatically killall Simulator processes before the run
|
@@ -8927,7 +9105,6 @@ public func say(text: [String],
|
|
8927
9105
|
- addressSanitizer: Should the address sanitizer be turned on?
|
8928
9106
|
- threadSanitizer: Should the thread sanitizer be turned on?
|
8929
9107
|
- 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
9108
|
- outputDirectory: The directory in which all reports will be stored
|
8932
9109
|
- outputStyle: Define how the output should look like. Valid values are: standard, basic, rspec, or raw (disables xcpretty during xcodebuild)
|
8933
9110
|
- outputTypes: Comma separated list of the output types (e.g. html, junit, json-compilation-database)
|
@@ -8935,13 +9112,19 @@ public func say(text: [String],
|
|
8935
9112
|
- buildlogPath: The directory where to store the raw log
|
8936
9113
|
- 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
9114
|
- suppressXcodeOutput: Suppress the output of xcodebuild to stdout. Output is still saved in buildlog_path
|
8938
|
-
- formatter:
|
9115
|
+
- 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/)
|
9116
|
+
- outputRemoveRetryAttempts: Remove retry attempts from test results table and the JUnit report (if not using xcpretty)
|
9117
|
+
- 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
|
9118
|
+
- formatter: **DEPRECATED!** Use 'xcpretty_formatter' instead - A custom xcpretty formatter to use
|
9119
|
+
- xcprettyFormatter: A custom xcpretty formatter to use
|
8939
9120
|
- xcprettyArgs: Pass in xcpretty additional command line arguments (e.g. '--test --no-color' or '--tap --no-utf')
|
8940
9121
|
- derivedDataPath: The directory where build products and other derived data will go
|
8941
9122
|
- shouldZipBuildProducts: Should zip the derived data build products and place in output path?
|
8942
9123
|
- outputXctestrun: Should provide additional copy of .xctestrun file (settings.xctestrun) and place in output path?
|
9124
|
+
- resultBundlePath: Custom path for the result bundle, overrides result_bundle
|
8943
9125
|
- resultBundle: Should an Xcode result bundle be generated in the output directory
|
8944
9126
|
- useClangReportName: Generate the json compilation database with clang naming convention (compile_commands.json)
|
9127
|
+
- parallelTesting: Optionally override the per-target setting in the scheme for running tests in parallel. Equivalent to -parallel-testing-enabled
|
8945
9128
|
- concurrentWorkers: Specify the exact number of test runners that will be spawned during parallel testing. Equivalent to -parallel-testing-worker-count
|
8946
9129
|
- maxConcurrentSimulators: Constrain the number of simulator devices on which to test concurrently. Equivalent to -maximum-concurrent-test-simulator-destinations
|
8947
9130
|
- disableConcurrentTesting: Do not run test bundles in parallel on the specified destinations. Testing will occur on each destination serially. Equivalent to -disable-concurrent-testing
|
@@ -8964,6 +9147,7 @@ public func say(text: [String],
|
|
8964
9147
|
- slackOnlyOnFailure: Only post on Slack if the tests fail
|
8965
9148
|
- slackDefaultPayloads: Specifies default payloads to include in Slack messages. For more info visit https://docs.fastlane.tools/actions/slack
|
8966
9149
|
- destination: Use only if you're a pro, use the other options instead
|
9150
|
+
- runRosettaSimulator: Adds arch=x86_64 to the xcodebuild 'destination' argument to run simulator in a Rosetta mode
|
8967
9151
|
- catalystPlatform: Platform to build when using a Catalyst enabled app. Valid values are: ios, macos
|
8968
9152
|
- customReportFileName: **DEPRECATED!** Use `--output_files` instead - Sets custom full report file name when generating a single report
|
8969
9153
|
- xcodebuildCommand: Allows for override of the default `xcodebuild` command
|
@@ -8971,83 +9155,91 @@ public func say(text: [String],
|
|
8971
9155
|
- skipPackageDependenciesResolution: Skips resolution of Swift Package Manager dependencies
|
8972
9156
|
- disablePackageAutomaticUpdates: Prevents packages from automatically being resolved to versions other than those recorded in the `Package.resolved` file
|
8973
9157
|
- useSystemScm: Lets xcodebuild use system's scm configuration
|
8974
|
-
- numberOfRetries: The number of times a test can fail
|
9158
|
+
- numberOfRetries: The number of times a test can fail
|
8975
9159
|
- failBuild: Should this step stop the build if the tests fail? Set this to false if you're using trainer
|
8976
9160
|
|
9161
|
+
- 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
|
9162
|
+
|
8977
9163
|
More information: https://docs.fastlane.tools/actions/scan/
|
8978
9164
|
*/
|
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
|
-
|
9165
|
+
@discardableResult public func scan(workspace: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.workspace),
|
9166
|
+
project: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.project),
|
9167
|
+
packagePath: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.packagePath),
|
9168
|
+
scheme: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.scheme),
|
9169
|
+
device: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.device),
|
9170
|
+
devices: OptionalConfigValue<[String]?> = .fastlaneDefault(scanfile.devices),
|
9171
|
+
skipDetectDevices: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.skipDetectDevices),
|
9172
|
+
ensureDevicesFound: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.ensureDevicesFound),
|
9173
|
+
forceQuitSimulator: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.forceQuitSimulator),
|
9174
|
+
resetSimulator: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.resetSimulator),
|
9175
|
+
disableSlideToType: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.disableSlideToType),
|
9176
|
+
prelaunchSimulator: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.prelaunchSimulator),
|
9177
|
+
reinstallApp: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.reinstallApp),
|
9178
|
+
appIdentifier: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.appIdentifier),
|
9179
|
+
onlyTesting: Any? = scanfile.onlyTesting,
|
9180
|
+
skipTesting: Any? = scanfile.skipTesting,
|
9181
|
+
testplan: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.testplan),
|
9182
|
+
onlyTestConfigurations: Any? = scanfile.onlyTestConfigurations,
|
9183
|
+
skipTestConfigurations: Any? = scanfile.skipTestConfigurations,
|
9184
|
+
xctestrun: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.xctestrun),
|
9185
|
+
toolchain: Any? = scanfile.toolchain,
|
9186
|
+
clean: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.clean),
|
9187
|
+
codeCoverage: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.codeCoverage),
|
9188
|
+
addressSanitizer: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.addressSanitizer),
|
9189
|
+
threadSanitizer: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.threadSanitizer),
|
9190
|
+
openReport: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.openReport),
|
9191
|
+
outputDirectory: String = scanfile.outputDirectory,
|
9192
|
+
outputStyle: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.outputStyle),
|
9193
|
+
outputTypes: String = scanfile.outputTypes,
|
9194
|
+
outputFiles: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.outputFiles),
|
9195
|
+
buildlogPath: String = scanfile.buildlogPath,
|
9196
|
+
includeSimulatorLogs: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.includeSimulatorLogs),
|
9197
|
+
suppressXcodeOutput: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.suppressXcodeOutput),
|
9198
|
+
xcodebuildFormatter: String = scanfile.xcodebuildFormatter,
|
9199
|
+
outputRemoveRetryAttempts: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.outputRemoveRetryAttempts),
|
9200
|
+
disableXcpretty: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.disableXcpretty),
|
9201
|
+
formatter: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.formatter),
|
9202
|
+
xcprettyFormatter: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.xcprettyFormatter),
|
9203
|
+
xcprettyArgs: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.xcprettyArgs),
|
9204
|
+
derivedDataPath: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.derivedDataPath),
|
9205
|
+
shouldZipBuildProducts: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.shouldZipBuildProducts),
|
9206
|
+
outputXctestrun: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.outputXctestrun),
|
9207
|
+
resultBundlePath: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.resultBundlePath),
|
9208
|
+
resultBundle: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.resultBundle),
|
9209
|
+
useClangReportName: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.useClangReportName),
|
9210
|
+
parallelTesting: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.parallelTesting),
|
9211
|
+
concurrentWorkers: OptionalConfigValue<Int?> = .fastlaneDefault(scanfile.concurrentWorkers),
|
9212
|
+
maxConcurrentSimulators: OptionalConfigValue<Int?> = .fastlaneDefault(scanfile.maxConcurrentSimulators),
|
9213
|
+
disableConcurrentTesting: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.disableConcurrentTesting),
|
9214
|
+
skipBuild: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.skipBuild),
|
9215
|
+
testWithoutBuilding: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.testWithoutBuilding),
|
9216
|
+
buildForTesting: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.buildForTesting),
|
9217
|
+
sdk: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.sdk),
|
9218
|
+
configuration: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.configuration),
|
9219
|
+
xcargs: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.xcargs),
|
9220
|
+
xcconfig: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.xcconfig),
|
9221
|
+
appName: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.appName),
|
9222
|
+
deploymentTargetVersion: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.deploymentTargetVersion),
|
9223
|
+
slackUrl: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.slackUrl),
|
9224
|
+
slackChannel: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.slackChannel),
|
9225
|
+
slackMessage: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.slackMessage),
|
9226
|
+
slackUseWebhookConfiguredUsernameAndIcon: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.slackUseWebhookConfiguredUsernameAndIcon),
|
9227
|
+
slackUsername: String = scanfile.slackUsername,
|
9228
|
+
slackIconUrl: String = scanfile.slackIconUrl,
|
9229
|
+
skipSlack: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.skipSlack),
|
9230
|
+
slackOnlyOnFailure: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.slackOnlyOnFailure),
|
9231
|
+
slackDefaultPayloads: OptionalConfigValue<[String]?> = .fastlaneDefault(scanfile.slackDefaultPayloads),
|
9232
|
+
destination: Any? = scanfile.destination,
|
9233
|
+
runRosettaSimulator: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.runRosettaSimulator),
|
9234
|
+
catalystPlatform: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.catalystPlatform),
|
9235
|
+
customReportFileName: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.customReportFileName),
|
9236
|
+
xcodebuildCommand: String = scanfile.xcodebuildCommand,
|
9237
|
+
clonedSourcePackagesPath: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.clonedSourcePackagesPath),
|
9238
|
+
skipPackageDependenciesResolution: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.skipPackageDependenciesResolution),
|
9239
|
+
disablePackageAutomaticUpdates: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.disablePackageAutomaticUpdates),
|
9240
|
+
useSystemScm: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.useSystemScm),
|
9241
|
+
numberOfRetries: Int = scanfile.numberOfRetries,
|
9242
|
+
failBuild: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.failBuild)) -> [String: Any]
|
9051
9243
|
{
|
9052
9244
|
let workspaceArg = workspace.asRubyArgument(name: "workspace", type: nil)
|
9053
9245
|
let projectArg = project.asRubyArgument(name: "project", type: nil)
|
@@ -9075,7 +9267,6 @@ public func scan(workspace: OptionalConfigValue<String?> = .fastlaneDefault(scan
|
|
9075
9267
|
let addressSanitizerArg = addressSanitizer.asRubyArgument(name: "address_sanitizer", type: nil)
|
9076
9268
|
let threadSanitizerArg = threadSanitizer.asRubyArgument(name: "thread_sanitizer", type: nil)
|
9077
9269
|
let openReportArg = openReport.asRubyArgument(name: "open_report", type: nil)
|
9078
|
-
let disableXcprettyArg = disableXcpretty.asRubyArgument(name: "disable_xcpretty", type: nil)
|
9079
9270
|
let outputDirectoryArg = RubyCommand.Argument(name: "output_directory", value: outputDirectory, type: nil)
|
9080
9271
|
let outputStyleArg = outputStyle.asRubyArgument(name: "output_style", type: nil)
|
9081
9272
|
let outputTypesArg = RubyCommand.Argument(name: "output_types", value: outputTypes, type: nil)
|
@@ -9083,13 +9274,19 @@ public func scan(workspace: OptionalConfigValue<String?> = .fastlaneDefault(scan
|
|
9083
9274
|
let buildlogPathArg = RubyCommand.Argument(name: "buildlog_path", value: buildlogPath, type: nil)
|
9084
9275
|
let includeSimulatorLogsArg = includeSimulatorLogs.asRubyArgument(name: "include_simulator_logs", type: nil)
|
9085
9276
|
let suppressXcodeOutputArg = suppressXcodeOutput.asRubyArgument(name: "suppress_xcode_output", type: nil)
|
9277
|
+
let xcodebuildFormatterArg = RubyCommand.Argument(name: "xcodebuild_formatter", value: xcodebuildFormatter, type: nil)
|
9278
|
+
let outputRemoveRetryAttemptsArg = outputRemoveRetryAttempts.asRubyArgument(name: "output_remove_retry_attempts", type: nil)
|
9279
|
+
let disableXcprettyArg = disableXcpretty.asRubyArgument(name: "disable_xcpretty", type: nil)
|
9086
9280
|
let formatterArg = formatter.asRubyArgument(name: "formatter", type: nil)
|
9281
|
+
let xcprettyFormatterArg = xcprettyFormatter.asRubyArgument(name: "xcpretty_formatter", type: nil)
|
9087
9282
|
let xcprettyArgsArg = xcprettyArgs.asRubyArgument(name: "xcpretty_args", type: nil)
|
9088
9283
|
let derivedDataPathArg = derivedDataPath.asRubyArgument(name: "derived_data_path", type: nil)
|
9089
9284
|
let shouldZipBuildProductsArg = shouldZipBuildProducts.asRubyArgument(name: "should_zip_build_products", type: nil)
|
9090
9285
|
let outputXctestrunArg = outputXctestrun.asRubyArgument(name: "output_xctestrun", type: nil)
|
9286
|
+
let resultBundlePathArg = resultBundlePath.asRubyArgument(name: "result_bundle_path", type: nil)
|
9091
9287
|
let resultBundleArg = resultBundle.asRubyArgument(name: "result_bundle", type: nil)
|
9092
9288
|
let useClangReportNameArg = useClangReportName.asRubyArgument(name: "use_clang_report_name", type: nil)
|
9289
|
+
let parallelTestingArg = parallelTesting.asRubyArgument(name: "parallel_testing", type: nil)
|
9093
9290
|
let concurrentWorkersArg = concurrentWorkers.asRubyArgument(name: "concurrent_workers", type: nil)
|
9094
9291
|
let maxConcurrentSimulatorsArg = maxConcurrentSimulators.asRubyArgument(name: "max_concurrent_simulators", type: nil)
|
9095
9292
|
let disableConcurrentTestingArg = disableConcurrentTesting.asRubyArgument(name: "disable_concurrent_testing", type: nil)
|
@@ -9112,6 +9309,7 @@ public func scan(workspace: OptionalConfigValue<String?> = .fastlaneDefault(scan
|
|
9112
9309
|
let slackOnlyOnFailureArg = slackOnlyOnFailure.asRubyArgument(name: "slack_only_on_failure", type: nil)
|
9113
9310
|
let slackDefaultPayloadsArg = slackDefaultPayloads.asRubyArgument(name: "slack_default_payloads", type: nil)
|
9114
9311
|
let destinationArg = RubyCommand.Argument(name: "destination", value: destination, type: nil)
|
9312
|
+
let runRosettaSimulatorArg = runRosettaSimulator.asRubyArgument(name: "run_rosetta_simulator", type: nil)
|
9115
9313
|
let catalystPlatformArg = catalystPlatform.asRubyArgument(name: "catalyst_platform", type: nil)
|
9116
9314
|
let customReportFileNameArg = customReportFileName.asRubyArgument(name: "custom_report_file_name", type: nil)
|
9117
9315
|
let xcodebuildCommandArg = RubyCommand.Argument(name: "xcodebuild_command", value: xcodebuildCommand, type: nil)
|
@@ -9147,7 +9345,6 @@ public func scan(workspace: OptionalConfigValue<String?> = .fastlaneDefault(scan
|
|
9147
9345
|
addressSanitizerArg,
|
9148
9346
|
threadSanitizerArg,
|
9149
9347
|
openReportArg,
|
9150
|
-
disableXcprettyArg,
|
9151
9348
|
outputDirectoryArg,
|
9152
9349
|
outputStyleArg,
|
9153
9350
|
outputTypesArg,
|
@@ -9155,13 +9352,19 @@ public func scan(workspace: OptionalConfigValue<String?> = .fastlaneDefault(scan
|
|
9155
9352
|
buildlogPathArg,
|
9156
9353
|
includeSimulatorLogsArg,
|
9157
9354
|
suppressXcodeOutputArg,
|
9355
|
+
xcodebuildFormatterArg,
|
9356
|
+
outputRemoveRetryAttemptsArg,
|
9357
|
+
disableXcprettyArg,
|
9158
9358
|
formatterArg,
|
9359
|
+
xcprettyFormatterArg,
|
9159
9360
|
xcprettyArgsArg,
|
9160
9361
|
derivedDataPathArg,
|
9161
9362
|
shouldZipBuildProductsArg,
|
9162
9363
|
outputXctestrunArg,
|
9364
|
+
resultBundlePathArg,
|
9163
9365
|
resultBundleArg,
|
9164
9366
|
useClangReportNameArg,
|
9367
|
+
parallelTestingArg,
|
9165
9368
|
concurrentWorkersArg,
|
9166
9369
|
maxConcurrentSimulatorsArg,
|
9167
9370
|
disableConcurrentTestingArg,
|
@@ -9184,6 +9387,7 @@ public func scan(workspace: OptionalConfigValue<String?> = .fastlaneDefault(scan
|
|
9184
9387
|
slackOnlyOnFailureArg,
|
9185
9388
|
slackDefaultPayloadsArg,
|
9186
9389
|
destinationArg,
|
9390
|
+
runRosettaSimulatorArg,
|
9187
9391
|
catalystPlatformArg,
|
9188
9392
|
customReportFileNameArg,
|
9189
9393
|
xcodebuildCommandArg,
|
@@ -9197,7 +9401,7 @@ public func scan(workspace: OptionalConfigValue<String?> = .fastlaneDefault(scan
|
|
9197
9401
|
.filter { $0?.value != nil }
|
9198
9402
|
.compactMap { $0 }
|
9199
9403
|
let command = RubyCommand(commandID: "", methodName: "scan", className: nil, args: args)
|
9200
|
-
|
9404
|
+
return parseDictionary(fromString: runner.executeCommand(command))
|
9201
9405
|
}
|
9202
9406
|
|
9203
9407
|
/**
|
@@ -9256,10 +9460,10 @@ public func scp(username: String,
|
|
9256
9460
|
- endingLocale: **DEPRECATED!** Return the device to this locale after running tests
|
9257
9461
|
- useAdbRoot: **DEPRECATED!** Restarts the adb daemon using `adb root` to allow access to screenshots directories on device. Use if getting 'Permission denied' errors
|
9258
9462
|
- appApkPath: The path to the APK for the app under test
|
9259
|
-
- testsApkPath: The path to the APK for the
|
9463
|
+
- testsApkPath: The path to the APK for the tests bundle
|
9260
9464
|
- specificDevice: Use the device or emulator with the given serial number or qualifier
|
9261
9465
|
- deviceType: Type of device used for screenshots. Matches Google Play Types (phone, sevenInch, tenInch, tv, wear)
|
9262
|
-
- exitOnTestFailure: Whether or not to exit Screengrab on test failure. Exiting on failure will not copy
|
9466
|
+
- exitOnTestFailure: Whether or not to exit Screengrab on test failure. Exiting on failure will not copy screenshots to local machine nor open screenshots summary
|
9263
9467
|
- reinstallApp: Enabling this option will automatically uninstall the application before running it
|
9264
9468
|
- useTimestampSuffix: Add timestamp suffix to screenshot filename
|
9265
9469
|
- adbHost: Configure the host used by adb to connect, allows running on remote devices farm
|
@@ -9430,6 +9634,7 @@ public func setChangelog(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDef
|
|
9430
9634
|
- description: Description of this release
|
9431
9635
|
- isDraft: Whether the release should be marked as draft
|
9432
9636
|
- isPrerelease: Whether the release should be marked as prerelease
|
9637
|
+
- isGenerateReleaseNotes: Whether the name and body of this release should be generated automatically
|
9433
9638
|
- uploadAssets: Path to assets to be uploaded with the release
|
9434
9639
|
|
9435
9640
|
- returns: A hash containing all relevant information of this release
|
@@ -9449,6 +9654,7 @@ public func setChangelog(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDef
|
|
9449
9654
|
description: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
9450
9655
|
isDraft: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
9451
9656
|
isPrerelease: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
9657
|
+
isGenerateReleaseNotes: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
9452
9658
|
uploadAssets: OptionalConfigValue<[String]?> = .fastlaneDefault(nil)) -> [String: Any]
|
9453
9659
|
{
|
9454
9660
|
let repositoryNameArg = RubyCommand.Argument(name: "repository_name", value: repositoryName, type: nil)
|
@@ -9461,6 +9667,7 @@ public func setChangelog(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDef
|
|
9461
9667
|
let descriptionArg = description.asRubyArgument(name: "description", type: nil)
|
9462
9668
|
let isDraftArg = isDraft.asRubyArgument(name: "is_draft", type: nil)
|
9463
9669
|
let isPrereleaseArg = isPrerelease.asRubyArgument(name: "is_prerelease", type: nil)
|
9670
|
+
let isGenerateReleaseNotesArg = isGenerateReleaseNotes.asRubyArgument(name: "is_generate_release_notes", type: nil)
|
9464
9671
|
let uploadAssetsArg = uploadAssets.asRubyArgument(name: "upload_assets", type: nil)
|
9465
9672
|
let array: [RubyCommand.Argument?] = [repositoryNameArg,
|
9466
9673
|
serverUrlArg,
|
@@ -9472,6 +9679,7 @@ public func setChangelog(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDef
|
|
9472
9679
|
descriptionArg,
|
9473
9680
|
isDraftArg,
|
9474
9681
|
isPrereleaseArg,
|
9682
|
+
isGenerateReleaseNotesArg,
|
9475
9683
|
uploadAssetsArg]
|
9476
9684
|
let args: [RubyCommand.Argument] = array
|
9477
9685
|
.filter { $0?.value != nil }
|
@@ -9550,6 +9758,7 @@ public func setPodKey(useBundleExec: OptionalConfigValue<Bool> = .fastlaneDefaul
|
|
9550
9758
|
- parameters:
|
9551
9759
|
- force: Force setup, even if not executed by CI
|
9552
9760
|
- provider: CI provider. If none is set, the provider is detected automatically
|
9761
|
+
- timeout: Set a custom timeout in seconds for keychain. Set `0` if you want to specify 'no time-out'
|
9553
9762
|
|
9554
9763
|
- Creates a new temporary keychain for use with match|
|
9555
9764
|
- Switches match to `readonly` mode to not create new profiles/cert on CI|
|
@@ -9558,12 +9767,15 @@ public func setPodKey(useBundleExec: OptionalConfigValue<Bool> = .fastlaneDefaul
|
|
9558
9767
|
This action helps with CI integration. Add this to the top of your Fastfile if you use CI.
|
9559
9768
|
*/
|
9560
9769
|
public func setupCi(force: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
9561
|
-
provider: OptionalConfigValue<String?> = .fastlaneDefault(nil)
|
9770
|
+
provider: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
9771
|
+
timeout: Int = 3600)
|
9562
9772
|
{
|
9563
9773
|
let forceArg = force.asRubyArgument(name: "force", type: nil)
|
9564
9774
|
let providerArg = provider.asRubyArgument(name: "provider", type: nil)
|
9775
|
+
let timeoutArg = RubyCommand.Argument(name: "timeout", value: timeout, type: nil)
|
9565
9776
|
let array: [RubyCommand.Argument?] = [forceArg,
|
9566
|
-
providerArg
|
9777
|
+
providerArg,
|
9778
|
+
timeoutArg]
|
9567
9779
|
let args: [RubyCommand.Argument] = array
|
9568
9780
|
.filter { $0?.value != nil }
|
9569
9781
|
.compactMap { $0 }
|
@@ -9720,6 +9932,7 @@ public func setupTravis(force: OptionalConfigValue<Bool> = .fastlaneDefault(fals
|
|
9720
9932
|
- development: Renew the development certificate instead of the production one
|
9721
9933
|
- skipInstall: By default, the certificate will be added to your local machine. Setting this flag will skip this action
|
9722
9934
|
- force: Renew provisioning profiles regardless of its state - to automatically add all devices for ad hoc profiles
|
9935
|
+
- includeMacInProfiles: Include Apple Silicon Mac devices in provisioning profiles for iOS/iPadOS apps
|
9723
9936
|
- appIdentifier: The bundle identifier of your app
|
9724
9937
|
- 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
9938
|
- apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-hash-option)
|
@@ -9749,6 +9962,7 @@ public func setupTravis(force: OptionalConfigValue<Bool> = .fastlaneDefault(fals
|
|
9749
9962
|
development: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
9750
9963
|
skipInstall: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
9751
9964
|
force: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
9965
|
+
includeMacInProfiles: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
9752
9966
|
appIdentifier: String,
|
9753
9967
|
apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
9754
9968
|
apiKey: OptionalConfigValue<[String: Any]?> = .fastlaneDefault(nil),
|
@@ -9774,6 +9988,7 @@ public func setupTravis(force: OptionalConfigValue<Bool> = .fastlaneDefault(fals
|
|
9774
9988
|
let developmentArg = development.asRubyArgument(name: "development", type: nil)
|
9775
9989
|
let skipInstallArg = skipInstall.asRubyArgument(name: "skip_install", type: nil)
|
9776
9990
|
let forceArg = force.asRubyArgument(name: "force", type: nil)
|
9991
|
+
let includeMacInProfilesArg = includeMacInProfiles.asRubyArgument(name: "include_mac_in_profiles", type: nil)
|
9777
9992
|
let appIdentifierArg = RubyCommand.Argument(name: "app_identifier", value: appIdentifier, type: nil)
|
9778
9993
|
let apiKeyPathArg = apiKeyPath.asRubyArgument(name: "api_key_path", type: nil)
|
9779
9994
|
let apiKeyArg = apiKey.asRubyArgument(name: "api_key", type: nil)
|
@@ -9798,6 +10013,7 @@ public func setupTravis(force: OptionalConfigValue<Bool> = .fastlaneDefault(fals
|
|
9798
10013
|
developmentArg,
|
9799
10014
|
skipInstallArg,
|
9800
10015
|
forceArg,
|
10016
|
+
includeMacInProfilesArg,
|
9801
10017
|
appIdentifierArg,
|
9802
10018
|
apiKeyPathArg,
|
9803
10019
|
apiKeyArg,
|
@@ -10116,7 +10332,7 @@ public func slather(buildDirectory: OptionalConfigValue<String?> = .fastlaneDefa
|
|
10116
10332
|
- eraseSimulator: Enabling this option will automatically erase the simulator before running the application
|
10117
10333
|
- headless: Enabling this option will prevent displaying the simulator window
|
10118
10334
|
- 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`
|
10335
|
+
- 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
10336
|
- localizeSimulator: Enabling this option will configure the Simulator's system language
|
10121
10337
|
- darkMode: Enabling this option will configure the Simulator to be in dark mode (false for light, true for dark)
|
10122
10338
|
- appIdentifier: The bundle identifier of the app to uninstall (only needed when enabling reinstall_app)
|
@@ -10127,7 +10343,6 @@ public func slather(buildDirectory: OptionalConfigValue<String?> = .fastlaneDefa
|
|
10127
10343
|
- clean: Should the project be cleaned before building it?
|
10128
10344
|
- testWithoutBuilding: Test without building, requires a derived data path
|
10129
10345
|
- configuration: The configuration to use when building the app. Defaults to 'Release'
|
10130
|
-
- xcprettyArgs: Additional xcpretty arguments
|
10131
10346
|
- sdk: The SDK that should be used for building the application
|
10132
10347
|
- scheme: The scheme you want to use, this must be the scheme for the UI Tests
|
10133
10348
|
- numberOfRetries: The number of times a test can fail before snapshot should stop retrying
|
@@ -10144,6 +10359,8 @@ public func slather(buildDirectory: OptionalConfigValue<String?> = .fastlaneDefa
|
|
10144
10359
|
- testplan: The testplan associated with the scheme that should be used for testing
|
10145
10360
|
- onlyTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to run
|
10146
10361
|
- skipTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to skip
|
10362
|
+
- 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/)
|
10363
|
+
- xcprettyArgs: **DEPRECATED!** Use `xcodebuild_formatter: ''` instead - Additional xcpretty arguments
|
10147
10364
|
- disableXcpretty: Disable xcpretty formatting of build
|
10148
10365
|
- suppressXcodeOutput: Suppress the output of xcodebuild to stdout. Output is still saved in buildlog_path
|
10149
10366
|
- useSystemScm: Lets xcodebuild use system's scm configuration
|
@@ -10176,7 +10393,6 @@ public func snapshot(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
|
|
10176
10393
|
clean: OptionalConfigValue<Bool> = .fastlaneDefault(snapshotfile.clean),
|
10177
10394
|
testWithoutBuilding: OptionalConfigValue<Bool?> = .fastlaneDefault(snapshotfile.testWithoutBuilding),
|
10178
10395
|
configuration: OptionalConfigValue<String?> = .fastlaneDefault(snapshotfile.configuration),
|
10179
|
-
xcprettyArgs: OptionalConfigValue<String?> = .fastlaneDefault(snapshotfile.xcprettyArgs),
|
10180
10396
|
sdk: OptionalConfigValue<String?> = .fastlaneDefault(snapshotfile.sdk),
|
10181
10397
|
scheme: OptionalConfigValue<String?> = .fastlaneDefault(snapshotfile.scheme),
|
10182
10398
|
numberOfRetries: Int = snapshotfile.numberOfRetries,
|
@@ -10193,6 +10409,8 @@ public func snapshot(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
|
|
10193
10409
|
testplan: OptionalConfigValue<String?> = .fastlaneDefault(snapshotfile.testplan),
|
10194
10410
|
onlyTesting: Any? = snapshotfile.onlyTesting,
|
10195
10411
|
skipTesting: Any? = snapshotfile.skipTesting,
|
10412
|
+
xcodebuildFormatter: String = snapshotfile.xcodebuildFormatter,
|
10413
|
+
xcprettyArgs: OptionalConfigValue<String?> = .fastlaneDefault(snapshotfile.xcprettyArgs),
|
10196
10414
|
disableXcpretty: OptionalConfigValue<Bool?> = .fastlaneDefault(snapshotfile.disableXcpretty),
|
10197
10415
|
suppressXcodeOutput: OptionalConfigValue<Bool?> = .fastlaneDefault(snapshotfile.suppressXcodeOutput),
|
10198
10416
|
useSystemScm: OptionalConfigValue<Bool> = .fastlaneDefault(snapshotfile.useSystemScm))
|
@@ -10225,7 +10443,6 @@ public func snapshot(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
|
|
10225
10443
|
let cleanArg = clean.asRubyArgument(name: "clean", type: nil)
|
10226
10444
|
let testWithoutBuildingArg = testWithoutBuilding.asRubyArgument(name: "test_without_building", type: nil)
|
10227
10445
|
let configurationArg = configuration.asRubyArgument(name: "configuration", type: nil)
|
10228
|
-
let xcprettyArgsArg = xcprettyArgs.asRubyArgument(name: "xcpretty_args", type: nil)
|
10229
10446
|
let sdkArg = sdk.asRubyArgument(name: "sdk", type: nil)
|
10230
10447
|
let schemeArg = scheme.asRubyArgument(name: "scheme", type: nil)
|
10231
10448
|
let numberOfRetriesArg = RubyCommand.Argument(name: "number_of_retries", value: numberOfRetries, type: nil)
|
@@ -10242,6 +10459,8 @@ public func snapshot(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
|
|
10242
10459
|
let testplanArg = testplan.asRubyArgument(name: "testplan", type: nil)
|
10243
10460
|
let onlyTestingArg = RubyCommand.Argument(name: "only_testing", value: onlyTesting, type: nil)
|
10244
10461
|
let skipTestingArg = RubyCommand.Argument(name: "skip_testing", value: skipTesting, type: nil)
|
10462
|
+
let xcodebuildFormatterArg = RubyCommand.Argument(name: "xcodebuild_formatter", value: xcodebuildFormatter, type: nil)
|
10463
|
+
let xcprettyArgsArg = xcprettyArgs.asRubyArgument(name: "xcpretty_args", type: nil)
|
10245
10464
|
let disableXcprettyArg = disableXcpretty.asRubyArgument(name: "disable_xcpretty", type: nil)
|
10246
10465
|
let suppressXcodeOutputArg = suppressXcodeOutput.asRubyArgument(name: "suppress_xcode_output", type: nil)
|
10247
10466
|
let useSystemScmArg = useSystemScm.asRubyArgument(name: "use_system_scm", type: nil)
|
@@ -10273,7 +10492,6 @@ public func snapshot(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
|
|
10273
10492
|
cleanArg,
|
10274
10493
|
testWithoutBuildingArg,
|
10275
10494
|
configurationArg,
|
10276
|
-
xcprettyArgsArg,
|
10277
10495
|
sdkArg,
|
10278
10496
|
schemeArg,
|
10279
10497
|
numberOfRetriesArg,
|
@@ -10290,6 +10508,8 @@ public func snapshot(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
|
|
10290
10508
|
testplanArg,
|
10291
10509
|
onlyTestingArg,
|
10292
10510
|
skipTestingArg,
|
10511
|
+
xcodebuildFormatterArg,
|
10512
|
+
xcprettyArgsArg,
|
10293
10513
|
disableXcprettyArg,
|
10294
10514
|
suppressXcodeOutputArg,
|
10295
10515
|
useSystemScmArg]
|
@@ -10668,6 +10888,7 @@ public func ssh(username: String,
|
|
10668
10888
|
- skipUploadImages: Whether to skip uploading images, screenshots not included
|
10669
10889
|
- skipUploadScreenshots: Whether to skip uploading SCREENSHOTS
|
10670
10890
|
- trackPromoteTo: The track to promote to. The default available tracks are: production, beta, alpha, internal
|
10891
|
+
- trackPromoteReleaseStatus: Promoted track release status (used when promoting a track) - valid values are completed, draft, halted, inProgress
|
10671
10892
|
- validateOnly: Only validate changes with Google Play rather than actually publish
|
10672
10893
|
- mapping: Path to the mapping file to upload (mapping.txt or native-debug-symbols.zip alike)
|
10673
10894
|
- mappingPaths: An array of paths to mapping files to upload (mapping.txt or native-debug-symbols.zip alike)
|
@@ -10709,6 +10930,7 @@ public func supply(packageName: String,
|
|
10709
10930
|
skipUploadImages: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
10710
10931
|
skipUploadScreenshots: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
10711
10932
|
trackPromoteTo: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
10933
|
+
trackPromoteReleaseStatus: String = "completed",
|
10712
10934
|
validateOnly: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
10713
10935
|
mapping: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
10714
10936
|
mappingPaths: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
|
@@ -10748,6 +10970,7 @@ public func supply(packageName: String,
|
|
10748
10970
|
let skipUploadImagesArg = skipUploadImages.asRubyArgument(name: "skip_upload_images", type: nil)
|
10749
10971
|
let skipUploadScreenshotsArg = skipUploadScreenshots.asRubyArgument(name: "skip_upload_screenshots", type: nil)
|
10750
10972
|
let trackPromoteToArg = trackPromoteTo.asRubyArgument(name: "track_promote_to", type: nil)
|
10973
|
+
let trackPromoteReleaseStatusArg = RubyCommand.Argument(name: "track_promote_release_status", value: trackPromoteReleaseStatus, type: nil)
|
10751
10974
|
let validateOnlyArg = validateOnly.asRubyArgument(name: "validate_only", type: nil)
|
10752
10975
|
let mappingArg = mapping.asRubyArgument(name: "mapping", type: nil)
|
10753
10976
|
let mappingPathsArg = mappingPaths.asRubyArgument(name: "mapping_paths", type: nil)
|
@@ -10786,6 +11009,7 @@ public func supply(packageName: String,
|
|
10786
11009
|
skipUploadImagesArg,
|
10787
11010
|
skipUploadScreenshotsArg,
|
10788
11011
|
trackPromoteToArg,
|
11012
|
+
trackPromoteReleaseStatusArg,
|
10789
11013
|
validateOnlyArg,
|
10790
11014
|
mappingArg,
|
10791
11015
|
mappingPathsArg,
|
@@ -10882,7 +11106,7 @@ public func swiftlint(mode: String = "lint",
|
|
10882
11106
|
Easily sync your certificates and profiles across your team (via _match_)
|
10883
11107
|
|
10884
11108
|
- parameters:
|
10885
|
-
- type: Define the profile type, can be appstore, adhoc, development, enterprise, developer_id, mac_installer_distribution
|
11109
|
+
- type: Define the profile type, can be appstore, adhoc, development, enterprise, developer_id, mac_installer_distribution, developer_id_installer
|
10886
11110
|
- additionalCertTypes: Create additional cert types needed for macOS installers (valid values: mac_installer_distribution, developer_id_installer)
|
10887
11111
|
- readonly: Only fetch existing certificates and profiles, don't generate new ones
|
10888
11112
|
- generateAppleCerts: Create a certificate type for Xcode 11 and later (Apple Development or Apple Distribution)
|
@@ -10906,18 +11130,23 @@ public func swiftlint(mode: String = "lint",
|
|
10906
11130
|
- googleCloudBucketName: Name of the Google Cloud Storage bucket to use
|
10907
11131
|
- googleCloudKeysFile: Path to the gc_keys.json file
|
10908
11132
|
- googleCloudProjectId: ID of the Google Cloud project to use for authentication
|
11133
|
+
- skipGoogleCloudAccountConfirmation: Skips confirming to use the system google account
|
10909
11134
|
- s3Region: Name of the S3 region
|
10910
11135
|
- s3AccessKey: S3 access key
|
10911
11136
|
- s3SecretAccessKey: S3 secret access key
|
10912
11137
|
- s3Bucket: Name of the S3 bucket
|
10913
11138
|
- s3ObjectPrefix: Prefix to be used on all objects uploaded to S3
|
11139
|
+
- gitlabProject: GitLab Project Path (i.e. 'gitlab-org/gitlab')
|
11140
|
+
- gitlabHost: GitLab Host (i.e. 'https://gitlab.com')
|
10914
11141
|
- keychainName: Keychain the items should be imported to
|
10915
11142
|
- 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
11143
|
- force: Renew the provisioning profiles every time you run match
|
10917
11144
|
- forceForNewDevices: Renew the provisioning profiles if the device count on the developer portal has changed. Ignored for profile types 'appstore' and 'developer_id'
|
11145
|
+
- includeMacInProfiles: Include Apple Silicon Mac devices in provisioning profiles for iOS/iPadOS apps
|
10918
11146
|
- 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
|
11147
|
+
- 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
11148
|
- skipConfirmation: Disables confirmation prompts during nuke, answering them with yes
|
11149
|
+
- safeRemoveCerts: Remove certs from repository during nuke without revoking them on the developer portal
|
10921
11150
|
- skipDocs: Skip generation of a README.md for the created git repository
|
10922
11151
|
- platform: Set the provisioning profile's platform to work with (i.e. ios, tvos, macos, catalyst)
|
10923
11152
|
- 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 +11184,23 @@ public func syncCodeSigning(type: String = "development",
|
|
10955
11184
|
googleCloudBucketName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
10956
11185
|
googleCloudKeysFile: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
10957
11186
|
googleCloudProjectId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11187
|
+
skipGoogleCloudAccountConfirmation: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
10958
11188
|
s3Region: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
10959
11189
|
s3AccessKey: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
10960
11190
|
s3SecretAccessKey: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
10961
11191
|
s3Bucket: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
10962
11192
|
s3ObjectPrefix: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11193
|
+
gitlabProject: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11194
|
+
gitlabHost: String = "https://gitlab.com",
|
10963
11195
|
keychainName: String = "login.keychain",
|
10964
11196
|
keychainPassword: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
10965
11197
|
force: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
10966
11198
|
forceForNewDevices: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
11199
|
+
includeMacInProfiles: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
10967
11200
|
includeAllCertificates: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
10968
11201
|
forceForNewCertificates: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
10969
11202
|
skipConfirmation: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
11203
|
+
safeRemoveCerts: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
10970
11204
|
skipDocs: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
10971
11205
|
platform: String = "ios",
|
10972
11206
|
deriveCatalystAppIdentifier: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
@@ -11002,18 +11236,23 @@ public func syncCodeSigning(type: String = "development",
|
|
11002
11236
|
let googleCloudBucketNameArg = googleCloudBucketName.asRubyArgument(name: "google_cloud_bucket_name", type: nil)
|
11003
11237
|
let googleCloudKeysFileArg = googleCloudKeysFile.asRubyArgument(name: "google_cloud_keys_file", type: nil)
|
11004
11238
|
let googleCloudProjectIdArg = googleCloudProjectId.asRubyArgument(name: "google_cloud_project_id", type: nil)
|
11239
|
+
let skipGoogleCloudAccountConfirmationArg = skipGoogleCloudAccountConfirmation.asRubyArgument(name: "skip_google_cloud_account_confirmation", type: nil)
|
11005
11240
|
let s3RegionArg = s3Region.asRubyArgument(name: "s3_region", type: nil)
|
11006
11241
|
let s3AccessKeyArg = s3AccessKey.asRubyArgument(name: "s3_access_key", type: nil)
|
11007
11242
|
let s3SecretAccessKeyArg = s3SecretAccessKey.asRubyArgument(name: "s3_secret_access_key", type: nil)
|
11008
11243
|
let s3BucketArg = s3Bucket.asRubyArgument(name: "s3_bucket", type: nil)
|
11009
11244
|
let s3ObjectPrefixArg = s3ObjectPrefix.asRubyArgument(name: "s3_object_prefix", type: nil)
|
11245
|
+
let gitlabProjectArg = gitlabProject.asRubyArgument(name: "gitlab_project", type: nil)
|
11246
|
+
let gitlabHostArg = RubyCommand.Argument(name: "gitlab_host", value: gitlabHost, type: nil)
|
11010
11247
|
let keychainNameArg = RubyCommand.Argument(name: "keychain_name", value: keychainName, type: nil)
|
11011
11248
|
let keychainPasswordArg = keychainPassword.asRubyArgument(name: "keychain_password", type: nil)
|
11012
11249
|
let forceArg = force.asRubyArgument(name: "force", type: nil)
|
11013
11250
|
let forceForNewDevicesArg = forceForNewDevices.asRubyArgument(name: "force_for_new_devices", type: nil)
|
11251
|
+
let includeMacInProfilesArg = includeMacInProfiles.asRubyArgument(name: "include_mac_in_profiles", type: nil)
|
11014
11252
|
let includeAllCertificatesArg = includeAllCertificates.asRubyArgument(name: "include_all_certificates", type: nil)
|
11015
11253
|
let forceForNewCertificatesArg = forceForNewCertificates.asRubyArgument(name: "force_for_new_certificates", type: nil)
|
11016
11254
|
let skipConfirmationArg = skipConfirmation.asRubyArgument(name: "skip_confirmation", type: nil)
|
11255
|
+
let safeRemoveCertsArg = safeRemoveCerts.asRubyArgument(name: "safe_remove_certs", type: nil)
|
11017
11256
|
let skipDocsArg = skipDocs.asRubyArgument(name: "skip_docs", type: nil)
|
11018
11257
|
let platformArg = RubyCommand.Argument(name: "platform", value: platform, type: nil)
|
11019
11258
|
let deriveCatalystAppIdentifierArg = deriveCatalystAppIdentifier.asRubyArgument(name: "derive_catalyst_app_identifier", type: nil)
|
@@ -11048,18 +11287,23 @@ public func syncCodeSigning(type: String = "development",
|
|
11048
11287
|
googleCloudBucketNameArg,
|
11049
11288
|
googleCloudKeysFileArg,
|
11050
11289
|
googleCloudProjectIdArg,
|
11290
|
+
skipGoogleCloudAccountConfirmationArg,
|
11051
11291
|
s3RegionArg,
|
11052
11292
|
s3AccessKeyArg,
|
11053
11293
|
s3SecretAccessKeyArg,
|
11054
11294
|
s3BucketArg,
|
11055
11295
|
s3ObjectPrefixArg,
|
11296
|
+
gitlabProjectArg,
|
11297
|
+
gitlabHostArg,
|
11056
11298
|
keychainNameArg,
|
11057
11299
|
keychainPasswordArg,
|
11058
11300
|
forceArg,
|
11059
11301
|
forceForNewDevicesArg,
|
11302
|
+
includeMacInProfilesArg,
|
11060
11303
|
includeAllCertificatesArg,
|
11061
11304
|
forceForNewCertificatesArg,
|
11062
11305
|
skipConfirmationArg,
|
11306
|
+
safeRemoveCertsArg,
|
11063
11307
|
skipDocsArg,
|
11064
11308
|
platformArg,
|
11065
11309
|
deriveCatalystAppIdentifierArg,
|
@@ -11204,6 +11448,7 @@ public func testfairy(apiKey: String,
|
|
11204
11448
|
- 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
11449
|
- 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
11450
|
- rejectBuildWaitingForReview: Expire previous if it's 'waiting for review'
|
11451
|
+
- submitBetaReview: Send the build for a beta review
|
11207
11452
|
|
11208
11453
|
More details can be found on https://docs.fastlane.tools/actions/pilot/.
|
11209
11454
|
This integration will only do the TestFlight upload.
|
@@ -11245,7 +11490,8 @@ public func testflight(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefau
|
|
11245
11490
|
waitProcessingInterval: Int = 30,
|
11246
11491
|
waitProcessingTimeoutDuration: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
|
11247
11492
|
waitForUploadedBuild: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
11248
|
-
rejectBuildWaitingForReview: OptionalConfigValue<Bool> = .fastlaneDefault(false)
|
11493
|
+
rejectBuildWaitingForReview: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
11494
|
+
submitBetaReview: OptionalConfigValue<Bool> = .fastlaneDefault(true))
|
11249
11495
|
{
|
11250
11496
|
let apiKeyPathArg = apiKeyPath.asRubyArgument(name: "api_key_path", type: nil)
|
11251
11497
|
let apiKeyArg = apiKey.asRubyArgument(name: "api_key", type: nil)
|
@@ -11285,6 +11531,7 @@ public func testflight(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefau
|
|
11285
11531
|
let waitProcessingTimeoutDurationArg = waitProcessingTimeoutDuration.asRubyArgument(name: "wait_processing_timeout_duration", type: nil)
|
11286
11532
|
let waitForUploadedBuildArg = waitForUploadedBuild.asRubyArgument(name: "wait_for_uploaded_build", type: nil)
|
11287
11533
|
let rejectBuildWaitingForReviewArg = rejectBuildWaitingForReview.asRubyArgument(name: "reject_build_waiting_for_review", type: nil)
|
11534
|
+
let submitBetaReviewArg = submitBetaReview.asRubyArgument(name: "submit_beta_review", type: nil)
|
11288
11535
|
let array: [RubyCommand.Argument?] = [apiKeyPathArg,
|
11289
11536
|
apiKeyArg,
|
11290
11537
|
usernameArg,
|
@@ -11322,7 +11569,8 @@ public func testflight(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefau
|
|
11322
11569
|
waitProcessingIntervalArg,
|
11323
11570
|
waitProcessingTimeoutDurationArg,
|
11324
11571
|
waitForUploadedBuildArg,
|
11325
|
-
rejectBuildWaitingForReviewArg
|
11572
|
+
rejectBuildWaitingForReviewArg,
|
11573
|
+
submitBetaReviewArg]
|
11326
11574
|
let args: [RubyCommand.Argument] = array
|
11327
11575
|
.filter { $0?.value != nil }
|
11328
11576
|
.compactMap { $0 }
|
@@ -11330,6 +11578,53 @@ public func testflight(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefau
|
|
11330
11578
|
_ = runner.executeCommand(command)
|
11331
11579
|
}
|
11332
11580
|
|
11581
|
+
/**
|
11582
|
+
Convert the Xcode plist log to a JUnit report
|
11583
|
+
|
11584
|
+
- parameters:
|
11585
|
+
- path: Path to the directory that should be converted
|
11586
|
+
- extension: The extension for the newly created file. Usually .xml or .junit
|
11587
|
+
- outputDirectory: Directory in which the xml files should be written to. Same directory as source by default
|
11588
|
+
- outputFilename: Filename the xml file should be written to. Defaults to name of input file. (Only works if one input file is used)
|
11589
|
+
- failBuild: Should this step stop the build if the tests fail? Set this to false if you're handling this with a test reporter
|
11590
|
+
- xcprettyNaming: Produces class name and test name identical to xcpretty naming in junit file
|
11591
|
+
- silent: Silences all output
|
11592
|
+
- outputRemoveRetryAttempts: Doesn't include retry attempts in the output
|
11593
|
+
|
11594
|
+
- returns: A hash with the key being the path of the generated file, the value being if the tests were successful
|
11595
|
+
*/
|
11596
|
+
public func trainer(path: String = ".",
|
11597
|
+
extension: String = ".xml",
|
11598
|
+
outputDirectory: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11599
|
+
outputFilename: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11600
|
+
failBuild: OptionalConfigValue<Bool> = .fastlaneDefault(true),
|
11601
|
+
xcprettyNaming: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
11602
|
+
silent: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
11603
|
+
outputRemoveRetryAttempts: OptionalConfigValue<Bool> = .fastlaneDefault(false))
|
11604
|
+
{
|
11605
|
+
let pathArg = RubyCommand.Argument(name: "path", value: path, type: nil)
|
11606
|
+
let extensionArg = RubyCommand.Argument(name: "extension", value: `extension`, type: nil)
|
11607
|
+
let outputDirectoryArg = outputDirectory.asRubyArgument(name: "output_directory", type: nil)
|
11608
|
+
let outputFilenameArg = outputFilename.asRubyArgument(name: "output_filename", type: nil)
|
11609
|
+
let failBuildArg = failBuild.asRubyArgument(name: "fail_build", type: nil)
|
11610
|
+
let xcprettyNamingArg = xcprettyNaming.asRubyArgument(name: "xcpretty_naming", type: nil)
|
11611
|
+
let silentArg = silent.asRubyArgument(name: "silent", type: nil)
|
11612
|
+
let outputRemoveRetryAttemptsArg = outputRemoveRetryAttempts.asRubyArgument(name: "output_remove_retry_attempts", type: nil)
|
11613
|
+
let array: [RubyCommand.Argument?] = [pathArg,
|
11614
|
+
extensionArg,
|
11615
|
+
outputDirectoryArg,
|
11616
|
+
outputFilenameArg,
|
11617
|
+
failBuildArg,
|
11618
|
+
xcprettyNamingArg,
|
11619
|
+
silentArg,
|
11620
|
+
outputRemoveRetryAttemptsArg]
|
11621
|
+
let args: [RubyCommand.Argument] = array
|
11622
|
+
.filter { $0?.value != nil }
|
11623
|
+
.compactMap { $0 }
|
11624
|
+
let command = RubyCommand(commandID: "", methodName: "trainer", className: nil, args: args)
|
11625
|
+
_ = runner.executeCommand(command)
|
11626
|
+
}
|
11627
|
+
|
11333
11628
|
/**
|
11334
11629
|
Upload a new build to [Tryouts](https://tryouts.io/)
|
11335
11630
|
|
@@ -11505,10 +11800,12 @@ public func updateAppIdentifier(xcodeproj: String,
|
|
11505
11800
|
- parameters:
|
11506
11801
|
- path: Path to your Xcode project
|
11507
11802
|
- useAutomaticSigning: Defines if project should use automatic signing
|
11803
|
+
- sdk: Build target SDKs (iphoneos*, macosx*, iphonesimulator*)
|
11508
11804
|
- teamId: Team ID, is used when upgrading project
|
11509
11805
|
- targets: Specify targets you want to toggle the signing mech. (default to all targets)
|
11510
11806
|
- buildConfigurations: Specify build_configurations you want to toggle the signing mech. (default to all configurations)
|
11511
11807
|
- codeSignIdentity: Code signing identity type (iPhone Developer, iPhone Distribution)
|
11808
|
+
- entitlementsFilePath: Path to your entitlements file
|
11512
11809
|
- profileName: Provisioning profile name to use for code signing
|
11513
11810
|
- profileUuid: Provisioning profile UUID to use for code signing
|
11514
11811
|
- bundleIdentifier: Application Product Bundle Identifier
|
@@ -11519,29 +11816,35 @@ public func updateAppIdentifier(xcodeproj: String,
|
|
11519
11816
|
*/
|
11520
11817
|
public func updateCodeSigningSettings(path: String,
|
11521
11818
|
useAutomaticSigning: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
11819
|
+
sdk: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11522
11820
|
teamId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11523
11821
|
targets: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
|
11524
11822
|
buildConfigurations: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
|
11525
11823
|
codeSignIdentity: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11824
|
+
entitlementsFilePath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11526
11825
|
profileName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11527
11826
|
profileUuid: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11528
11827
|
bundleIdentifier: OptionalConfigValue<String?> = .fastlaneDefault(nil))
|
11529
11828
|
{
|
11530
11829
|
let pathArg = RubyCommand.Argument(name: "path", value: path, type: nil)
|
11531
11830
|
let useAutomaticSigningArg = useAutomaticSigning.asRubyArgument(name: "use_automatic_signing", type: nil)
|
11831
|
+
let sdkArg = sdk.asRubyArgument(name: "sdk", type: nil)
|
11532
11832
|
let teamIdArg = teamId.asRubyArgument(name: "team_id", type: nil)
|
11533
11833
|
let targetsArg = targets.asRubyArgument(name: "targets", type: nil)
|
11534
11834
|
let buildConfigurationsArg = buildConfigurations.asRubyArgument(name: "build_configurations", type: nil)
|
11535
11835
|
let codeSignIdentityArg = codeSignIdentity.asRubyArgument(name: "code_sign_identity", type: nil)
|
11836
|
+
let entitlementsFilePathArg = entitlementsFilePath.asRubyArgument(name: "entitlements_file_path", type: nil)
|
11536
11837
|
let profileNameArg = profileName.asRubyArgument(name: "profile_name", type: nil)
|
11537
11838
|
let profileUuidArg = profileUuid.asRubyArgument(name: "profile_uuid", type: nil)
|
11538
11839
|
let bundleIdentifierArg = bundleIdentifier.asRubyArgument(name: "bundle_identifier", type: nil)
|
11539
11840
|
let array: [RubyCommand.Argument?] = [pathArg,
|
11540
11841
|
useAutomaticSigningArg,
|
11842
|
+
sdkArg,
|
11541
11843
|
teamIdArg,
|
11542
11844
|
targetsArg,
|
11543
11845
|
buildConfigurationsArg,
|
11544
11846
|
codeSignIdentityArg,
|
11847
|
+
entitlementsFilePathArg,
|
11545
11848
|
profileNameArg,
|
11546
11849
|
profileUuidArg,
|
11547
11850
|
bundleIdentifierArg]
|
@@ -12033,8 +12336,9 @@ public func uploadSymbolsToSentry(apiHost: String = "https://app.getsentry.com/a
|
|
12033
12336
|
- skipAppVersionUpdate: Don’t create or update the app version that is being prepared for submission
|
12034
12337
|
- force: Skip verification of HTML preview file
|
12035
12338
|
- overwriteScreenshots: Clear all previously uploaded screenshots before uploading the new ones
|
12036
|
-
- syncScreenshots: Sync screenshots with local ones. This is currently beta
|
12339
|
+
- 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
12340
|
- submitForReview: Submit the new version for Review after uploading everything
|
12341
|
+
- verifyOnly: Verifies archive with App Store Connect without uploading
|
12038
12342
|
- rejectIfPossible: Rejects the previously submitted build if it's in a state where it's possible
|
12039
12343
|
- automaticRelease: Should the app be automatically released once it's approved? (Can not be used together with `auto_release_date`)
|
12040
12344
|
- autoReleaseDate: Date in milliseconds for automatically releasing on pending approval (Can not be used together with `automatic_release`)
|
@@ -12106,6 +12410,7 @@ public func uploadToAppStore(apiKeyPath: OptionalConfigValue<String?> = .fastlan
|
|
12106
12410
|
overwriteScreenshots: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
12107
12411
|
syncScreenshots: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
12108
12412
|
submitForReview: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
12413
|
+
verifyOnly: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
12109
12414
|
rejectIfPossible: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
12110
12415
|
automaticRelease: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
12111
12416
|
autoReleaseDate: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
|
@@ -12170,6 +12475,7 @@ public func uploadToAppStore(apiKeyPath: OptionalConfigValue<String?> = .fastlan
|
|
12170
12475
|
let overwriteScreenshotsArg = overwriteScreenshots.asRubyArgument(name: "overwrite_screenshots", type: nil)
|
12171
12476
|
let syncScreenshotsArg = syncScreenshots.asRubyArgument(name: "sync_screenshots", type: nil)
|
12172
12477
|
let submitForReviewArg = submitForReview.asRubyArgument(name: "submit_for_review", type: nil)
|
12478
|
+
let verifyOnlyArg = verifyOnly.asRubyArgument(name: "verify_only", type: nil)
|
12173
12479
|
let rejectIfPossibleArg = rejectIfPossible.asRubyArgument(name: "reject_if_possible", type: nil)
|
12174
12480
|
let automaticReleaseArg = automaticRelease.asRubyArgument(name: "automatic_release", type: nil)
|
12175
12481
|
let autoReleaseDateArg = autoReleaseDate.asRubyArgument(name: "auto_release_date", type: nil)
|
@@ -12233,6 +12539,7 @@ public func uploadToAppStore(apiKeyPath: OptionalConfigValue<String?> = .fastlan
|
|
12233
12539
|
overwriteScreenshotsArg,
|
12234
12540
|
syncScreenshotsArg,
|
12235
12541
|
submitForReviewArg,
|
12542
|
+
verifyOnlyArg,
|
12236
12543
|
rejectIfPossibleArg,
|
12237
12544
|
automaticReleaseArg,
|
12238
12545
|
autoReleaseDateArg,
|
@@ -12308,6 +12615,7 @@ public func uploadToAppStore(apiKeyPath: OptionalConfigValue<String?> = .fastlan
|
|
12308
12615
|
- skipUploadImages: Whether to skip uploading images, screenshots not included
|
12309
12616
|
- skipUploadScreenshots: Whether to skip uploading SCREENSHOTS
|
12310
12617
|
- trackPromoteTo: The track to promote to. The default available tracks are: production, beta, alpha, internal
|
12618
|
+
- trackPromoteReleaseStatus: Promoted track release status (used when promoting a track) - valid values are completed, draft, halted, inProgress
|
12311
12619
|
- validateOnly: Only validate changes with Google Play rather than actually publish
|
12312
12620
|
- mapping: Path to the mapping file to upload (mapping.txt or native-debug-symbols.zip alike)
|
12313
12621
|
- mappingPaths: An array of paths to mapping files to upload (mapping.txt or native-debug-symbols.zip alike)
|
@@ -12349,6 +12657,7 @@ public func uploadToPlayStore(packageName: String,
|
|
12349
12657
|
skipUploadImages: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
12350
12658
|
skipUploadScreenshots: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
12351
12659
|
trackPromoteTo: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
12660
|
+
trackPromoteReleaseStatus: String = "completed",
|
12352
12661
|
validateOnly: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
12353
12662
|
mapping: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
12354
12663
|
mappingPaths: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
|
@@ -12388,6 +12697,7 @@ public func uploadToPlayStore(packageName: String,
|
|
12388
12697
|
let skipUploadImagesArg = skipUploadImages.asRubyArgument(name: "skip_upload_images", type: nil)
|
12389
12698
|
let skipUploadScreenshotsArg = skipUploadScreenshots.asRubyArgument(name: "skip_upload_screenshots", type: nil)
|
12390
12699
|
let trackPromoteToArg = trackPromoteTo.asRubyArgument(name: "track_promote_to", type: nil)
|
12700
|
+
let trackPromoteReleaseStatusArg = RubyCommand.Argument(name: "track_promote_release_status", value: trackPromoteReleaseStatus, type: nil)
|
12391
12701
|
let validateOnlyArg = validateOnly.asRubyArgument(name: "validate_only", type: nil)
|
12392
12702
|
let mappingArg = mapping.asRubyArgument(name: "mapping", type: nil)
|
12393
12703
|
let mappingPathsArg = mappingPaths.asRubyArgument(name: "mapping_paths", type: nil)
|
@@ -12426,6 +12736,7 @@ public func uploadToPlayStore(packageName: String,
|
|
12426
12736
|
skipUploadImagesArg,
|
12427
12737
|
skipUploadScreenshotsArg,
|
12428
12738
|
trackPromoteToArg,
|
12739
|
+
trackPromoteReleaseStatusArg,
|
12429
12740
|
validateOnlyArg,
|
12430
12741
|
mappingArg,
|
12431
12742
|
mappingPathsArg,
|
@@ -12544,6 +12855,7 @@ public func uploadToPlayStoreInternalAppSharing(packageName: String,
|
|
12544
12855
|
- 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
12856
|
- 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
12857
|
- rejectBuildWaitingForReview: Expire previous if it's 'waiting for review'
|
12858
|
+
- submitBetaReview: Send the build for a beta review
|
12547
12859
|
|
12548
12860
|
More details can be found on https://docs.fastlane.tools/actions/pilot/.
|
12549
12861
|
This integration will only do the TestFlight upload.
|
@@ -12585,7 +12897,8 @@ public func uploadToTestflight(apiKeyPath: OptionalConfigValue<String?> = .fastl
|
|
12585
12897
|
waitProcessingInterval: Int = 30,
|
12586
12898
|
waitProcessingTimeoutDuration: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
|
12587
12899
|
waitForUploadedBuild: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
12588
|
-
rejectBuildWaitingForReview: OptionalConfigValue<Bool> = .fastlaneDefault(false)
|
12900
|
+
rejectBuildWaitingForReview: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
12901
|
+
submitBetaReview: OptionalConfigValue<Bool> = .fastlaneDefault(true))
|
12589
12902
|
{
|
12590
12903
|
let apiKeyPathArg = apiKeyPath.asRubyArgument(name: "api_key_path", type: nil)
|
12591
12904
|
let apiKeyArg = apiKey.asRubyArgument(name: "api_key", type: nil)
|
@@ -12625,6 +12938,7 @@ public func uploadToTestflight(apiKeyPath: OptionalConfigValue<String?> = .fastl
|
|
12625
12938
|
let waitProcessingTimeoutDurationArg = waitProcessingTimeoutDuration.asRubyArgument(name: "wait_processing_timeout_duration", type: nil)
|
12626
12939
|
let waitForUploadedBuildArg = waitForUploadedBuild.asRubyArgument(name: "wait_for_uploaded_build", type: nil)
|
12627
12940
|
let rejectBuildWaitingForReviewArg = rejectBuildWaitingForReview.asRubyArgument(name: "reject_build_waiting_for_review", type: nil)
|
12941
|
+
let submitBetaReviewArg = submitBetaReview.asRubyArgument(name: "submit_beta_review", type: nil)
|
12628
12942
|
let array: [RubyCommand.Argument?] = [apiKeyPathArg,
|
12629
12943
|
apiKeyArg,
|
12630
12944
|
usernameArg,
|
@@ -12662,7 +12976,8 @@ public func uploadToTestflight(apiKeyPath: OptionalConfigValue<String?> = .fastl
|
|
12662
12976
|
waitProcessingIntervalArg,
|
12663
12977
|
waitProcessingTimeoutDurationArg,
|
12664
12978
|
waitForUploadedBuildArg,
|
12665
|
-
rejectBuildWaitingForReviewArg
|
12979
|
+
rejectBuildWaitingForReviewArg,
|
12980
|
+
submitBetaReviewArg]
|
12666
12981
|
let args: [RubyCommand.Argument] = array
|
12667
12982
|
.filter { $0?.value != nil }
|
12668
12983
|
.compactMap { $0 }
|
@@ -12908,7 +13223,7 @@ public func xcexport() {
|
|
12908
13223
|
Change the xcode-path to use. Useful for beta versions of Xcode
|
12909
13224
|
|
12910
13225
|
Select and build with the Xcode installed at the provided path.
|
12911
|
-
Use the `
|
13226
|
+
Use the `xcodes` action if you want to select an Xcode:
|
12912
13227
|
- Based on a version specifier or
|
12913
13228
|
- You don't have known, stable paths, as may happen in a CI environment.
|
12914
13229
|
*/
|
@@ -12978,6 +13293,45 @@ public func xcodebuild() {
|
|
12978
13293
|
_ = runner.executeCommand(command)
|
12979
13294
|
}
|
12980
13295
|
|
13296
|
+
/**
|
13297
|
+
Make sure a certain version of Xcode is installed, installing it only if needed
|
13298
|
+
|
13299
|
+
- parameters:
|
13300
|
+
- version: The version number of the version of Xcode to install. Defaults to the value specified in the .xcode-version file
|
13301
|
+
- updateList: Whether the list of available Xcode versions should be updated before running the install command
|
13302
|
+
- 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
|
13303
|
+
- binaryPath: Where the xcodes binary lives on your system (full path)
|
13304
|
+
- 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
|
13305
|
+
|
13306
|
+
- returns: The path to the newly installed Xcode version
|
13307
|
+
|
13308
|
+
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).
|
13309
|
+
This will make sure to use the correct Xcode version for later actions.
|
13310
|
+
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
|
13311
|
+
*/
|
13312
|
+
@discardableResult public func xcodes(version: String,
|
13313
|
+
updateList: OptionalConfigValue<Bool> = .fastlaneDefault(true),
|
13314
|
+
selectForCurrentBuildOnly: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
13315
|
+
binaryPath: String = "/opt/homebrew/bin/xcodes",
|
13316
|
+
xcodesArgs: OptionalConfigValue<String?> = .fastlaneDefault(nil)) -> String
|
13317
|
+
{
|
13318
|
+
let versionArg = RubyCommand.Argument(name: "version", value: version, type: nil)
|
13319
|
+
let updateListArg = updateList.asRubyArgument(name: "update_list", type: nil)
|
13320
|
+
let selectForCurrentBuildOnlyArg = selectForCurrentBuildOnly.asRubyArgument(name: "select_for_current_build_only", type: nil)
|
13321
|
+
let binaryPathArg = RubyCommand.Argument(name: "binary_path", value: binaryPath, type: nil)
|
13322
|
+
let xcodesArgsArg = xcodesArgs.asRubyArgument(name: "xcodes_args", type: nil)
|
13323
|
+
let array: [RubyCommand.Argument?] = [versionArg,
|
13324
|
+
updateListArg,
|
13325
|
+
selectForCurrentBuildOnlyArg,
|
13326
|
+
binaryPathArg,
|
13327
|
+
xcodesArgsArg]
|
13328
|
+
let args: [RubyCommand.Argument] = array
|
13329
|
+
.filter { $0?.value != nil }
|
13330
|
+
.compactMap { $0 }
|
13331
|
+
let command = RubyCommand(commandID: "", methodName: "xcodes", className: nil, args: args)
|
13332
|
+
return runner.executeCommand(command)
|
13333
|
+
}
|
13334
|
+
|
12981
13335
|
/**
|
12982
13336
|
Nice code coverage reports without hassle
|
12983
13337
|
|
@@ -13040,7 +13394,7 @@ public func xcov(workspace: OptionalConfigValue<String?> = .fastlaneDefault(nil)
|
|
13040
13394
|
coverallsServiceJobId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
13041
13395
|
coverallsRepoToken: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
13042
13396
|
xcconfig: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
13043
|
-
ideFoundationPath: String = "/Applications/Xcode-
|
13397
|
+
ideFoundationPath: String = "/Applications/Xcode-14.1.0.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
|
13044
13398
|
legacySupport: OptionalConfigValue<Bool> = .fastlaneDefault(false))
|
13045
13399
|
{
|
13046
13400
|
let workspaceArg = workspace.asRubyArgument(name: "workspace", type: nil)
|
@@ -13131,9 +13485,10 @@ public func xctool() {
|
|
13131
13485
|
/**
|
13132
13486
|
Select an Xcode to use by version specifier
|
13133
13487
|
|
13134
|
-
- parameter version: The version of Xcode to select specified as a Gem::Version requirement string (e.g. '~> 7.1.0')
|
13488
|
+
- 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
13489
|
|
13136
13490
|
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)
|
13491
|
+
You can either manually provide a specific version using `version:` or you make use of the `.xcode-version` file.
|
13137
13492
|
*/
|
13138
13493
|
public func xcversion(version: String) {
|
13139
13494
|
let versionArg = RubyCommand.Argument(name: "version", value: version, type: nil)
|
@@ -13232,14 +13587,14 @@ func parseInt(fromString: String, function: String = #function) -> Int {
|
|
13232
13587
|
return NSString(string: fromString.trimmingCharacters(in: .punctuationCharacters)).integerValue
|
13233
13588
|
}
|
13234
13589
|
|
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 =
|
13590
|
+
public let deliverfile: Deliverfile = .init()
|
13591
|
+
public let gymfile: Gymfile = .init()
|
13592
|
+
public let matchfile: Matchfile = .init()
|
13593
|
+
public let precheckfile: Precheckfile = .init()
|
13594
|
+
public let scanfile: Scanfile = .init()
|
13595
|
+
public let screengrabfile: Screengrabfile = .init()
|
13596
|
+
public let snapshotfile: Snapshotfile = .init()
|
13242
13597
|
|
13243
13598
|
// Please don't remove the lines below
|
13244
13599
|
// They are used to detect outdated files
|
13245
|
-
// FastlaneRunnerAPIVersion [0.9.
|
13600
|
+
// FastlaneRunnerAPIVersion [0.9.169]
|