fastlane 2.236.1 → 2.238.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +109 -102
- data/deliver/lib/deliver/options.rb +1 -1
- data/fastlane/lib/fastlane/actions/deploygate.rb +3 -2
- data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +7 -3
- data/fastlane/lib/fastlane/actions/hockey.rb +3 -2
- data/fastlane/lib/fastlane/actions/installr.rb +3 -2
- data/fastlane/lib/fastlane/actions/mailgun.rb +1 -0
- data/fastlane/lib/fastlane/actions/notarize.rb +3 -18
- data/fastlane/lib/fastlane/actions/register_devices.rb +21 -5
- data/fastlane/lib/fastlane/actions/setup_ci.rb +7 -2
- data/fastlane/lib/fastlane/actions/spm.rb +6 -0
- data/fastlane/lib/fastlane/actions/swiftlint.rb +10 -1
- data/fastlane/lib/fastlane/actions/testfairy.rb +5 -3
- data/fastlane/lib/fastlane/actions/tryouts.rb +3 -2
- data/fastlane/lib/fastlane/actions/update_project_team.rb +17 -9
- data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +33 -7
- data/fastlane/lib/fastlane/helper/sh_helper.rb +7 -3
- data/fastlane/lib/fastlane/lane_manager.rb +0 -1
- data/fastlane/lib/fastlane/plugins/template/.github/workflows/test.yml +0 -7
- data/fastlane/lib/fastlane/plugins/template/.gitignore +0 -1
- data/fastlane/lib/fastlane/plugins/template/.rspec +0 -2
- data/fastlane/lib/fastlane/plugins/template/Gemfile.erb +0 -2
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +2 -2
- data/fastlane/swift/Fastlane.swift +50 -20
- data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.pbxproj +1 -1
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/GymfileProtocol.swift +1 -1
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/MatchfileProtocol.swift +8 -1
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/ScanfileProtocol.swift +8 -1
- data/fastlane/swift/Screengrabfile.swift +1 -1
- data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
- data/fastlane/swift/Snapshotfile.swift +1 -1
- data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
- data/fastlane_core/lib/fastlane_core/analytics/analytics_event_builder.rb +31 -5
- data/fastlane_core/lib/fastlane_core/analytics/analytics_ingester_client.rb +24 -12
- data/fastlane_core/lib/fastlane_core/analytics/analytics_session.rb +22 -12
- data/fastlane_core/lib/fastlane_core/cert_checker.rb +22 -9
- data/fastlane_core/lib/fastlane_core/helper.rb +4 -3
- data/fastlane_core/lib/fastlane_core/ipa_upload_package_builder.rb +6 -2
- data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +3 -1
- data/fastlane_core/lib/fastlane_core/keychain_importer.rb +1 -1
- data/fastlane_core/lib/fastlane_core/pkg_upload_package_builder.rb +1 -1
- data/fastlane_core/lib/fastlane_core/print_table.rb +0 -16
- data/fastlane_core/lib/fastlane_core/project.rb +3 -1
- data/fastlane_core/lib/fastlane_core/queue_worker.rb +10 -1
- data/fastlane_core/lib/fastlane_core/ui/errors/fastlane_shell_error.rb +6 -0
- data/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb +1 -1
- data/fastlane_core/lib/fastlane_core/video_utils.rb +4 -2
- data/gym/lib/gym/error_handler.rb +11 -1
- data/gym/lib/gym/generators/build_command_generator.rb +2 -0
- data/gym/lib/gym/module.rb +20 -2
- data/match/lib/match/options.rb +8 -0
- data/match/lib/match/runner.rb +4 -2
- data/match/lib/match/storage/git_storage.rb +18 -2
- data/pilot/lib/pilot/build_manager.rb +2 -2
- data/pilot/lib/pilot/options.rb +2 -2
- data/pilot/lib/pilot/tester_manager.rb +2 -2
- data/precheck/lib/precheck/rules/copyright_date_rule.rb +16 -10
- data/precheck/lib/precheck/rules/unreachable_urls_rule.rb +2 -2
- data/scan/lib/scan/options.rb +5 -0
- data/scan/lib/scan/runner.rb +1 -0
- data/scan/lib/scan/test_command_generator.rb +2 -0
- data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +4 -1
- data/spaceship/lib/spaceship/client.rb +0 -1
- data/spaceship/lib/spaceship/connect_api/file_uploader.rb +1 -1
- data/spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb +6 -0
- data/spaceship/lib/spaceship/connect_api/models/beta_group.rb +5 -0
- data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +7 -2
- data/spaceship/lib/spaceship/helper/plist_middleware.rb +37 -8
- data/supply/lib/supply/uploader.rb +7 -1
- data/trainer/lib/trainer/xcresult/test_case.rb +21 -2
- data/trainer/lib/trainer/xcresult/test_plan.rb +3 -3
- data/trainer/lib/trainer/xcresult/test_suite.rb +28 -19
- metadata +74 -32
|
@@ -684,7 +684,7 @@ public func appledoc(input: [String],
|
|
|
684
684
|
- teamName: The name of your App Store Connect team if you're in multiple teams
|
|
685
685
|
- devPortalTeamId: The short ID of your Developer Portal team, if you're in multiple teams. Different from your iTC team ID!
|
|
686
686
|
- devPortalTeamName: The name of your Developer Portal team if you're in multiple teams
|
|
687
|
-
- itcProvider: The provider short name to be used with the iTMSTransporter to identify your team. This value will override the automatically detected provider short name. To get provider short name run `
|
|
687
|
+
- itcProvider: The provider short name to be used with the iTMSTransporter to identify your team. This value will override the automatically detected provider short name. To get provider short name run `xcrun iTMSTransporter -m provider -u 'USERNAME' -p 'PASSWORD' -account_type itunes_connect -v off`. The short names of providers should be listed in the second column
|
|
688
688
|
- providerPublicId: The provider public ID to be used with altool (--provider-public-id). This value will override the automatically detected provider value for altool uploads. Required after Xcode 26 when your account is associated with multiple providers and using username/app-password authentication
|
|
689
689
|
- runPrecheckBeforeSubmit: Run precheck before submitting to app review
|
|
690
690
|
- precheckDefaultRuleLevel: The default precheck rule level unless otherwise configured
|
|
@@ -2958,7 +2958,7 @@ public func chatwork(apiToken: String,
|
|
|
2958
2958
|
- curseWords: including words that might be considered objectionable
|
|
2959
2959
|
- freeStuffInIap: using text indicating that your IAP is free
|
|
2960
2960
|
- customText: mentioning any of the user-specified words passed to custom_text(data: [words])
|
|
2961
|
-
- copyrightDate: using a copyright
|
|
2961
|
+
- copyrightDate: using a copyright year in the future, or missing a copyright year
|
|
2962
2962
|
- unreachableUrls: unreachable URLs in app metadata
|
|
2963
2963
|
|
|
2964
2964
|
- returns: true if precheck passes, else, false
|
|
@@ -3847,7 +3847,7 @@ public func deleteKeychain(name: OptionalConfigValue<String?> = .fastlaneDefault
|
|
|
3847
3847
|
- teamName: The name of your App Store Connect team if you're in multiple teams
|
|
3848
3848
|
- devPortalTeamId: The short ID of your Developer Portal team, if you're in multiple teams. Different from your iTC team ID!
|
|
3849
3849
|
- devPortalTeamName: The name of your Developer Portal team if you're in multiple teams
|
|
3850
|
-
- itcProvider: The provider short name to be used with the iTMSTransporter to identify your team. This value will override the automatically detected provider short name. To get provider short name run `
|
|
3850
|
+
- itcProvider: The provider short name to be used with the iTMSTransporter to identify your team. This value will override the automatically detected provider short name. To get provider short name run `xcrun iTMSTransporter -m provider -u 'USERNAME' -p 'PASSWORD' -account_type itunes_connect -v off`. The short names of providers should be listed in the second column
|
|
3851
3851
|
- providerPublicId: The provider public ID to be used with altool (--provider-public-id). This value will override the automatically detected provider value for altool uploads. Required after Xcode 26 when your account is associated with multiple providers and using username/app-password authentication
|
|
3852
3852
|
- runPrecheckBeforeSubmit: Run precheck before submitting to app review
|
|
3853
3853
|
- precheckDefaultRuleLevel: The default precheck rule level unless otherwise configured
|
|
@@ -6909,6 +6909,7 @@ public func makeChangelogFromJenkins(fallbackChangelog: String = "",
|
|
|
6909
6909
|
- includeAllCertificates: Include all matching certificates in the provisioning profile. Works only for the 'development' provisioning profile type
|
|
6910
6910
|
- certificateId: Select certificate by id. Useful if multiple certificates are stored in one place
|
|
6911
6911
|
- 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'
|
|
6912
|
+
- renewExpiredCerts: Automatically renew expired certificates. Note: to renew `developer_id` and `developer_id_installer` certificates you must log in with the Account Holder account by using username and password; App Store Connect API key doesn't work in this case. The expired certificate is removed from the match storage and a new one is created, but the old certificate is not revoked on the Apple Developer Portal — run `fastlane match nuke` if you need to free up certificate slots
|
|
6912
6913
|
- skipConfirmation: Disables confirmation prompts during nuke, answering them with yes
|
|
6913
6914
|
- safeRemoveCerts: Remove certs from repository during nuke without revoking them on the developer portal
|
|
6914
6915
|
- skipDocs: Skip generation of a README.md for the created git repository
|
|
@@ -6969,6 +6970,7 @@ public func match(type: String = matchfile.type,
|
|
|
6969
6970
|
includeAllCertificates: OptionalConfigValue<Bool> = .fastlaneDefault(matchfile.includeAllCertificates),
|
|
6970
6971
|
certificateId: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.certificateId),
|
|
6971
6972
|
forceForNewCertificates: OptionalConfigValue<Bool> = .fastlaneDefault(matchfile.forceForNewCertificates),
|
|
6973
|
+
renewExpiredCerts: OptionalConfigValue<Bool> = .fastlaneDefault(matchfile.renewExpiredCerts),
|
|
6972
6974
|
skipConfirmation: OptionalConfigValue<Bool> = .fastlaneDefault(matchfile.skipConfirmation),
|
|
6973
6975
|
safeRemoveCerts: OptionalConfigValue<Bool> = .fastlaneDefault(matchfile.safeRemoveCerts),
|
|
6974
6976
|
skipDocs: OptionalConfigValue<Bool> = .fastlaneDefault(matchfile.skipDocs),
|
|
@@ -7027,6 +7029,7 @@ public func match(type: String = matchfile.type,
|
|
|
7027
7029
|
let includeAllCertificatesArg = includeAllCertificates.asRubyArgument(name: "include_all_certificates", type: nil)
|
|
7028
7030
|
let certificateIdArg = certificateId.asRubyArgument(name: "certificate_id", type: nil)
|
|
7029
7031
|
let forceForNewCertificatesArg = forceForNewCertificates.asRubyArgument(name: "force_for_new_certificates", type: nil)
|
|
7032
|
+
let renewExpiredCertsArg = renewExpiredCerts.asRubyArgument(name: "renew_expired_certs", type: nil)
|
|
7030
7033
|
let skipConfirmationArg = skipConfirmation.asRubyArgument(name: "skip_confirmation", type: nil)
|
|
7031
7034
|
let safeRemoveCertsArg = safeRemoveCerts.asRubyArgument(name: "safe_remove_certs", type: nil)
|
|
7032
7035
|
let skipDocsArg = skipDocs.asRubyArgument(name: "skip_docs", type: nil)
|
|
@@ -7084,6 +7087,7 @@ public func match(type: String = matchfile.type,
|
|
|
7084
7087
|
includeAllCertificatesArg,
|
|
7085
7088
|
certificateIdArg,
|
|
7086
7089
|
forceForNewCertificatesArg,
|
|
7090
|
+
renewExpiredCertsArg,
|
|
7087
7091
|
skipConfirmationArg,
|
|
7088
7092
|
safeRemoveCertsArg,
|
|
7089
7093
|
skipDocsArg,
|
|
@@ -7152,6 +7156,7 @@ public func match(type: String = matchfile.type,
|
|
|
7152
7156
|
- includeAllCertificates: Include all matching certificates in the provisioning profile. Works only for the 'development' provisioning profile type
|
|
7153
7157
|
- certificateId: Select certificate by id. Useful if multiple certificates are stored in one place
|
|
7154
7158
|
- 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'
|
|
7159
|
+
- renewExpiredCerts: Automatically renew expired certificates. Note: to renew `developer_id` and `developer_id_installer` certificates you must log in with the Account Holder account by using username and password; App Store Connect API key doesn't work in this case. The expired certificate is removed from the match storage and a new one is created, but the old certificate is not revoked on the Apple Developer Portal — run `fastlane match nuke` if you need to free up certificate slots
|
|
7155
7160
|
- skipConfirmation: Disables confirmation prompts during nuke, answering them with yes
|
|
7156
7161
|
- safeRemoveCerts: Remove certs from repository during nuke without revoking them on the developer portal
|
|
7157
7162
|
- skipDocs: Skip generation of a README.md for the created git repository
|
|
@@ -7216,6 +7221,7 @@ public func matchNuke(type: String = "development",
|
|
|
7216
7221
|
includeAllCertificates: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
|
7217
7222
|
certificateId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
|
7218
7223
|
forceForNewCertificates: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
|
7224
|
+
renewExpiredCerts: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
|
7219
7225
|
skipConfirmation: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
|
7220
7226
|
safeRemoveCerts: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
|
7221
7227
|
skipDocs: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
|
@@ -7274,6 +7280,7 @@ public func matchNuke(type: String = "development",
|
|
|
7274
7280
|
let includeAllCertificatesArg = includeAllCertificates.asRubyArgument(name: "include_all_certificates", type: nil)
|
|
7275
7281
|
let certificateIdArg = certificateId.asRubyArgument(name: "certificate_id", type: nil)
|
|
7276
7282
|
let forceForNewCertificatesArg = forceForNewCertificates.asRubyArgument(name: "force_for_new_certificates", type: nil)
|
|
7283
|
+
let renewExpiredCertsArg = renewExpiredCerts.asRubyArgument(name: "renew_expired_certs", type: nil)
|
|
7277
7284
|
let skipConfirmationArg = skipConfirmation.asRubyArgument(name: "skip_confirmation", type: nil)
|
|
7278
7285
|
let safeRemoveCertsArg = safeRemoveCerts.asRubyArgument(name: "safe_remove_certs", type: nil)
|
|
7279
7286
|
let skipDocsArg = skipDocs.asRubyArgument(name: "skip_docs", type: nil)
|
|
@@ -7331,6 +7338,7 @@ public func matchNuke(type: String = "development",
|
|
|
7331
7338
|
includeAllCertificatesArg,
|
|
7332
7339
|
certificateIdArg,
|
|
7333
7340
|
forceForNewCertificatesArg,
|
|
7341
|
+
renewExpiredCertsArg,
|
|
7334
7342
|
skipConfirmationArg,
|
|
7335
7343
|
safeRemoveCertsArg,
|
|
7336
7344
|
skipDocsArg,
|
|
@@ -7485,7 +7493,6 @@ public func nexusUpload(file: String,
|
|
|
7485
7493
|
- parameters:
|
|
7486
7494
|
- package: Path to package to notarize, e.g. .app bundle or disk image
|
|
7487
7495
|
- skipStapling: Do not staple the notarization ticket to the artifact; useful for single file executables and ZIP archives
|
|
7488
|
-
- bundleId: Bundle identifier to uniquely identify the package
|
|
7489
7496
|
- username: Apple ID username
|
|
7490
7497
|
- ascProvider: Provider short name for accounts associated with multiple providers
|
|
7491
7498
|
- printLog: Whether to print notarization log file, listing issues on failure and warnings on success
|
|
@@ -7495,7 +7502,6 @@ public func nexusUpload(file: String,
|
|
|
7495
7502
|
*/
|
|
7496
7503
|
public func notarize(package: String,
|
|
7497
7504
|
skipStapling: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
|
7498
|
-
bundleId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
|
7499
7505
|
username: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
|
7500
7506
|
ascProvider: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
|
7501
7507
|
printLog: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
|
@@ -7505,7 +7511,6 @@ public func notarize(package: String,
|
|
|
7505
7511
|
{
|
|
7506
7512
|
let packageArg = RubyCommand.Argument(name: "package", value: package, type: nil)
|
|
7507
7513
|
let skipStaplingArg = skipStapling.asRubyArgument(name: "skip_stapling", type: nil)
|
|
7508
|
-
let bundleIdArg = bundleId.asRubyArgument(name: "bundle_id", type: nil)
|
|
7509
7514
|
let usernameArg = username.asRubyArgument(name: "username", type: nil)
|
|
7510
7515
|
let ascProviderArg = ascProvider.asRubyArgument(name: "asc_provider", type: nil)
|
|
7511
7516
|
let printLogArg = printLog.asRubyArgument(name: "print_log", type: nil)
|
|
@@ -7514,7 +7519,6 @@ public func notarize(package: String,
|
|
|
7514
7519
|
let apiKeyArg = apiKey.asRubyArgument(name: "api_key", type: nil)
|
|
7515
7520
|
let array: [RubyCommand.Argument?] = [packageArg,
|
|
7516
7521
|
skipStaplingArg,
|
|
7517
|
-
bundleIdArg,
|
|
7518
7522
|
usernameArg,
|
|
7519
7523
|
ascProviderArg,
|
|
7520
7524
|
printLogArg,
|
|
@@ -7895,11 +7899,11 @@ public func pem(platform: String = "ios",
|
|
|
7895
7899
|
- lastName: The tester's last name
|
|
7896
7900
|
- email: The tester's email
|
|
7897
7901
|
- testersFilePath: Path to a CSV file of testers
|
|
7898
|
-
- groups: Associate tester to one group or more by group name / group id. E.g. `-g "Team 1","
|
|
7902
|
+
- groups: Associate tester to one group or more by group name / group id. E.g. `-g "Team 1","a06cf5b5-95a9-4beb-88c6-f22bd6b3f7a2"` This is required when `distribute_external` option is set to true or when we want to add a tester to one or more external testing groups
|
|
7899
7903
|
- teamId: The ID of your App Store Connect team if you're in multiple teams
|
|
7900
7904
|
- teamName: The name of your App Store Connect team if you're in multiple teams
|
|
7901
7905
|
- devPortalTeamId: The short ID of your team in the developer portal, if you're in multiple teams. Different from your iTC team ID!
|
|
7902
|
-
- itcProvider: The provider short name to be used with the iTMSTransporter to identify your team. This value will override the automatically detected provider short name. To get provider short name run `
|
|
7906
|
+
- itcProvider: The provider short name to be used with the iTMSTransporter to identify your team. This value will override the automatically detected provider short name. To get provider short name run `xcrun iTMSTransporter -m provider -u 'USERNAME' -p 'PASSWORD' -account_type itunes_connect -v off`. The short names of providers should be listed in the second column
|
|
7903
7907
|
- providerPublicId: The provider public ID to be used with altool (--provider-public-id). This value will override the automatically detected provider value for altool uploads. Required after Xcode 26 when your account is associated with multiple providers and using username/app-password authentication
|
|
7904
7908
|
- waitProcessingInterval: Interval in seconds to wait for App Store Connect processing
|
|
7905
7909
|
- 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
|
|
@@ -8682,6 +8686,7 @@ public func recreateSchemes(project: String) {
|
|
|
8682
8686
|
This will register iOS/Mac devices with the Developer Portal so that you can include them in your provisioning profiles.
|
|
8683
8687
|
This is an optimistic action, in that it will only ever add new devices to the member center, and never remove devices. If a device which has already been registered within the member center is not passed to this action, it will be left alone in the member center and continue to work.
|
|
8684
8688
|
The action will connect to the Apple Developer Portal using the username you specified in your `Appfile` with `apple_id`, but you can override it using the `username` option, or by setting the env variable `ENV['DELIVER_USER']`.
|
|
8689
|
+
When using `devices_file`, blank lines and lines starting with `#` are ignored, so you can group devices, add notes, or comment out a device row without removing it.
|
|
8685
8690
|
*/
|
|
8686
8691
|
public func registerDevices(devices: OptionalConfigValue<[String: Any]?> = .fastlaneDefault(nil),
|
|
8687
8692
|
devicesFile: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
|
@@ -8959,6 +8964,7 @@ public func rubyVersion() {
|
|
|
8959
8964
|
- suppressXcodeOutput: Suppress the output of xcodebuild to stdout. Output is still saved in buildlog_path
|
|
8960
8965
|
- 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/)
|
|
8961
8966
|
- outputRemoveRetryAttempts: Remove retry attempts from test results table and the JUnit report (if not using xcpretty)
|
|
8967
|
+
- forceLegacyXcresulttool: Force the use of the '--legacy' flag for xcresulttool instead of using the new commands
|
|
8962
8968
|
- 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
|
|
8963
8969
|
- formatter: **DEPRECATED!** Use 'xcpretty_formatter' instead - A custom xcpretty formatter to use
|
|
8964
8970
|
- xcprettyFormatter: A custom xcpretty formatter to use
|
|
@@ -9045,6 +9051,7 @@ public func rubyVersion() {
|
|
|
9045
9051
|
suppressXcodeOutput: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
|
9046
9052
|
xcodebuildFormatter: String = "xcbeautify",
|
|
9047
9053
|
outputRemoveRetryAttempts: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
|
9054
|
+
forceLegacyXcresulttool: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
|
9048
9055
|
disableXcpretty: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
|
9049
9056
|
formatter: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
|
9050
9057
|
xcprettyFormatter: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
|
@@ -9127,6 +9134,7 @@ public func rubyVersion() {
|
|
|
9127
9134
|
let suppressXcodeOutputArg = suppressXcodeOutput.asRubyArgument(name: "suppress_xcode_output", type: nil)
|
|
9128
9135
|
let xcodebuildFormatterArg = RubyCommand.Argument(name: "xcodebuild_formatter", value: xcodebuildFormatter, type: nil)
|
|
9129
9136
|
let outputRemoveRetryAttemptsArg = outputRemoveRetryAttempts.asRubyArgument(name: "output_remove_retry_attempts", type: nil)
|
|
9137
|
+
let forceLegacyXcresulttoolArg = forceLegacyXcresulttool.asRubyArgument(name: "force_legacy_xcresulttool", type: nil)
|
|
9130
9138
|
let disableXcprettyArg = disableXcpretty.asRubyArgument(name: "disable_xcpretty", type: nil)
|
|
9131
9139
|
let formatterArg = formatter.asRubyArgument(name: "formatter", type: nil)
|
|
9132
9140
|
let xcprettyFormatterArg = xcprettyFormatter.asRubyArgument(name: "xcpretty_formatter", type: nil)
|
|
@@ -9208,6 +9216,7 @@ public func rubyVersion() {
|
|
|
9208
9216
|
suppressXcodeOutputArg,
|
|
9209
9217
|
xcodebuildFormatterArg,
|
|
9210
9218
|
outputRemoveRetryAttemptsArg,
|
|
9219
|
+
forceLegacyXcresulttoolArg,
|
|
9211
9220
|
disableXcprettyArg,
|
|
9212
9221
|
formatterArg,
|
|
9213
9222
|
xcprettyFormatterArg,
|
|
@@ -9402,6 +9411,7 @@ public func say(text: [String],
|
|
|
9402
9411
|
- suppressXcodeOutput: Suppress the output of xcodebuild to stdout. Output is still saved in buildlog_path
|
|
9403
9412
|
- 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/)
|
|
9404
9413
|
- outputRemoveRetryAttempts: Remove retry attempts from test results table and the JUnit report (if not using xcpretty)
|
|
9414
|
+
- forceLegacyXcresulttool: Force the use of the '--legacy' flag for xcresulttool instead of using the new commands
|
|
9405
9415
|
- 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
|
|
9406
9416
|
- formatter: **DEPRECATED!** Use 'xcpretty_formatter' instead - A custom xcpretty formatter to use
|
|
9407
9417
|
- xcprettyFormatter: A custom xcpretty formatter to use
|
|
@@ -9488,6 +9498,7 @@ public func say(text: [String],
|
|
|
9488
9498
|
suppressXcodeOutput: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.suppressXcodeOutput),
|
|
9489
9499
|
xcodebuildFormatter: String = scanfile.xcodebuildFormatter,
|
|
9490
9500
|
outputRemoveRetryAttempts: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.outputRemoveRetryAttempts),
|
|
9501
|
+
forceLegacyXcresulttool: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.forceLegacyXcresulttool),
|
|
9491
9502
|
disableXcpretty: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.disableXcpretty),
|
|
9492
9503
|
formatter: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.formatter),
|
|
9493
9504
|
xcprettyFormatter: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.xcprettyFormatter),
|
|
@@ -9570,6 +9581,7 @@ public func say(text: [String],
|
|
|
9570
9581
|
let suppressXcodeOutputArg = suppressXcodeOutput.asRubyArgument(name: "suppress_xcode_output", type: nil)
|
|
9571
9582
|
let xcodebuildFormatterArg = RubyCommand.Argument(name: "xcodebuild_formatter", value: xcodebuildFormatter, type: nil)
|
|
9572
9583
|
let outputRemoveRetryAttemptsArg = outputRemoveRetryAttempts.asRubyArgument(name: "output_remove_retry_attempts", type: nil)
|
|
9584
|
+
let forceLegacyXcresulttoolArg = forceLegacyXcresulttool.asRubyArgument(name: "force_legacy_xcresulttool", type: nil)
|
|
9573
9585
|
let disableXcprettyArg = disableXcpretty.asRubyArgument(name: "disable_xcpretty", type: nil)
|
|
9574
9586
|
let formatterArg = formatter.asRubyArgument(name: "formatter", type: nil)
|
|
9575
9587
|
let xcprettyFormatterArg = xcprettyFormatter.asRubyArgument(name: "xcpretty_formatter", type: nil)
|
|
@@ -9651,6 +9663,7 @@ public func say(text: [String],
|
|
|
9651
9663
|
suppressXcodeOutputArg,
|
|
9652
9664
|
xcodebuildFormatterArg,
|
|
9653
9665
|
outputRemoveRetryAttemptsArg,
|
|
9666
|
+
forceLegacyXcresulttoolArg,
|
|
9654
9667
|
disableXcprettyArg,
|
|
9655
9668
|
formatterArg,
|
|
9656
9669
|
xcprettyFormatterArg,
|
|
@@ -10060,6 +10073,7 @@ public func setPodKey(useBundleExec: OptionalConfigValue<Bool> = .fastlaneDefaul
|
|
|
10060
10073
|
- provider: CI provider. If none is set, the provider is detected automatically
|
|
10061
10074
|
- timeout: Set a custom timeout in seconds for keychain. Set `0` if you want to specify 'no time-out'
|
|
10062
10075
|
- keychainName: Set a custom keychain name
|
|
10076
|
+
- setDefaultKeychain: Set the temporary keychain as the system default
|
|
10063
10077
|
|
|
10064
10078
|
- Creates a new temporary keychain for use with match|
|
|
10065
10079
|
- Switches match to `readonly` mode to not create new profiles/cert on CI|
|
|
@@ -10070,16 +10084,19 @@ public func setPodKey(useBundleExec: OptionalConfigValue<Bool> = .fastlaneDefaul
|
|
|
10070
10084
|
public func setupCi(force: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
|
10071
10085
|
provider: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
|
10072
10086
|
timeout: Int = 3600,
|
|
10073
|
-
keychainName: String = "fastlane_tmp_keychain"
|
|
10087
|
+
keychainName: String = "fastlane_tmp_keychain",
|
|
10088
|
+
setDefaultKeychain: OptionalConfigValue<Bool> = .fastlaneDefault(true))
|
|
10074
10089
|
{
|
|
10075
10090
|
let forceArg = force.asRubyArgument(name: "force", type: nil)
|
|
10076
10091
|
let providerArg = provider.asRubyArgument(name: "provider", type: nil)
|
|
10077
10092
|
let timeoutArg = RubyCommand.Argument(name: "timeout", value: timeout, type: nil)
|
|
10078
10093
|
let keychainNameArg = RubyCommand.Argument(name: "keychain_name", value: keychainName, type: nil)
|
|
10094
|
+
let setDefaultKeychainArg = setDefaultKeychain.asRubyArgument(name: "set_default_keychain", type: nil)
|
|
10079
10095
|
let array: [RubyCommand.Argument?] = [forceArg,
|
|
10080
10096
|
providerArg,
|
|
10081
10097
|
timeoutArg,
|
|
10082
|
-
keychainNameArg
|
|
10098
|
+
keychainNameArg,
|
|
10099
|
+
setDefaultKeychainArg]
|
|
10083
10100
|
let args: [RubyCommand.Argument] = array
|
|
10084
10101
|
.filter { $0?.value != nil }
|
|
10085
10102
|
.compactMap { $0 }
|
|
@@ -11088,6 +11105,7 @@ public func splunkmint(dsym: OptionalConfigValue<String?> = .fastlaneDefault(nil
|
|
|
11088
11105
|
- disableSandbox: Disable using the sandbox when executing subprocesses
|
|
11089
11106
|
- xcprettyOutput: Specifies the output type for xcpretty. eg. 'test', or 'simple'
|
|
11090
11107
|
- xcprettyArgs: Pass in xcpretty additional command line arguments (e.g. '--test --no-color' or '--tap --no-utf'), requires xcpretty_output to be specified also
|
|
11108
|
+
- skipUpdate: Skip updating dependencies from their remote during a resolution
|
|
11091
11109
|
- verbose: Increase verbosity of informational output
|
|
11092
11110
|
- veryVerbose: Increase verbosity to include debug output
|
|
11093
11111
|
- simulator: Specifies the simulator to pass for Swift Compiler (one of: iphonesimulator, macosx)
|
|
@@ -11104,6 +11122,7 @@ public func spm(command: String = "build",
|
|
|
11104
11122
|
disableSandbox: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
|
11105
11123
|
xcprettyOutput: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
|
11106
11124
|
xcprettyArgs: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
|
11125
|
+
skipUpdate: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
|
11107
11126
|
verbose: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
|
11108
11127
|
veryVerbose: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
|
11109
11128
|
simulator: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
|
@@ -11120,6 +11139,7 @@ public func spm(command: String = "build",
|
|
|
11120
11139
|
let disableSandboxArg = disableSandbox.asRubyArgument(name: "disable_sandbox", type: nil)
|
|
11121
11140
|
let xcprettyOutputArg = xcprettyOutput.asRubyArgument(name: "xcpretty_output", type: nil)
|
|
11122
11141
|
let xcprettyArgsArg = xcprettyArgs.asRubyArgument(name: "xcpretty_args", type: nil)
|
|
11142
|
+
let skipUpdateArg = skipUpdate.asRubyArgument(name: "skip_update", type: nil)
|
|
11123
11143
|
let verboseArg = verbose.asRubyArgument(name: "verbose", type: nil)
|
|
11124
11144
|
let veryVerboseArg = veryVerbose.asRubyArgument(name: "very_verbose", type: nil)
|
|
11125
11145
|
let simulatorArg = simulator.asRubyArgument(name: "simulator", type: nil)
|
|
@@ -11135,6 +11155,7 @@ public func spm(command: String = "build",
|
|
|
11135
11155
|
disableSandboxArg,
|
|
11136
11156
|
xcprettyOutputArg,
|
|
11137
11157
|
xcprettyArgsArg,
|
|
11158
|
+
skipUpdateArg,
|
|
11138
11159
|
verboseArg,
|
|
11139
11160
|
veryVerboseArg,
|
|
11140
11161
|
simulatorArg,
|
|
@@ -11481,6 +11502,7 @@ public func swiftlint(mode: String = "lint",
|
|
|
11481
11502
|
- includeAllCertificates: Include all matching certificates in the provisioning profile. Works only for the 'development' provisioning profile type
|
|
11482
11503
|
- certificateId: Select certificate by id. Useful if multiple certificates are stored in one place
|
|
11483
11504
|
- 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'
|
|
11505
|
+
- renewExpiredCerts: Automatically renew expired certificates. Note: to renew `developer_id` and `developer_id_installer` certificates you must log in with the Account Holder account by using username and password; App Store Connect API key doesn't work in this case. The expired certificate is removed from the match storage and a new one is created, but the old certificate is not revoked on the Apple Developer Portal — run `fastlane match nuke` if you need to free up certificate slots
|
|
11484
11506
|
- skipConfirmation: Disables confirmation prompts during nuke, answering them with yes
|
|
11485
11507
|
- safeRemoveCerts: Remove certs from repository during nuke without revoking them on the developer portal
|
|
11486
11508
|
- skipDocs: Skip generation of a README.md for the created git repository
|
|
@@ -11541,6 +11563,7 @@ public func syncCodeSigning(type: String = "development",
|
|
|
11541
11563
|
includeAllCertificates: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
|
11542
11564
|
certificateId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
|
11543
11565
|
forceForNewCertificates: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
|
11566
|
+
renewExpiredCerts: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
|
11544
11567
|
skipConfirmation: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
|
11545
11568
|
safeRemoveCerts: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
|
11546
11569
|
skipDocs: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
|
@@ -11599,6 +11622,7 @@ public func syncCodeSigning(type: String = "development",
|
|
|
11599
11622
|
let includeAllCertificatesArg = includeAllCertificates.asRubyArgument(name: "include_all_certificates", type: nil)
|
|
11600
11623
|
let certificateIdArg = certificateId.asRubyArgument(name: "certificate_id", type: nil)
|
|
11601
11624
|
let forceForNewCertificatesArg = forceForNewCertificates.asRubyArgument(name: "force_for_new_certificates", type: nil)
|
|
11625
|
+
let renewExpiredCertsArg = renewExpiredCerts.asRubyArgument(name: "renew_expired_certs", type: nil)
|
|
11602
11626
|
let skipConfirmationArg = skipConfirmation.asRubyArgument(name: "skip_confirmation", type: nil)
|
|
11603
11627
|
let safeRemoveCertsArg = safeRemoveCerts.asRubyArgument(name: "safe_remove_certs", type: nil)
|
|
11604
11628
|
let skipDocsArg = skipDocs.asRubyArgument(name: "skip_docs", type: nil)
|
|
@@ -11656,6 +11680,7 @@ public func syncCodeSigning(type: String = "development",
|
|
|
11656
11680
|
includeAllCertificatesArg,
|
|
11657
11681
|
certificateIdArg,
|
|
11658
11682
|
forceForNewCertificatesArg,
|
|
11683
|
+
renewExpiredCertsArg,
|
|
11659
11684
|
skipConfirmationArg,
|
|
11660
11685
|
safeRemoveCertsArg,
|
|
11661
11686
|
skipDocsArg,
|
|
@@ -11818,11 +11843,11 @@ public func testfairy(apiKey: String,
|
|
|
11818
11843
|
- lastName: The tester's last name
|
|
11819
11844
|
- email: The tester's email
|
|
11820
11845
|
- testersFilePath: Path to a CSV file of testers
|
|
11821
|
-
- groups: Associate tester to one group or more by group name / group id. E.g. `-g "Team 1","
|
|
11846
|
+
- groups: Associate tester to one group or more by group name / group id. E.g. `-g "Team 1","a06cf5b5-95a9-4beb-88c6-f22bd6b3f7a2"` This is required when `distribute_external` option is set to true or when we want to add a tester to one or more external testing groups
|
|
11822
11847
|
- teamId: The ID of your App Store Connect team if you're in multiple teams
|
|
11823
11848
|
- teamName: The name of your App Store Connect team if you're in multiple teams
|
|
11824
11849
|
- devPortalTeamId: The short ID of your team in the developer portal, if you're in multiple teams. Different from your iTC team ID!
|
|
11825
|
-
- itcProvider: The provider short name to be used with the iTMSTransporter to identify your team. This value will override the automatically detected provider short name. To get provider short name run `
|
|
11850
|
+
- itcProvider: The provider short name to be used with the iTMSTransporter to identify your team. This value will override the automatically detected provider short name. To get provider short name run `xcrun iTMSTransporter -m provider -u 'USERNAME' -p 'PASSWORD' -account_type itunes_connect -v off`. The short names of providers should be listed in the second column
|
|
11826
11851
|
- providerPublicId: The provider public ID to be used with altool (--provider-public-id). This value will override the automatically detected provider value for altool uploads. Required after Xcode 26 when your account is associated with multiple providers and using username/app-password authentication
|
|
11827
11852
|
- waitProcessingInterval: Interval in seconds to wait for App Store Connect processing
|
|
11828
11853
|
- 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
|
|
@@ -12518,7 +12543,7 @@ public func updateProjectProvisioning(xcodeproj: OptionalConfigValue<String?> =
|
|
|
12518
12543
|
- targets: Name of the targets you want to update
|
|
12519
12544
|
- teamid: The Team ID you want to use
|
|
12520
12545
|
|
|
12521
|
-
This action updates the Developer Team ID of your Xcode project.
|
|
12546
|
+
This action updates (or adds) the Developer Team ID of your Xcode project.
|
|
12522
12547
|
*/
|
|
12523
12548
|
public func updateProjectTeam(path: String,
|
|
12524
12549
|
targets: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
|
|
@@ -12667,9 +12692,11 @@ public func uploadAppPrivacyDetailsToAppStore(username: String,
|
|
|
12667
12692
|
- binaryPath: The path to the upload-symbols file of the Fabric app
|
|
12668
12693
|
- platform: The platform of the app (ios, appletvos, mac)
|
|
12669
12694
|
- dsymWorkerThreads: The number of threads to use for simultaneous dSYM upload
|
|
12695
|
+
- failOnError: Should the action fail when an upload fails?
|
|
12670
12696
|
- debug: Enable debug mode for upload-symbols
|
|
12671
12697
|
|
|
12672
|
-
This action allows you to upload symbolication files to Crashlytics. It's extra useful if you use it to download the latest dSYM files from Apple when you use Bitcode. This action will not fail the build if one of the uploads failed
|
|
12698
|
+
This action allows you to upload symbolication files to Crashlytics. It's extra useful if you use it to download the latest dSYM files from Apple when you use Bitcode. This action will not fail the build if one of the uploads failed by default.
|
|
12699
|
+
The reason for that is that sometimes some of dSYM files are invalid, and we don't want them to fail the complete build. However, fail_on_build parameter can be used to prevent this behavior.
|
|
12673
12700
|
*/
|
|
12674
12701
|
public func uploadSymbolsToCrashlytics(dsymPath: String = "./spec/fixtures/dSYM/Themoji2.dSYM",
|
|
12675
12702
|
dsymPaths: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
|
|
@@ -12679,6 +12706,7 @@ public func uploadSymbolsToCrashlytics(dsymPath: String = "./spec/fixtures/dSYM/
|
|
|
12679
12706
|
binaryPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
|
12680
12707
|
platform: String = "ios",
|
|
12681
12708
|
dsymWorkerThreads: Int = 1,
|
|
12709
|
+
failOnError: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
|
12682
12710
|
debug: OptionalConfigValue<Bool> = .fastlaneDefault(false))
|
|
12683
12711
|
{
|
|
12684
12712
|
let dsymPathArg = RubyCommand.Argument(name: "dsym_path", value: dsymPath, type: nil)
|
|
@@ -12689,6 +12717,7 @@ public func uploadSymbolsToCrashlytics(dsymPath: String = "./spec/fixtures/dSYM/
|
|
|
12689
12717
|
let binaryPathArg = binaryPath.asRubyArgument(name: "binary_path", type: nil)
|
|
12690
12718
|
let platformArg = RubyCommand.Argument(name: "platform", value: platform, type: nil)
|
|
12691
12719
|
let dsymWorkerThreadsArg = RubyCommand.Argument(name: "dsym_worker_threads", value: dsymWorkerThreads, type: nil)
|
|
12720
|
+
let failOnErrorArg = failOnError.asRubyArgument(name: "fail_on_error", type: nil)
|
|
12692
12721
|
let debugArg = debug.asRubyArgument(name: "debug", type: nil)
|
|
12693
12722
|
let array: [RubyCommand.Argument?] = [dsymPathArg,
|
|
12694
12723
|
dsymPathsArg,
|
|
@@ -12698,6 +12727,7 @@ public func uploadSymbolsToCrashlytics(dsymPath: String = "./spec/fixtures/dSYM/
|
|
|
12698
12727
|
binaryPathArg,
|
|
12699
12728
|
platformArg,
|
|
12700
12729
|
dsymWorkerThreadsArg,
|
|
12730
|
+
failOnErrorArg,
|
|
12701
12731
|
debugArg]
|
|
12702
12732
|
let args: [RubyCommand.Argument] = array
|
|
12703
12733
|
.filter { $0?.value != nil }
|
|
@@ -12796,7 +12826,7 @@ public func uploadSymbolsToSentry(apiHost: String = "https://app.getsentry.com/a
|
|
|
12796
12826
|
- teamName: The name of your App Store Connect team if you're in multiple teams
|
|
12797
12827
|
- devPortalTeamId: The short ID of your Developer Portal team, if you're in multiple teams. Different from your iTC team ID!
|
|
12798
12828
|
- devPortalTeamName: The name of your Developer Portal team if you're in multiple teams
|
|
12799
|
-
- itcProvider: The provider short name to be used with the iTMSTransporter to identify your team. This value will override the automatically detected provider short name. To get provider short name run `
|
|
12829
|
+
- itcProvider: The provider short name to be used with the iTMSTransporter to identify your team. This value will override the automatically detected provider short name. To get provider short name run `xcrun iTMSTransporter -m provider -u 'USERNAME' -p 'PASSWORD' -account_type itunes_connect -v off`. The short names of providers should be listed in the second column
|
|
12800
12830
|
- providerPublicId: The provider public ID to be used with altool (--provider-public-id). This value will override the automatically detected provider value for altool uploads. Required after Xcode 26 when your account is associated with multiple providers and using username/app-password authentication
|
|
12801
12831
|
- runPrecheckBeforeSubmit: Run precheck before submitting to app review
|
|
12802
12832
|
- precheckDefaultRuleLevel: The default precheck rule level unless otherwise configured
|
|
@@ -13334,11 +13364,11 @@ public func uploadToPlayStoreInternalAppSharing(packageName: String,
|
|
|
13334
13364
|
- lastName: The tester's last name
|
|
13335
13365
|
- email: The tester's email
|
|
13336
13366
|
- testersFilePath: Path to a CSV file of testers
|
|
13337
|
-
- groups: Associate tester to one group or more by group name / group id. E.g. `-g "Team 1","
|
|
13367
|
+
- groups: Associate tester to one group or more by group name / group id. E.g. `-g "Team 1","a06cf5b5-95a9-4beb-88c6-f22bd6b3f7a2"` This is required when `distribute_external` option is set to true or when we want to add a tester to one or more external testing groups
|
|
13338
13368
|
- teamId: The ID of your App Store Connect team if you're in multiple teams
|
|
13339
13369
|
- teamName: The name of your App Store Connect team if you're in multiple teams
|
|
13340
13370
|
- devPortalTeamId: The short ID of your team in the developer portal, if you're in multiple teams. Different from your iTC team ID!
|
|
13341
|
-
- itcProvider: The provider short name to be used with the iTMSTransporter to identify your team. This value will override the automatically detected provider short name. To get provider short name run `
|
|
13371
|
+
- itcProvider: The provider short name to be used with the iTMSTransporter to identify your team. This value will override the automatically detected provider short name. To get provider short name run `xcrun iTMSTransporter -m provider -u 'USERNAME' -p 'PASSWORD' -account_type itunes_connect -v off`. The short names of providers should be listed in the second column
|
|
13342
13372
|
- providerPublicId: The provider public ID to be used with altool (--provider-public-id). This value will override the automatically detected provider value for altool uploads. Required after Xcode 26 when your account is associated with multiple providers and using username/app-password authentication
|
|
13343
13373
|
- waitProcessingInterval: Interval in seconds to wait for App Store Connect processing
|
|
13344
13374
|
- 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
|
|
@@ -13902,7 +13932,7 @@ public func xcov(workspace: OptionalConfigValue<String?> = .fastlaneDefault(nil)
|
|
|
13902
13932
|
coverallsServiceJobId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
|
13903
13933
|
coverallsRepoToken: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
|
13904
13934
|
xcconfig: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
|
13905
|
-
ideFoundationPath: String = "/Applications/
|
|
13935
|
+
ideFoundationPath: String = "/Applications/Xcode_26.6.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
|
|
13906
13936
|
legacySupport: OptionalConfigValue<Bool> = .fastlaneDefault(false))
|
|
13907
13937
|
{
|
|
13908
13938
|
let workspaceArg = workspace.asRubyArgument(name: "workspace", type: nil)
|
|
@@ -14113,4 +14143,4 @@ public let snapshotfile: Snapshotfile = .init()
|
|
|
14113
14143
|
|
|
14114
14144
|
// Please don't remove the lines below
|
|
14115
14145
|
// They are used to detect outdated files
|
|
14116
|
-
// FastlaneRunnerAPIVersion [0.9.
|
|
14146
|
+
// FastlaneRunnerAPIVersion [0.9.205]
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
C0459CAB27261886002CDFB9 /* CopyFiles */ = {
|
|
47
47
|
isa = PBXCopyFilesBuildPhase;
|
|
48
48
|
buildActionMask = 2147483647;
|
|
49
|
-
dstPath =
|
|
49
|
+
dstPath = $SRCROOT/../..;
|
|
50
50
|
dstSubfolderSpec = 0;
|
|
51
51
|
files = (
|
|
52
52
|
C0459CAC27261897002CDFB9 /* FastlaneRunner in CopyFiles */,
|
|
@@ -134,6 +134,9 @@ public protocol MatchfileProtocol: AnyObject {
|
|
|
134
134
|
/// 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'
|
|
135
135
|
var forceForNewCertificates: Bool { get }
|
|
136
136
|
|
|
137
|
+
/// Automatically renew expired certificates. Note: to renew `developer_id` and `developer_id_installer` certificates you must log in with the Account Holder account by using username and password; App Store Connect API key doesn't work in this case. The expired certificate is removed from the match storage and a new one is created, but the old certificate is not revoked on the Apple Developer Portal — run `fastlane match nuke` if you need to free up certificate slots
|
|
138
|
+
var renewExpiredCerts: Bool { get }
|
|
139
|
+
|
|
137
140
|
/// Disables confirmation prompts during nuke, answering them with yes
|
|
138
141
|
var skipConfirmation: Bool { get }
|
|
139
142
|
|
|
@@ -351,6 +354,10 @@ public extension MatchfileProtocol {
|
|
|
351
354
|
return false
|
|
352
355
|
}
|
|
353
356
|
|
|
357
|
+
var renewExpiredCerts: Bool {
|
|
358
|
+
return false
|
|
359
|
+
}
|
|
360
|
+
|
|
354
361
|
var skipConfirmation: Bool {
|
|
355
362
|
return false
|
|
356
363
|
}
|
|
@@ -406,4 +413,4 @@ public extension MatchfileProtocol {
|
|
|
406
413
|
|
|
407
414
|
// Please don't remove the lines below
|
|
408
415
|
// They are used to detect outdated files
|
|
409
|
-
// FastlaneRunnerAPIVersion [0.9.
|
|
416
|
+
// FastlaneRunnerAPIVersion [0.9.149]
|
|
@@ -107,6 +107,9 @@ public protocol ScanfileProtocol: AnyObject {
|
|
|
107
107
|
/// Remove retry attempts from test results table and the JUnit report (if not using xcpretty)
|
|
108
108
|
var outputRemoveRetryAttempts: Bool { get }
|
|
109
109
|
|
|
110
|
+
/// Force the use of the '--legacy' flag for xcresulttool instead of using the new commands
|
|
111
|
+
var forceLegacyXcresulttool: Bool { get }
|
|
112
|
+
|
|
110
113
|
/// **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
|
|
111
114
|
var disableXcpretty: Bool? { get }
|
|
112
115
|
|
|
@@ -387,6 +390,10 @@ public extension ScanfileProtocol {
|
|
|
387
390
|
return false
|
|
388
391
|
}
|
|
389
392
|
|
|
393
|
+
var forceLegacyXcresulttool: Bool {
|
|
394
|
+
return false
|
|
395
|
+
}
|
|
396
|
+
|
|
390
397
|
var disableXcpretty: Bool? {
|
|
391
398
|
return nil
|
|
392
399
|
}
|
|
@@ -574,4 +581,4 @@ public extension ScanfileProtocol {
|
|
|
574
581
|
|
|
575
582
|
// Please don't remove the lines below
|
|
576
583
|
// They are used to detect outdated files
|
|
577
|
-
// FastlaneRunnerAPIVersion [0.9.
|
|
584
|
+
// FastlaneRunnerAPIVersion [0.9.160]
|
|
@@ -1,23 +1,49 @@
|
|
|
1
|
+
require_relative '../helper'
|
|
2
|
+
|
|
1
3
|
module FastlaneCore
|
|
2
4
|
class AnalyticsEventBuilder
|
|
3
5
|
attr_accessor :action_name
|
|
4
6
|
|
|
5
7
|
# fastlane_client_language valid options are :ruby or :swift
|
|
6
|
-
def initialize(p_hash: nil, session_id: nil, action_name: nil, fastlane_client_language: :ruby)
|
|
8
|
+
def initialize(p_hash: nil, session_id: nil, action_name: nil, fastlane_client_language: :ruby, build_tool_version: nil)
|
|
7
9
|
@p_hash = p_hash
|
|
8
10
|
@session_id = session_id
|
|
9
11
|
@action_name = action_name
|
|
10
12
|
@fastlane_client_language = fastlane_client_language
|
|
13
|
+
@build_tool_version = build_tool_version
|
|
11
14
|
end
|
|
12
15
|
|
|
13
16
|
def new_event(action_stage)
|
|
14
17
|
{
|
|
15
18
|
client_id: @p_hash,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
session_id: @session_id,
|
|
20
|
+
name: action_stage,
|
|
21
|
+
params: {
|
|
22
|
+
fastlane_client_language: @fastlane_client_language,
|
|
23
|
+
fastlane_version: Fastlane::VERSION,
|
|
24
|
+
install_method: install_method,
|
|
25
|
+
ruby_version: RUBY_VERSION,
|
|
26
|
+
operating_system: Helper.operating_system,
|
|
27
|
+
build_tool_version: @build_tool_version,
|
|
28
|
+
ci: Helper.ci?.to_s
|
|
29
|
+
}.reject { |_, value| value.nil? }
|
|
20
30
|
}
|
|
21
31
|
end
|
|
32
|
+
|
|
33
|
+
private
|
|
34
|
+
|
|
35
|
+
def install_method
|
|
36
|
+
if Helper.bundler?
|
|
37
|
+
'bundler'
|
|
38
|
+
elsif Helper.contained_fastlane?
|
|
39
|
+
'standalone'
|
|
40
|
+
elsif Helper.homebrew?
|
|
41
|
+
'homebrew'
|
|
42
|
+
elsif Helper.mac_app?
|
|
43
|
+
'mac_app'
|
|
44
|
+
else
|
|
45
|
+
'gem'
|
|
46
|
+
end
|
|
47
|
+
end
|
|
22
48
|
end
|
|
23
49
|
end
|