fastlane 2.177.0 → 2.181.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 +83 -70
- data/cert/lib/cert/options.rb +1 -0
- data/cert/lib/cert/runner.rb +5 -1
- data/deliver/lib/deliver/download_screenshots.rb +1 -2
- data/deliver/lib/deliver/options.rb +1 -0
- data/deliver/lib/deliver/runner.rb +10 -2
- data/deliver/lib/deliver/setup.rb +0 -1
- data/deliver/lib/deliver/upload_metadata.rb +2 -1
- data/fastlane/lib/fastlane/actions/app_store_build_number.rb +6 -1
- data/fastlane/lib/fastlane/actions/app_store_connect_api_key.rb +7 -4
- data/fastlane/lib/fastlane/actions/backup_file.rb +1 -1
- data/fastlane/lib/fastlane/actions/build_app.rb +4 -0
- data/fastlane/lib/fastlane/actions/check_app_store_metadata.rb +4 -0
- data/fastlane/lib/fastlane/actions/clipboard.rb +3 -6
- data/fastlane/lib/fastlane/actions/commit_github_file.rb +11 -1
- data/fastlane/lib/fastlane/actions/create_xcframework.rb +5 -0
- data/fastlane/lib/fastlane/actions/docs/upload_to_play_store.md +2 -1
- data/fastlane/lib/fastlane/actions/ensure_env_vars.rb +2 -6
- data/fastlane/lib/fastlane/actions/get_github_release.rb +11 -1
- data/fastlane/lib/fastlane/actions/get_provisioning_profile.rb +4 -0
- data/fastlane/lib/fastlane/actions/get_version_number.rb +17 -10
- data/fastlane/lib/fastlane/actions/git_branch.rb +4 -10
- data/fastlane/lib/fastlane/actions/git_tag_exists.rb +4 -0
- data/fastlane/lib/fastlane/actions/github_api.rb +2 -1
- data/fastlane/lib/fastlane/actions/increment_build_number.rb +8 -1
- data/fastlane/lib/fastlane/actions/install_provisioning_profile.rb +4 -0
- data/fastlane/lib/fastlane/actions/jira.rb +61 -14
- data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +1 -0
- data/fastlane/lib/fastlane/actions/match_nuke.rb +59 -0
- data/fastlane/lib/fastlane/actions/notarize.rb +98 -51
- data/fastlane/lib/fastlane/actions/register_device.rb +1 -1
- data/fastlane/lib/fastlane/actions/register_devices.rb +1 -1
- data/fastlane/lib/fastlane/actions/restore_file.rb +1 -1
- data/fastlane/lib/fastlane/actions/set_changelog.rb +1 -1
- data/fastlane/lib/fastlane/actions/slack.rb +148 -127
- data/fastlane/lib/fastlane/actions/sourcedocs.rb +164 -0
- data/fastlane/lib/fastlane/actions/spaceship_logs.rb +1 -1
- data/fastlane/lib/fastlane/actions/update_project_provisioning.rb +1 -2
- data/fastlane/lib/fastlane/erb_template_helper.rb +7 -1
- data/fastlane/lib/fastlane/fast_file.rb +9 -5
- data/fastlane/lib/fastlane/fastlane_require.rb +7 -1
- data/fastlane/lib/fastlane/helper/git_helper.rb +19 -7
- data/fastlane/lib/fastlane/lane_manager.rb +3 -2
- data/fastlane/lib/fastlane/plugins/plugin_fetcher.rb +1 -2
- data/fastlane/lib/fastlane/plugins/plugin_info_collector.rb +1 -2
- data/fastlane/lib/fastlane/plugins/plugin_manager.rb +1 -2
- data/fastlane/lib/fastlane/setup/setup.rb +23 -10
- data/fastlane/lib/fastlane/swift_fastlane_function.rb +4 -0
- data/fastlane/lib/fastlane/swift_runner_upgrader.rb +2 -0
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +3 -3
- data/fastlane/swift/Fastlane.swift +550 -328
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/GymfileProtocol.swift +1 -1
- data/fastlane/swift/LaneFileProtocol.swift +9 -3
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/MatchfileProtocol.swift +1 -1
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/PrecheckfileProtocol.swift +3 -3
- data/fastlane/swift/RubyCommand.swift +1 -1
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/ScanfileProtocol.swift +5 -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/swift/SocketClient.swift +2 -1
- data/fastlane/swift/SocketResponse.swift +4 -2
- data/fastlane/swift/formatting/Brewfile.lock.json +18 -16
- data/fastlane_core/lib/fastlane_core.rb +22 -21
- data/fastlane_core/lib/fastlane_core/build_watcher.rb +50 -9
- data/fastlane_core/lib/fastlane_core/clipboard.rb +20 -0
- data/fastlane_core/lib/fastlane_core/configuration/configuration.rb +5 -3
- data/fastlane_core/lib/fastlane_core/helper.rb +24 -1
- data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +10 -6
- data/fastlane_core/lib/fastlane_core/project.rb +3 -14
- data/fastlane_core/lib/fastlane_core/queue_worker.rb +2 -2
- data/fastlane_core/lib/fastlane_core/ui/implementations/shell.rb +12 -1
- data/fastlane_core/lib/fastlane_core/ui/interface.rb +1 -1
- data/gym/lib/gym/generators/package_command_generator.rb +4 -0
- data/gym/lib/gym/generators/package_command_generator_xcode7.rb +13 -8
- data/gym/lib/gym/runner.rb +15 -4
- data/match/lib/match/change_password.rb +3 -3
- data/match/lib/match/encryption/interface.rb +1 -1
- data/match/lib/match/encryption/openssl.rb +2 -2
- data/match/lib/match/importer.rb +1 -1
- data/match/lib/match/migrate.rb +1 -1
- data/match/lib/match/module.rb +1 -0
- data/match/lib/match/nuke.rb +1 -1
- data/match/lib/match/runner.rb +1 -1
- data/match/lib/match/storage/google_cloud_storage.rb +1 -1
- data/match/lib/match/storage/s3_storage.rb +1 -1
- data/pilot/lib/pilot/build_manager.rb +9 -4
- data/pilot/lib/pilot/manager.rb +5 -1
- data/pilot/lib/pilot/options.rb +3 -2
- data/precheck/lib/precheck/options.rb +1 -0
- data/precheck/lib/precheck/runner.rb +5 -1
- data/scan/lib/scan/options.rb +10 -5
- data/scan/lib/scan/runner.rb +54 -1
- data/scan/lib/scan/test_command_generator.rb +10 -8
- data/screengrab/lib/screengrab/android_environment.rb +6 -4
- data/screengrab/lib/screengrab/runner.rb +1 -1
- data/sigh/lib/sigh/download_all.rb +1 -1
- data/sigh/lib/sigh/options.rb +1 -0
- data/sigh/lib/sigh/runner.rb +5 -1
- data/snapshot/lib/assets/SnapshotHelper.swift +1 -1
- data/snapshot/lib/snapshot/reports_generator.rb +4 -0
- data/spaceship/README.md +2 -12
- data/spaceship/lib/spaceship/commands_generator.rb +2 -1
- data/spaceship/lib/spaceship/connect_api/models/app_screenshot.rb +1 -1
- data/spaceship/lib/spaceship/connect_api/models/beta_group.rb +5 -0
- data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +13 -0
- data/spaceship/lib/spaceship/connect_api/token.rb +8 -2
- data/spaceship/lib/spaceship/spaceauth_runner.rb +19 -9
- data/spaceship/lib/spaceship/tunes/members.rb +1 -1
- data/supply/lib/supply/client.rb +3 -1
- data/supply/lib/supply/options.rb +2 -2
- data/supply/lib/supply/uploader.rb +1 -0
- metadata +28 -24
- data/gym/lib/gym/.runner.rb.swp +0 -0
@@ -9,7 +9,7 @@ public protocol DeliverfileProtocol: class {
|
|
9
9
|
var apiKey: [String: Any]? { get }
|
10
10
|
|
11
11
|
/// Your Apple ID Username
|
12
|
-
var username: String { get }
|
12
|
+
var username: String? { get }
|
13
13
|
|
14
14
|
/// The bundle identifier of your app
|
15
15
|
var appIdentifier: String? { get }
|
@@ -192,7 +192,7 @@ public protocol DeliverfileProtocol: class {
|
|
192
192
|
public extension DeliverfileProtocol {
|
193
193
|
var apiKeyPath: String? { return nil }
|
194
194
|
var apiKey: [String: Any]? { return nil }
|
195
|
-
var username: String { return
|
195
|
+
var username: String? { return nil }
|
196
196
|
var appIdentifier: String? { return nil }
|
197
197
|
var appVersion: String? { return nil }
|
198
198
|
var ipa: String? { return nil }
|
@@ -256,4 +256,4 @@ public extension DeliverfileProtocol {
|
|
256
256
|
|
257
257
|
// Please don't remove the lines below
|
258
258
|
// They are used to detect outdated files
|
259
|
-
// FastlaneRunnerAPIVersion [0.9.
|
259
|
+
// FastlaneRunnerAPIVersion [0.9.65]
|
@@ -119,7 +119,7 @@ public func appStoreBuildNumber(apiKeyPath: String? = nil,
|
|
119
119
|
apiKey: [String: Any]? = nil,
|
120
120
|
initialBuildNumber: Any,
|
121
121
|
appIdentifier: String,
|
122
|
-
username: String,
|
122
|
+
username: String? = nil,
|
123
123
|
teamId: Any? = nil,
|
124
124
|
live: Bool = true,
|
125
125
|
version: String? = nil,
|
@@ -552,7 +552,7 @@ public func appledoc(input: Any,
|
|
552
552
|
*/
|
553
553
|
public func appstore(apiKeyPath: String? = nil,
|
554
554
|
apiKey: [String: Any]? = nil,
|
555
|
-
username: String,
|
555
|
+
username: String? = nil,
|
556
556
|
appIdentifier: String? = nil,
|
557
557
|
appVersion: String? = nil,
|
558
558
|
ipa: String? = nil,
|
@@ -1006,53 +1006,53 @@ public func buildAndroidApp(task: String? = nil,
|
|
1006
1006
|
|
1007
1007
|
More information: https://fastlane.tools/gym
|
1008
1008
|
*/
|
1009
|
-
public func buildApp(workspace: String? = nil,
|
1010
|
-
|
1011
|
-
|
1012
|
-
|
1013
|
-
|
1014
|
-
|
1015
|
-
|
1016
|
-
|
1017
|
-
|
1018
|
-
|
1019
|
-
|
1020
|
-
|
1021
|
-
|
1022
|
-
|
1023
|
-
|
1024
|
-
|
1025
|
-
|
1026
|
-
|
1027
|
-
|
1028
|
-
|
1029
|
-
|
1030
|
-
|
1031
|
-
|
1032
|
-
|
1033
|
-
|
1034
|
-
|
1035
|
-
|
1036
|
-
|
1037
|
-
|
1038
|
-
|
1039
|
-
|
1040
|
-
|
1041
|
-
|
1042
|
-
|
1043
|
-
|
1044
|
-
|
1045
|
-
|
1046
|
-
|
1047
|
-
|
1048
|
-
|
1049
|
-
|
1050
|
-
|
1051
|
-
|
1052
|
-
|
1053
|
-
|
1054
|
-
|
1055
|
-
|
1009
|
+
@discardableResult public func buildApp(workspace: String? = nil,
|
1010
|
+
project: String? = nil,
|
1011
|
+
scheme: String? = nil,
|
1012
|
+
clean: Bool = false,
|
1013
|
+
outputDirectory: String = ".",
|
1014
|
+
outputName: String? = nil,
|
1015
|
+
configuration: String? = nil,
|
1016
|
+
silent: Bool = false,
|
1017
|
+
codesigningIdentity: String? = nil,
|
1018
|
+
skipPackageIpa: Bool = false,
|
1019
|
+
skipPackagePkg: Bool = false,
|
1020
|
+
includeSymbols: Bool? = nil,
|
1021
|
+
includeBitcode: Bool? = nil,
|
1022
|
+
exportMethod: String? = nil,
|
1023
|
+
exportOptions: [String: Any]? = nil,
|
1024
|
+
exportXcargs: String? = nil,
|
1025
|
+
skipBuildArchive: Bool? = nil,
|
1026
|
+
skipArchive: Bool? = nil,
|
1027
|
+
skipCodesigning: Bool? = nil,
|
1028
|
+
catalystPlatform: String? = nil,
|
1029
|
+
installerCertName: String? = nil,
|
1030
|
+
buildPath: String? = nil,
|
1031
|
+
archivePath: String? = nil,
|
1032
|
+
derivedDataPath: String? = nil,
|
1033
|
+
resultBundle: Bool = false,
|
1034
|
+
resultBundlePath: String? = nil,
|
1035
|
+
buildlogPath: String = "~/Library/Logs/gym",
|
1036
|
+
sdk: String? = nil,
|
1037
|
+
toolchain: String? = nil,
|
1038
|
+
destination: String? = nil,
|
1039
|
+
exportTeamId: String? = nil,
|
1040
|
+
xcargs: String? = nil,
|
1041
|
+
xcconfig: String? = nil,
|
1042
|
+
suppressXcodeOutput: Bool? = nil,
|
1043
|
+
disableXcpretty: Bool? = nil,
|
1044
|
+
xcprettyTestFormat: Bool? = nil,
|
1045
|
+
xcprettyFormatter: String? = nil,
|
1046
|
+
xcprettyReportJunit: String? = nil,
|
1047
|
+
xcprettyReportHtml: String? = nil,
|
1048
|
+
xcprettyReportJson: String? = nil,
|
1049
|
+
analyzeBuildTime: Bool? = nil,
|
1050
|
+
xcprettyUtf: Bool? = nil,
|
1051
|
+
skipProfileDetection: Bool = false,
|
1052
|
+
clonedSourcePackagesPath: String? = nil,
|
1053
|
+
skipPackageDependenciesResolution: Bool = false,
|
1054
|
+
disablePackageAutomaticUpdates: Bool = false,
|
1055
|
+
useSystemScm: Bool = false) -> String
|
1056
1056
|
{
|
1057
1057
|
let command = RubyCommand(commandID: "", methodName: "build_app", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
|
1058
1058
|
RubyCommand.Argument(name: "project", value: project),
|
@@ -1101,7 +1101,7 @@ public func buildApp(workspace: String? = nil,
|
|
1101
1101
|
RubyCommand.Argument(name: "skip_package_dependencies_resolution", value: skipPackageDependenciesResolution),
|
1102
1102
|
RubyCommand.Argument(name: "disable_package_automatic_updates", value: disablePackageAutomaticUpdates),
|
1103
1103
|
RubyCommand.Argument(name: "use_system_scm", value: useSystemScm)])
|
1104
|
-
|
1104
|
+
return runner.executeCommand(command)
|
1105
1105
|
}
|
1106
1106
|
|
1107
1107
|
/**
|
@@ -1157,50 +1157,50 @@ public func buildApp(workspace: String? = nil,
|
|
1157
1157
|
|
1158
1158
|
More information: https://fastlane.tools/gym
|
1159
1159
|
*/
|
1160
|
-
public func buildIosApp(workspace: String? = nil,
|
1161
|
-
|
1162
|
-
|
1163
|
-
|
1164
|
-
|
1165
|
-
|
1166
|
-
|
1167
|
-
|
1168
|
-
|
1169
|
-
|
1170
|
-
|
1171
|
-
|
1172
|
-
|
1173
|
-
|
1174
|
-
|
1175
|
-
|
1176
|
-
|
1177
|
-
|
1178
|
-
|
1179
|
-
|
1180
|
-
|
1181
|
-
|
1182
|
-
|
1183
|
-
|
1184
|
-
|
1185
|
-
|
1186
|
-
|
1187
|
-
|
1188
|
-
|
1189
|
-
|
1190
|
-
|
1191
|
-
|
1192
|
-
|
1193
|
-
|
1194
|
-
|
1195
|
-
|
1196
|
-
|
1197
|
-
|
1198
|
-
|
1199
|
-
|
1200
|
-
|
1201
|
-
|
1202
|
-
|
1203
|
-
|
1160
|
+
@discardableResult public func buildIosApp(workspace: String? = nil,
|
1161
|
+
project: String? = nil,
|
1162
|
+
scheme: String? = nil,
|
1163
|
+
clean: Bool = false,
|
1164
|
+
outputDirectory: String = ".",
|
1165
|
+
outputName: String? = nil,
|
1166
|
+
configuration: String? = nil,
|
1167
|
+
silent: Bool = false,
|
1168
|
+
codesigningIdentity: String? = nil,
|
1169
|
+
skipPackageIpa: Bool = false,
|
1170
|
+
includeSymbols: Bool? = nil,
|
1171
|
+
includeBitcode: Bool? = nil,
|
1172
|
+
exportMethod: String? = nil,
|
1173
|
+
exportOptions: [String: Any]? = nil,
|
1174
|
+
exportXcargs: String? = nil,
|
1175
|
+
skipBuildArchive: Bool? = nil,
|
1176
|
+
skipArchive: Bool? = nil,
|
1177
|
+
skipCodesigning: Bool? = nil,
|
1178
|
+
buildPath: String? = nil,
|
1179
|
+
archivePath: String? = nil,
|
1180
|
+
derivedDataPath: String? = nil,
|
1181
|
+
resultBundle: Bool = false,
|
1182
|
+
resultBundlePath: String? = nil,
|
1183
|
+
buildlogPath: String = "~/Library/Logs/gym",
|
1184
|
+
sdk: String? = nil,
|
1185
|
+
toolchain: String? = nil,
|
1186
|
+
destination: String? = nil,
|
1187
|
+
exportTeamId: String? = nil,
|
1188
|
+
xcargs: String? = nil,
|
1189
|
+
xcconfig: String? = nil,
|
1190
|
+
suppressXcodeOutput: Bool? = nil,
|
1191
|
+
disableXcpretty: Bool? = nil,
|
1192
|
+
xcprettyTestFormat: Bool? = nil,
|
1193
|
+
xcprettyFormatter: String? = nil,
|
1194
|
+
xcprettyReportJunit: String? = nil,
|
1195
|
+
xcprettyReportHtml: String? = nil,
|
1196
|
+
xcprettyReportJson: String? = nil,
|
1197
|
+
analyzeBuildTime: Bool? = nil,
|
1198
|
+
xcprettyUtf: Bool? = nil,
|
1199
|
+
skipProfileDetection: Bool = false,
|
1200
|
+
clonedSourcePackagesPath: String? = nil,
|
1201
|
+
skipPackageDependenciesResolution: Bool = false,
|
1202
|
+
disablePackageAutomaticUpdates: Bool = false,
|
1203
|
+
useSystemScm: Bool = false) -> String
|
1204
1204
|
{
|
1205
1205
|
let command = RubyCommand(commandID: "", methodName: "build_ios_app", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
|
1206
1206
|
RubyCommand.Argument(name: "project", value: project),
|
@@ -1246,7 +1246,7 @@ public func buildIosApp(workspace: String? = nil,
|
|
1246
1246
|
RubyCommand.Argument(name: "skip_package_dependencies_resolution", value: skipPackageDependenciesResolution),
|
1247
1247
|
RubyCommand.Argument(name: "disable_package_automatic_updates", value: disablePackageAutomaticUpdates),
|
1248
1248
|
RubyCommand.Argument(name: "use_system_scm", value: useSystemScm)])
|
1249
|
-
|
1249
|
+
return runner.executeCommand(command)
|
1250
1250
|
}
|
1251
1251
|
|
1252
1252
|
/**
|
@@ -1303,51 +1303,51 @@ public func buildIosApp(workspace: String? = nil,
|
|
1303
1303
|
|
1304
1304
|
More information: https://fastlane.tools/gym
|
1305
1305
|
*/
|
1306
|
-
public func buildMacApp(workspace: String? = nil,
|
1307
|
-
|
1308
|
-
|
1309
|
-
|
1310
|
-
|
1311
|
-
|
1312
|
-
|
1313
|
-
|
1314
|
-
|
1315
|
-
|
1316
|
-
|
1317
|
-
|
1318
|
-
|
1319
|
-
|
1320
|
-
|
1321
|
-
|
1322
|
-
|
1323
|
-
|
1324
|
-
|
1325
|
-
|
1326
|
-
|
1327
|
-
|
1328
|
-
|
1329
|
-
|
1330
|
-
|
1331
|
-
|
1332
|
-
|
1333
|
-
|
1334
|
-
|
1335
|
-
|
1336
|
-
|
1337
|
-
|
1338
|
-
|
1339
|
-
|
1340
|
-
|
1341
|
-
|
1342
|
-
|
1343
|
-
|
1344
|
-
|
1345
|
-
|
1346
|
-
|
1347
|
-
|
1348
|
-
|
1349
|
-
|
1350
|
-
|
1306
|
+
@discardableResult public func buildMacApp(workspace: String? = nil,
|
1307
|
+
project: String? = nil,
|
1308
|
+
scheme: String? = nil,
|
1309
|
+
clean: Bool = false,
|
1310
|
+
outputDirectory: String = ".",
|
1311
|
+
outputName: String? = nil,
|
1312
|
+
configuration: String? = nil,
|
1313
|
+
silent: Bool = false,
|
1314
|
+
codesigningIdentity: String? = nil,
|
1315
|
+
skipPackagePkg: Bool = false,
|
1316
|
+
includeSymbols: Bool? = nil,
|
1317
|
+
includeBitcode: Bool? = nil,
|
1318
|
+
exportMethod: String? = nil,
|
1319
|
+
exportOptions: [String: Any]? = nil,
|
1320
|
+
exportXcargs: String? = nil,
|
1321
|
+
skipBuildArchive: Bool? = nil,
|
1322
|
+
skipArchive: Bool? = nil,
|
1323
|
+
skipCodesigning: Bool? = nil,
|
1324
|
+
installerCertName: String? = nil,
|
1325
|
+
buildPath: String? = nil,
|
1326
|
+
archivePath: String? = nil,
|
1327
|
+
derivedDataPath: String? = nil,
|
1328
|
+
resultBundle: Bool = false,
|
1329
|
+
resultBundlePath: String? = nil,
|
1330
|
+
buildlogPath: String = "~/Library/Logs/gym",
|
1331
|
+
sdk: String? = nil,
|
1332
|
+
toolchain: String? = nil,
|
1333
|
+
destination: String? = nil,
|
1334
|
+
exportTeamId: String? = nil,
|
1335
|
+
xcargs: String? = nil,
|
1336
|
+
xcconfig: String? = nil,
|
1337
|
+
suppressXcodeOutput: Bool? = nil,
|
1338
|
+
disableXcpretty: Bool? = nil,
|
1339
|
+
xcprettyTestFormat: Bool? = nil,
|
1340
|
+
xcprettyFormatter: String? = nil,
|
1341
|
+
xcprettyReportJunit: String? = nil,
|
1342
|
+
xcprettyReportHtml: String? = nil,
|
1343
|
+
xcprettyReportJson: String? = nil,
|
1344
|
+
analyzeBuildTime: Bool? = nil,
|
1345
|
+
xcprettyUtf: Bool? = nil,
|
1346
|
+
skipProfileDetection: Bool = false,
|
1347
|
+
clonedSourcePackagesPath: String? = nil,
|
1348
|
+
skipPackageDependenciesResolution: Bool = false,
|
1349
|
+
disablePackageAutomaticUpdates: Bool = false,
|
1350
|
+
useSystemScm: Bool = false) -> String
|
1351
1351
|
{
|
1352
1352
|
let command = RubyCommand(commandID: "", methodName: "build_mac_app", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
|
1353
1353
|
RubyCommand.Argument(name: "project", value: project),
|
@@ -1394,7 +1394,7 @@ public func buildMacApp(workspace: String? = nil,
|
|
1394
1394
|
RubyCommand.Argument(name: "skip_package_dependencies_resolution", value: skipPackageDependenciesResolution),
|
1395
1395
|
RubyCommand.Argument(name: "disable_package_automatic_updates", value: disablePackageAutomaticUpdates),
|
1396
1396
|
RubyCommand.Argument(name: "use_system_scm", value: useSystemScm)])
|
1397
|
-
|
1397
|
+
return runner.executeCommand(command)
|
1398
1398
|
}
|
1399
1399
|
|
1400
1400
|
/**
|
@@ -1942,7 +1942,7 @@ public func cert(development: Bool = false,
|
|
1942
1942
|
generateAppleCerts: Bool = true,
|
1943
1943
|
apiKeyPath: String? = nil,
|
1944
1944
|
apiKey: [String: Any]? = nil,
|
1945
|
-
username: String,
|
1945
|
+
username: String? = nil,
|
1946
1946
|
teamId: String? = nil,
|
1947
1947
|
teamName: String? = nil,
|
1948
1948
|
filename: String? = nil,
|
@@ -2068,26 +2068,26 @@ public func chatwork(apiToken: String,
|
|
2068
2068
|
|
2069
2069
|
More information: https://fastlane.tools/precheck
|
2070
2070
|
*/
|
2071
|
-
public func checkAppStoreMetadata(apiKeyPath: String? = nil,
|
2072
|
-
|
2073
|
-
|
2074
|
-
|
2075
|
-
|
2076
|
-
|
2077
|
-
|
2078
|
-
|
2079
|
-
|
2080
|
-
|
2081
|
-
|
2082
|
-
|
2083
|
-
|
2084
|
-
|
2085
|
-
|
2086
|
-
|
2087
|
-
|
2088
|
-
|
2089
|
-
|
2090
|
-
|
2071
|
+
@discardableResult public func checkAppStoreMetadata(apiKeyPath: String? = nil,
|
2072
|
+
apiKey: [String: Any]? = nil,
|
2073
|
+
appIdentifier: String,
|
2074
|
+
username: String? = nil,
|
2075
|
+
teamId: String? = nil,
|
2076
|
+
teamName: String? = nil,
|
2077
|
+
platform: String = "ios",
|
2078
|
+
defaultRuleLevel: Any = "error",
|
2079
|
+
includeInAppPurchases: Bool = true,
|
2080
|
+
useLive: Bool = false,
|
2081
|
+
negativeAppleSentiment: Any? = nil,
|
2082
|
+
placeholderText: Any? = nil,
|
2083
|
+
otherPlatforms: Any? = nil,
|
2084
|
+
futureFunctionality: Any? = nil,
|
2085
|
+
testWords: Any? = nil,
|
2086
|
+
curseWords: Any? = nil,
|
2087
|
+
freeStuffInIap: Any? = nil,
|
2088
|
+
customText: Any? = nil,
|
2089
|
+
copyrightDate: Any? = nil,
|
2090
|
+
unreachableUrls: Any? = nil) -> Bool
|
2091
2091
|
{
|
2092
2092
|
let command = RubyCommand(commandID: "", methodName: "check_app_store_metadata", className: nil, args: [RubyCommand.Argument(name: "api_key_path", value: apiKeyPath),
|
2093
2093
|
RubyCommand.Argument(name: "api_key", value: apiKey),
|
@@ -2109,7 +2109,7 @@ public func checkAppStoreMetadata(apiKeyPath: String? = nil,
|
|
2109
2109
|
RubyCommand.Argument(name: "custom_text", value: customText),
|
2110
2110
|
RubyCommand.Argument(name: "copyright_date", value: copyrightDate),
|
2111
2111
|
RubyCommand.Argument(name: "unreachable_urls", value: unreachableUrls)])
|
2112
|
-
|
2112
|
+
return parseBool(fromString: runner.executeCommand(command))
|
2113
2113
|
}
|
2114
2114
|
|
2115
2115
|
/**
|
@@ -2250,6 +2250,7 @@ public func cocoapods(repoUpdate: Bool = false,
|
|
2250
2250
|
- repositoryName: The path to your repo, e.g. 'fastlane/fastlane'
|
2251
2251
|
- serverUrl: The server url. e.g. 'https://your.internal.github.host/api/v3' (Default: 'https://api.github.com')
|
2252
2252
|
- apiToken: Personal API Token for GitHub - generate one at https://github.com/settings/tokens
|
2253
|
+
- apiBearer: Use a Bearer authorization token. Usually generated by Github Apps, e.g. GitHub Actions GITHUB_TOKEN environment variable
|
2253
2254
|
- branch: The branch that the file should be committed on (default: master)
|
2254
2255
|
- path: The relative path to your file from project root e.g. assets/my_app.xcarchive
|
2255
2256
|
- message: The commit message. Defaults to the file name
|
@@ -2264,7 +2265,8 @@ public func cocoapods(repoUpdate: Bool = false,
|
|
2264
2265
|
*/
|
2265
2266
|
@discardableResult public func commitGithubFile(repositoryName: String,
|
2266
2267
|
serverUrl: String = "https://api.github.com",
|
2267
|
-
apiToken: String,
|
2268
|
+
apiToken: String? = nil,
|
2269
|
+
apiBearer: String? = nil,
|
2268
2270
|
branch: String = "master",
|
2269
2271
|
path: String,
|
2270
2272
|
message: String? = nil,
|
@@ -2273,6 +2275,7 @@ public func cocoapods(repoUpdate: Bool = false,
|
|
2273
2275
|
let command = RubyCommand(commandID: "", methodName: "commit_github_file", className: nil, args: [RubyCommand.Argument(name: "repository_name", value: repositoryName),
|
2274
2276
|
RubyCommand.Argument(name: "server_url", value: serverUrl),
|
2275
2277
|
RubyCommand.Argument(name: "api_token", value: apiToken),
|
2278
|
+
RubyCommand.Argument(name: "api_bearer", value: apiBearer),
|
2276
2279
|
RubyCommand.Argument(name: "branch", value: branch),
|
2277
2280
|
RubyCommand.Argument(name: "path", value: path),
|
2278
2281
|
RubyCommand.Argument(name: "message", value: message),
|
@@ -2777,7 +2780,7 @@ public func deleteKeychain(name: String? = nil,
|
|
2777
2780
|
*/
|
2778
2781
|
public func deliver(apiKeyPath: Any? = deliverfile.apiKeyPath,
|
2779
2782
|
apiKey: [String: Any]? = deliverfile.apiKey,
|
2780
|
-
username: Any = deliverfile.username,
|
2783
|
+
username: Any? = deliverfile.username,
|
2781
2784
|
appIdentifier: Any? = deliverfile.appIdentifier,
|
2782
2785
|
appVersion: Any? = deliverfile.appVersion,
|
2783
2786
|
ipa: Any? = deliverfile.ipa,
|
@@ -3501,7 +3504,7 @@ public func getCertificates(development: Bool = false,
|
|
3501
3504
|
generateAppleCerts: Bool = true,
|
3502
3505
|
apiKeyPath: String? = nil,
|
3503
3506
|
apiKey: [String: Any]? = nil,
|
3504
|
-
username: String,
|
3507
|
+
username: String? = nil,
|
3505
3508
|
teamId: String? = nil,
|
3506
3509
|
teamName: String? = nil,
|
3507
3510
|
filename: String? = nil,
|
@@ -3537,6 +3540,7 @@ public func getCertificates(development: Bool = false,
|
|
3537
3540
|
- serverUrl: The server url. e.g. 'https://your.github.server/api/v3' (Default: 'https://api.github.com')
|
3538
3541
|
- version: The version tag of the release to check
|
3539
3542
|
- apiToken: GitHub Personal Token (required for private repositories)
|
3543
|
+
- apiBearer: Use a Bearer authorization token. Usually generated by Github Apps, e.g. GitHub Actions GITHUB_TOKEN environment variable
|
3540
3544
|
|
3541
3545
|
This will return all information about a release. For example:|
|
3542
3546
|
|
|
@@ -3584,12 +3588,14 @@ public func getCertificates(development: Bool = false,
|
|
3584
3588
|
public func getGithubRelease(url: String,
|
3585
3589
|
serverUrl: String = "https://api.github.com",
|
3586
3590
|
version: String,
|
3587
|
-
apiToken: String? = nil
|
3591
|
+
apiToken: String? = nil,
|
3592
|
+
apiBearer: String? = nil)
|
3588
3593
|
{
|
3589
3594
|
let command = RubyCommand(commandID: "", methodName: "get_github_release", className: nil, args: [RubyCommand.Argument(name: "url", value: url),
|
3590
3595
|
RubyCommand.Argument(name: "server_url", value: serverUrl),
|
3591
3596
|
RubyCommand.Argument(name: "version", value: version),
|
3592
|
-
RubyCommand.Argument(name: "api_token", value: apiToken)
|
3597
|
+
RubyCommand.Argument(name: "api_token", value: apiToken),
|
3598
|
+
RubyCommand.Argument(name: "api_bearer", value: apiBearer)])
|
3593
3599
|
_ = runner.executeCommand(command)
|
3594
3600
|
}
|
3595
3601
|
|
@@ -3683,29 +3689,29 @@ public func getManagedPlayStorePublishingRights(jsonKey: String? = nil,
|
|
3683
3689
|
|
3684
3690
|
**Note**: It is recommended to use [match](https://docs.fastlane.tools/actions/match/) according to the [codesigning.guide](https://codesigning.guide) for generating and maintaining your provisioning profiles. Use _sigh_ directly only if you want full control over what's going on and know more about codesigning.
|
3685
3691
|
*/
|
3686
|
-
public func getProvisioningProfile(adhoc: Bool = false,
|
3687
|
-
|
3688
|
-
|
3689
|
-
|
3690
|
-
|
3691
|
-
|
3692
|
-
|
3693
|
-
|
3694
|
-
|
3695
|
-
|
3696
|
-
|
3697
|
-
|
3698
|
-
|
3699
|
-
|
3700
|
-
|
3701
|
-
|
3702
|
-
|
3703
|
-
|
3704
|
-
|
3705
|
-
|
3706
|
-
|
3707
|
-
|
3708
|
-
|
3692
|
+
@discardableResult public func getProvisioningProfile(adhoc: Bool = false,
|
3693
|
+
developerId: Bool = false,
|
3694
|
+
development: Bool = false,
|
3695
|
+
skipInstall: Bool = false,
|
3696
|
+
force: Bool = false,
|
3697
|
+
appIdentifier: String,
|
3698
|
+
apiKeyPath: String? = nil,
|
3699
|
+
apiKey: [String: Any]? = nil,
|
3700
|
+
username: String? = nil,
|
3701
|
+
teamId: String? = nil,
|
3702
|
+
teamName: String? = nil,
|
3703
|
+
provisioningName: String? = nil,
|
3704
|
+
ignoreProfilesWithDifferentName: Bool = false,
|
3705
|
+
outputPath: String = ".",
|
3706
|
+
certId: String? = nil,
|
3707
|
+
certOwnerName: String? = nil,
|
3708
|
+
filename: String? = nil,
|
3709
|
+
skipFetchProfiles: Bool = false,
|
3710
|
+
skipCertificateVerification: Bool = false,
|
3711
|
+
platform: Any = "ios",
|
3712
|
+
readonly: Bool = false,
|
3713
|
+
templateName: String? = nil,
|
3714
|
+
failOnNameTaken: Bool = false) -> String
|
3709
3715
|
{
|
3710
3716
|
let command = RubyCommand(commandID: "", methodName: "get_provisioning_profile", className: nil, args: [RubyCommand.Argument(name: "adhoc", value: adhoc),
|
3711
3717
|
RubyCommand.Argument(name: "developer_id", value: developerId),
|
@@ -3730,7 +3736,7 @@ public func getProvisioningProfile(adhoc: Bool = false,
|
|
3730
3736
|
RubyCommand.Argument(name: "readonly", value: readonly),
|
3731
3737
|
RubyCommand.Argument(name: "template_name", value: templateName),
|
3732
3738
|
RubyCommand.Argument(name: "fail_on_name_taken", value: failOnNameTaken)])
|
3733
|
-
|
3739
|
+
return runner.executeCommand(command)
|
3734
3740
|
}
|
3735
3741
|
|
3736
3742
|
/**
|
@@ -3800,7 +3806,7 @@ public func getPushCertificate(development: Bool = false,
|
|
3800
3806
|
Get the version number of your project
|
3801
3807
|
|
3802
3808
|
- parameters:
|
3803
|
-
- xcodeproj: Path to the
|
3809
|
+
- xcodeproj: Path to the Xcode project to read version number from, or its containing directory, optional. If ommitted, 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
|
3804
3810
|
- target: Target name, optional. Will be needed if you have more than one non-test target to avoid being prompted to select one
|
3805
3811
|
- 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
|
3806
3812
|
|
@@ -3837,7 +3843,7 @@ public func gitAdd(path: Any? = nil,
|
|
3837
3843
|
/**
|
3838
3844
|
Returns the name of the current git branch, possibly as managed by CI ENV vars
|
3839
3845
|
|
3840
|
-
If no branch could be found, this action will return an empty string
|
3846
|
+
If no branch could be found, this action will return an empty string. This is a wrapper for the internal action Actions.git_branch
|
3841
3847
|
*/
|
3842
3848
|
@discardableResult public func gitBranch() -> String {
|
3843
3849
|
let command = RubyCommand(commandID: "", methodName: "git_branch", className: nil, args: [])
|
@@ -3905,14 +3911,14 @@ public func gitSubmoduleUpdate(recursive: Bool = false,
|
|
3905
3911
|
|
3906
3912
|
- returns: Boolean value whether the tag exists or not
|
3907
3913
|
*/
|
3908
|
-
public func gitTagExists(tag: String,
|
3909
|
-
|
3910
|
-
|
3914
|
+
@discardableResult public func gitTagExists(tag: String,
|
3915
|
+
remote: Bool = false,
|
3916
|
+
remoteName: String = "origin") -> Bool
|
3911
3917
|
{
|
3912
3918
|
let command = RubyCommand(commandID: "", methodName: "git_tag_exists", className: nil, args: [RubyCommand.Argument(name: "tag", value: tag),
|
3913
3919
|
RubyCommand.Argument(name: "remote", value: remote),
|
3914
3920
|
RubyCommand.Argument(name: "remote_name", value: remoteName)])
|
3915
|
-
|
3921
|
+
return parseBool(fromString: runner.executeCommand(command))
|
3916
3922
|
}
|
3917
3923
|
|
3918
3924
|
/**
|
@@ -4142,53 +4148,53 @@ public func gradle(task: String? = nil,
|
|
4142
4148
|
|
4143
4149
|
More information: https://fastlane.tools/gym
|
4144
4150
|
*/
|
4145
|
-
public func gym(workspace: Any? = gymfile.workspace,
|
4146
|
-
|
4147
|
-
|
4148
|
-
|
4149
|
-
|
4150
|
-
|
4151
|
-
|
4152
|
-
|
4153
|
-
|
4154
|
-
|
4155
|
-
|
4156
|
-
|
4157
|
-
|
4158
|
-
|
4159
|
-
|
4160
|
-
|
4161
|
-
|
4162
|
-
|
4163
|
-
|
4164
|
-
|
4165
|
-
|
4166
|
-
|
4167
|
-
|
4168
|
-
|
4169
|
-
|
4170
|
-
|
4171
|
-
|
4172
|
-
|
4173
|
-
|
4174
|
-
|
4175
|
-
|
4176
|
-
|
4177
|
-
|
4178
|
-
|
4179
|
-
|
4180
|
-
|
4181
|
-
|
4182
|
-
|
4183
|
-
|
4184
|
-
|
4185
|
-
|
4186
|
-
|
4187
|
-
|
4188
|
-
|
4189
|
-
|
4190
|
-
|
4191
|
-
|
4151
|
+
@discardableResult public func gym(workspace: Any? = gymfile.workspace,
|
4152
|
+
project: Any? = gymfile.project,
|
4153
|
+
scheme: Any? = gymfile.scheme,
|
4154
|
+
clean: Bool = gymfile.clean,
|
4155
|
+
outputDirectory: Any = gymfile.outputDirectory,
|
4156
|
+
outputName: Any? = gymfile.outputName,
|
4157
|
+
configuration: Any? = gymfile.configuration,
|
4158
|
+
silent: Bool = gymfile.silent,
|
4159
|
+
codesigningIdentity: Any? = gymfile.codesigningIdentity,
|
4160
|
+
skipPackageIpa: Bool = gymfile.skipPackageIpa,
|
4161
|
+
skipPackagePkg: Bool = gymfile.skipPackagePkg,
|
4162
|
+
includeSymbols: Bool? = gymfile.includeSymbols,
|
4163
|
+
includeBitcode: Bool? = gymfile.includeBitcode,
|
4164
|
+
exportMethod: Any? = gymfile.exportMethod,
|
4165
|
+
exportOptions: [String: Any]? = gymfile.exportOptions,
|
4166
|
+
exportXcargs: Any? = gymfile.exportXcargs,
|
4167
|
+
skipBuildArchive: Bool? = gymfile.skipBuildArchive,
|
4168
|
+
skipArchive: Bool? = gymfile.skipArchive,
|
4169
|
+
skipCodesigning: Bool? = gymfile.skipCodesigning,
|
4170
|
+
catalystPlatform: Any? = gymfile.catalystPlatform,
|
4171
|
+
installerCertName: Any? = gymfile.installerCertName,
|
4172
|
+
buildPath: Any? = gymfile.buildPath,
|
4173
|
+
archivePath: Any? = gymfile.archivePath,
|
4174
|
+
derivedDataPath: Any? = gymfile.derivedDataPath,
|
4175
|
+
resultBundle: Bool = gymfile.resultBundle,
|
4176
|
+
resultBundlePath: Any? = gymfile.resultBundlePath,
|
4177
|
+
buildlogPath: Any = gymfile.buildlogPath,
|
4178
|
+
sdk: Any? = gymfile.sdk,
|
4179
|
+
toolchain: Any? = gymfile.toolchain,
|
4180
|
+
destination: Any? = gymfile.destination,
|
4181
|
+
exportTeamId: Any? = gymfile.exportTeamId,
|
4182
|
+
xcargs: Any? = gymfile.xcargs,
|
4183
|
+
xcconfig: Any? = gymfile.xcconfig,
|
4184
|
+
suppressXcodeOutput: Bool? = gymfile.suppressXcodeOutput,
|
4185
|
+
disableXcpretty: Bool? = gymfile.disableXcpretty,
|
4186
|
+
xcprettyTestFormat: Bool? = gymfile.xcprettyTestFormat,
|
4187
|
+
xcprettyFormatter: Any? = gymfile.xcprettyFormatter,
|
4188
|
+
xcprettyReportJunit: Any? = gymfile.xcprettyReportJunit,
|
4189
|
+
xcprettyReportHtml: Any? = gymfile.xcprettyReportHtml,
|
4190
|
+
xcprettyReportJson: Any? = gymfile.xcprettyReportJson,
|
4191
|
+
analyzeBuildTime: Bool? = gymfile.analyzeBuildTime,
|
4192
|
+
xcprettyUtf: Bool? = gymfile.xcprettyUtf,
|
4193
|
+
skipProfileDetection: Bool = gymfile.skipProfileDetection,
|
4194
|
+
clonedSourcePackagesPath: Any? = gymfile.clonedSourcePackagesPath,
|
4195
|
+
skipPackageDependenciesResolution: Bool = gymfile.skipPackageDependenciesResolution,
|
4196
|
+
disablePackageAutomaticUpdates: Bool = gymfile.disablePackageAutomaticUpdates,
|
4197
|
+
useSystemScm: Bool = gymfile.useSystemScm) -> String
|
4192
4198
|
{
|
4193
4199
|
let command = RubyCommand(commandID: "", methodName: "gym", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
|
4194
4200
|
RubyCommand.Argument(name: "project", value: project),
|
@@ -4237,7 +4243,7 @@ public func gym(workspace: Any? = gymfile.workspace,
|
|
4237
4243
|
RubyCommand.Argument(name: "skip_package_dependencies_resolution", value: skipPackageDependenciesResolution),
|
4238
4244
|
RubyCommand.Argument(name: "disable_package_automatic_updates", value: disablePackageAutomaticUpdates),
|
4239
4245
|
RubyCommand.Argument(name: "use_system_scm", value: useSystemScm)])
|
4240
|
-
|
4246
|
+
return runner.executeCommand(command)
|
4241
4247
|
}
|
4242
4248
|
|
4243
4249
|
/**
|
@@ -4511,14 +4517,17 @@ public func importCertificate(certificatePath: String,
|
|
4511
4517
|
|
4512
4518
|
- parameters:
|
4513
4519
|
- buildNumber: Change to a specific version. When you provide this parameter, Apple Generic Versioning does not have to be enabled
|
4520
|
+
- skipInfoPlist: Don't update Info.plist files when updating the build version
|
4514
4521
|
- xcodeproj: optional, you must specify the path to your main Xcode project if it is not in the project root directory
|
4515
4522
|
|
4516
4523
|
- returns: The new build number
|
4517
4524
|
*/
|
4518
4525
|
@discardableResult public func incrementBuildNumber(buildNumber: Any? = nil,
|
4526
|
+
skipInfoPlist: Bool = false,
|
4519
4527
|
xcodeproj: String? = nil) -> String
|
4520
4528
|
{
|
4521
4529
|
let command = RubyCommand(commandID: "", methodName: "increment_build_number", className: nil, args: [RubyCommand.Argument(name: "build_number", value: buildNumber),
|
4530
|
+
RubyCommand.Argument(name: "skip_info_plist", value: skipInfoPlist),
|
4522
4531
|
RubyCommand.Argument(name: "xcodeproj", value: xcodeproj)])
|
4523
4532
|
return runner.executeCommand(command)
|
4524
4533
|
}
|
@@ -4578,9 +4587,9 @@ public func installOnDevice(extra: String? = nil,
|
|
4578
4587
|
|
4579
4588
|
Install provisioning profile from path for current user
|
4580
4589
|
*/
|
4581
|
-
public func installProvisioningProfile(path: String) {
|
4590
|
+
@discardableResult public func installProvisioningProfile(path: String) -> String {
|
4582
4591
|
let command = RubyCommand(commandID: "", methodName: "install_provisioning_profile", className: nil, args: [RubyCommand.Argument(name: "path", value: path)])
|
4583
|
-
|
4592
|
+
return runner.executeCommand(command)
|
4584
4593
|
}
|
4585
4594
|
|
4586
4595
|
/**
|
@@ -4696,30 +4705,36 @@ public func jazzy(config: String? = nil,
|
|
4696
4705
|
}
|
4697
4706
|
|
4698
4707
|
/**
|
4699
|
-
|
4708
|
+
Leave a comment on a Jira ticket
|
4700
4709
|
|
4701
|
-
|
4702
|
-
|
4703
|
-
|
4704
|
-
|
4705
|
-
|
4706
|
-
|
4707
|
-
|
4708
|
-
|
4709
|
-
|
4710
|
-
|
4711
|
-
|
4712
|
-
|
4713
|
-
|
4714
|
-
|
4710
|
+
- parameters:
|
4711
|
+
- url: URL for Jira instance
|
4712
|
+
- contextPath: Appends to the url (ex: "/jira")
|
4713
|
+
- username: Username for Jira instance
|
4714
|
+
- password: Password or API token for Jira
|
4715
|
+
- ticketId: Ticket ID for Jira, i.e. IOS-123
|
4716
|
+
- commentText: Text to add to the ticket as a comment
|
4717
|
+
- failOnError: Should an error adding the Jira comment cause a failure?
|
4718
|
+
|
4719
|
+
- returns: A hash containing all relevant information of the Jira comment
|
4720
|
+
Access Jira comment 'id', 'author', 'body', and more
|
4721
|
+
*/
|
4722
|
+
@discardableResult public func jira(url: String,
|
4723
|
+
contextPath: String = "",
|
4724
|
+
username: String,
|
4725
|
+
password: String,
|
4726
|
+
ticketId: String,
|
4727
|
+
commentText: String,
|
4728
|
+
failOnError: Bool = true) -> [String: Any]
|
4715
4729
|
{
|
4716
4730
|
let command = RubyCommand(commandID: "", methodName: "jira", className: nil, args: [RubyCommand.Argument(name: "url", value: url),
|
4717
4731
|
RubyCommand.Argument(name: "context_path", value: contextPath),
|
4718
4732
|
RubyCommand.Argument(name: "username", value: username),
|
4719
4733
|
RubyCommand.Argument(name: "password", value: password),
|
4720
4734
|
RubyCommand.Argument(name: "ticket_id", value: ticketId),
|
4721
|
-
RubyCommand.Argument(name: "comment_text", value: commentText)
|
4722
|
-
|
4735
|
+
RubyCommand.Argument(name: "comment_text", value: commentText),
|
4736
|
+
RubyCommand.Argument(name: "fail_on_error", value: failOnError)])
|
4737
|
+
return parseDictionary(fromString: runner.executeCommand(command))
|
4723
4738
|
}
|
4724
4739
|
|
4725
4740
|
/**
|
@@ -4780,7 +4795,7 @@ public func jira(url: String,
|
|
4780
4795
|
apiKey: [String: Any]? = nil,
|
4781
4796
|
live: Bool = false,
|
4782
4797
|
appIdentifier: String,
|
4783
|
-
username: String,
|
4798
|
+
username: String? = nil,
|
4784
4799
|
version: String? = nil,
|
4785
4800
|
platform: String = "ios",
|
4786
4801
|
initialBuildNumber: Int = 1,
|
@@ -5038,6 +5053,153 @@ public func match(type: Any = matchfile.type,
|
|
5038
5053
|
_ = runner.executeCommand(command)
|
5039
5054
|
}
|
5040
5055
|
|
5056
|
+
/**
|
5057
|
+
Easily nuke your certificate and provisioning profiles (via _match_)
|
5058
|
+
|
5059
|
+
- parameters:
|
5060
|
+
- type: Define the profile type, can be appstore, adhoc, development, enterprise, developer_id, mac_installer_distribution
|
5061
|
+
- additionalCertTypes: Create additional cert types needed for macOS installers (valid values: mac_installer_distribution, developer_id_installer)
|
5062
|
+
- readonly: Only fetch existing certificates and profiles, don't generate new ones
|
5063
|
+
- generateAppleCerts: Create a certificate type for Xcode 11 and later (Apple Development or Apple Distribution)
|
5064
|
+
- skipProvisioningProfiles: Skip syncing provisioning profiles
|
5065
|
+
- appIdentifier: The bundle identifier(s) of your app (comma-separated string or array of strings)
|
5066
|
+
- 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)
|
5067
|
+
- 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)
|
5068
|
+
- username: Your Apple ID Username
|
5069
|
+
- teamId: The ID of your Developer Portal team if you're in multiple teams
|
5070
|
+
- teamName: The name of your Developer Portal team if you're in multiple teams
|
5071
|
+
- storageMode: Define where you want to store your certificates
|
5072
|
+
- gitUrl: URL to the git repo containing all the certificates
|
5073
|
+
- gitBranch: Specific git branch to use
|
5074
|
+
- gitFullName: git user full name to commit
|
5075
|
+
- gitUserEmail: git user email to commit
|
5076
|
+
- shallowClone: Make a shallow clone of the repository (truncate the history to 1 revision)
|
5077
|
+
- cloneBranchDirectly: Clone just the branch specified, instead of the whole repo. This requires that the branch already exists. Otherwise the command will fail
|
5078
|
+
- gitBasicAuthorization: Use a basic authorization header to access the git repo (e.g.: access via HTTPS, GitHub Actions, etc), usually a string in Base64
|
5079
|
+
- gitBearerAuthorization: Use a bearer authorization header to access the git repo (e.g.: access to an Azure DevOps repository), usually a string in Base64
|
5080
|
+
- gitPrivateKey: Use a private key to access the git repo (e.g.: access to GitHub repository via Deploy keys), usually a id_rsa named file or the contents hereof
|
5081
|
+
- googleCloudBucketName: Name of the Google Cloud Storage bucket to use
|
5082
|
+
- googleCloudKeysFile: Path to the gc_keys.json file
|
5083
|
+
- googleCloudProjectId: ID of the Google Cloud project to use for authentication
|
5084
|
+
- s3Region: Name of the S3 region
|
5085
|
+
- s3AccessKey: S3 access key
|
5086
|
+
- s3SecretAccessKey: S3 secret access key
|
5087
|
+
- s3Bucket: Name of the S3 bucket
|
5088
|
+
- s3ObjectPrefix: Prefix to be used on all objects uploaded to S3
|
5089
|
+
- keychainName: Keychain the items should be imported to
|
5090
|
+
- 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
|
5091
|
+
- force: Renew the provisioning profiles every time you run match
|
5092
|
+
- forceForNewDevices: Renew the provisioning profiles if the device count on the developer portal has changed. Ignored for profile type 'appstore'
|
5093
|
+
- skipConfirmation: Disables confirmation prompts during nuke, answering them with yes
|
5094
|
+
- skipDocs: Skip generation of a README.md for the created git repository
|
5095
|
+
- platform: Set the provisioning profile's platform to work with (i.e. ios, tvos, macos, catalyst)
|
5096
|
+
- 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
|
5097
|
+
- templateName: The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. "Apple Pay Pass Suppression Development")
|
5098
|
+
- profileName: A custom name for the provisioning profile. This will replace the default provisioning profile name if specified
|
5099
|
+
- failOnNameTaken: Should the command fail if it was about to create a duplicate of an existing provisioning profile. It can happen due to issues on Apple Developer Portal, when profile to be recreated was not properly deleted first
|
5100
|
+
- skipCertificateMatching: Set to true if there is no access to Apple developer portal but there are certificates, keys and profiles provided. Only works with match import action
|
5101
|
+
- outputPath: Path in which to export certificates, key and profile
|
5102
|
+
- skipSetPartitionList: Skips setting the partition list (which can sometimes take a long time). Setting the partition list is usually needed to prevent Xcode from prompting to allow a cert to be used for signing
|
5103
|
+
- verbose: Print out extra information and all commands
|
5104
|
+
|
5105
|
+
Use the match_nuke action to revoke your certificates and provisioning profiles.
|
5106
|
+
Don't worry, apps that are already available in the App Store / TestFlight will still work.
|
5107
|
+
Builds distributed via Ad Hoc or Enterprise will be disabled after nuking your account, so you'll have to re-upload a new build.
|
5108
|
+
After clearing your account you'll start from a clean state, and you can run match to generate your certificates and profiles again.
|
5109
|
+
More information: https://docs.fastlane.tools/actions/match/
|
5110
|
+
*/
|
5111
|
+
public func matchNuke(type: String = "development",
|
5112
|
+
additionalCertTypes: [String]? = nil,
|
5113
|
+
readonly: Bool = false,
|
5114
|
+
generateAppleCerts: Bool = true,
|
5115
|
+
skipProvisioningProfiles: Bool = false,
|
5116
|
+
appIdentifier: [String],
|
5117
|
+
apiKeyPath: String? = nil,
|
5118
|
+
apiKey: [String: Any]? = nil,
|
5119
|
+
username: String? = nil,
|
5120
|
+
teamId: String? = nil,
|
5121
|
+
teamName: String? = nil,
|
5122
|
+
storageMode: String = "git",
|
5123
|
+
gitUrl: String,
|
5124
|
+
gitBranch: String = "master",
|
5125
|
+
gitFullName: String? = nil,
|
5126
|
+
gitUserEmail: String? = nil,
|
5127
|
+
shallowClone: Bool = false,
|
5128
|
+
cloneBranchDirectly: Bool = false,
|
5129
|
+
gitBasicAuthorization: String? = nil,
|
5130
|
+
gitBearerAuthorization: String? = nil,
|
5131
|
+
gitPrivateKey: String? = nil,
|
5132
|
+
googleCloudBucketName: String? = nil,
|
5133
|
+
googleCloudKeysFile: String? = nil,
|
5134
|
+
googleCloudProjectId: String? = nil,
|
5135
|
+
s3Region: String? = nil,
|
5136
|
+
s3AccessKey: String? = nil,
|
5137
|
+
s3SecretAccessKey: String? = nil,
|
5138
|
+
s3Bucket: String? = nil,
|
5139
|
+
s3ObjectPrefix: String? = nil,
|
5140
|
+
keychainName: String = "login.keychain",
|
5141
|
+
keychainPassword: String? = nil,
|
5142
|
+
force: Bool = false,
|
5143
|
+
forceForNewDevices: Bool = false,
|
5144
|
+
skipConfirmation: Bool = false,
|
5145
|
+
skipDocs: Bool = false,
|
5146
|
+
platform: String = "ios",
|
5147
|
+
deriveCatalystAppIdentifier: Bool = false,
|
5148
|
+
templateName: String? = nil,
|
5149
|
+
profileName: String? = nil,
|
5150
|
+
failOnNameTaken: Bool = false,
|
5151
|
+
skipCertificateMatching: Bool = false,
|
5152
|
+
outputPath: String? = nil,
|
5153
|
+
skipSetPartitionList: Bool = false,
|
5154
|
+
verbose: Bool = false)
|
5155
|
+
{
|
5156
|
+
let command = RubyCommand(commandID: "", methodName: "match_nuke", className: nil, args: [RubyCommand.Argument(name: "type", value: type),
|
5157
|
+
RubyCommand.Argument(name: "additional_cert_types", value: additionalCertTypes),
|
5158
|
+
RubyCommand.Argument(name: "readonly", value: readonly),
|
5159
|
+
RubyCommand.Argument(name: "generate_apple_certs", value: generateAppleCerts),
|
5160
|
+
RubyCommand.Argument(name: "skip_provisioning_profiles", value: skipProvisioningProfiles),
|
5161
|
+
RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
|
5162
|
+
RubyCommand.Argument(name: "api_key_path", value: apiKeyPath),
|
5163
|
+
RubyCommand.Argument(name: "api_key", value: apiKey),
|
5164
|
+
RubyCommand.Argument(name: "username", value: username),
|
5165
|
+
RubyCommand.Argument(name: "team_id", value: teamId),
|
5166
|
+
RubyCommand.Argument(name: "team_name", value: teamName),
|
5167
|
+
RubyCommand.Argument(name: "storage_mode", value: storageMode),
|
5168
|
+
RubyCommand.Argument(name: "git_url", value: gitUrl),
|
5169
|
+
RubyCommand.Argument(name: "git_branch", value: gitBranch),
|
5170
|
+
RubyCommand.Argument(name: "git_full_name", value: gitFullName),
|
5171
|
+
RubyCommand.Argument(name: "git_user_email", value: gitUserEmail),
|
5172
|
+
RubyCommand.Argument(name: "shallow_clone", value: shallowClone),
|
5173
|
+
RubyCommand.Argument(name: "clone_branch_directly", value: cloneBranchDirectly),
|
5174
|
+
RubyCommand.Argument(name: "git_basic_authorization", value: gitBasicAuthorization),
|
5175
|
+
RubyCommand.Argument(name: "git_bearer_authorization", value: gitBearerAuthorization),
|
5176
|
+
RubyCommand.Argument(name: "git_private_key", value: gitPrivateKey),
|
5177
|
+
RubyCommand.Argument(name: "google_cloud_bucket_name", value: googleCloudBucketName),
|
5178
|
+
RubyCommand.Argument(name: "google_cloud_keys_file", value: googleCloudKeysFile),
|
5179
|
+
RubyCommand.Argument(name: "google_cloud_project_id", value: googleCloudProjectId),
|
5180
|
+
RubyCommand.Argument(name: "s3_region", value: s3Region),
|
5181
|
+
RubyCommand.Argument(name: "s3_access_key", value: s3AccessKey),
|
5182
|
+
RubyCommand.Argument(name: "s3_secret_access_key", value: s3SecretAccessKey),
|
5183
|
+
RubyCommand.Argument(name: "s3_bucket", value: s3Bucket),
|
5184
|
+
RubyCommand.Argument(name: "s3_object_prefix", value: s3ObjectPrefix),
|
5185
|
+
RubyCommand.Argument(name: "keychain_name", value: keychainName),
|
5186
|
+
RubyCommand.Argument(name: "keychain_password", value: keychainPassword),
|
5187
|
+
RubyCommand.Argument(name: "force", value: force),
|
5188
|
+
RubyCommand.Argument(name: "force_for_new_devices", value: forceForNewDevices),
|
5189
|
+
RubyCommand.Argument(name: "skip_confirmation", value: skipConfirmation),
|
5190
|
+
RubyCommand.Argument(name: "skip_docs", value: skipDocs),
|
5191
|
+
RubyCommand.Argument(name: "platform", value: platform),
|
5192
|
+
RubyCommand.Argument(name: "derive_catalyst_app_identifier", value: deriveCatalystAppIdentifier),
|
5193
|
+
RubyCommand.Argument(name: "template_name", value: templateName),
|
5194
|
+
RubyCommand.Argument(name: "profile_name", value: profileName),
|
5195
|
+
RubyCommand.Argument(name: "fail_on_name_taken", value: failOnNameTaken),
|
5196
|
+
RubyCommand.Argument(name: "skip_certificate_matching", value: skipCertificateMatching),
|
5197
|
+
RubyCommand.Argument(name: "output_path", value: outputPath),
|
5198
|
+
RubyCommand.Argument(name: "skip_set_partition_list", value: skipSetPartitionList),
|
5199
|
+
RubyCommand.Argument(name: "verbose", value: verbose)])
|
5200
|
+
_ = runner.executeCommand(command)
|
5201
|
+
}
|
5202
|
+
|
5041
5203
|
/**
|
5042
5204
|
Verifies the minimum fastlane version required
|
5043
5205
|
|
@@ -5146,14 +5308,16 @@ public func nexusUpload(file: String,
|
|
5146
5308
|
- ascProvider: Provider short name for accounts associated with multiple providers
|
5147
5309
|
- printLog: Whether to print notarization log file, listing issues on failure and warnings on success
|
5148
5310
|
- verbose: Whether to log requests
|
5311
|
+
- apiKeyPath: Path to AppStore Connect API key
|
5149
5312
|
*/
|
5150
5313
|
public func notarize(package: String,
|
5151
5314
|
tryEarlyStapling: Bool = false,
|
5152
5315
|
bundleId: String? = nil,
|
5153
|
-
username: String,
|
5316
|
+
username: String? = nil,
|
5154
5317
|
ascProvider: String? = nil,
|
5155
5318
|
printLog: Bool = false,
|
5156
|
-
verbose: Bool = false
|
5319
|
+
verbose: Bool = false,
|
5320
|
+
apiKeyPath: String? = nil)
|
5157
5321
|
{
|
5158
5322
|
let command = RubyCommand(commandID: "", methodName: "notarize", className: nil, args: [RubyCommand.Argument(name: "package", value: package),
|
5159
5323
|
RubyCommand.Argument(name: "try_early_stapling", value: tryEarlyStapling),
|
@@ -5161,7 +5325,8 @@ public func notarize(package: String,
|
|
5161
5325
|
RubyCommand.Argument(name: "username", value: username),
|
5162
5326
|
RubyCommand.Argument(name: "asc_provider", value: ascProvider),
|
5163
5327
|
RubyCommand.Argument(name: "print_log", value: printLog),
|
5164
|
-
RubyCommand.Argument(name: "verbose", value: verbose)
|
5328
|
+
RubyCommand.Argument(name: "verbose", value: verbose),
|
5329
|
+
RubyCommand.Argument(name: "api_key_path", value: apiKeyPath)])
|
5165
5330
|
_ = runner.executeCommand(command)
|
5166
5331
|
}
|
5167
5332
|
|
@@ -5438,7 +5603,7 @@ public func pem(development: Bool = false,
|
|
5438
5603
|
- distributeOnly: Distribute a previously uploaded build (equivalent to the `fastlane pilot distribute` command)
|
5439
5604
|
- usesNonExemptEncryption: Provide the 'Uses Non-Exempt Encryption' for export compliance. This is used if there is 'ITSAppUsesNonExemptEncryption' is not set in the Info.plist
|
5440
5605
|
- distributeExternal: Should the build be distributed to external testers?
|
5441
|
-
- notifyExternalTesters: Should notify external testers?
|
5606
|
+
- notifyExternalTesters: Should notify external testers? (Not setting a value will use App Store Connect's default which is to notify)
|
5442
5607
|
- appVersion: The version number of the application build to distribute. If the version number is not specified, then the most recent build uploaded to TestFlight will be distributed. If specified, the most recent build for the version number will be distributed
|
5443
5608
|
- buildNumber: The build number of the application build to distribute. If the build number is not specified, the most recent build is distributed
|
5444
5609
|
- expirePreviousBuilds: Should expire previous builds?
|
@@ -5460,7 +5625,7 @@ public func pem(development: Bool = false,
|
|
5460
5625
|
*/
|
5461
5626
|
public func pilot(apiKeyPath: String? = nil,
|
5462
5627
|
apiKey: [String: Any]? = nil,
|
5463
|
-
username: String,
|
5628
|
+
username: String? = nil,
|
5464
5629
|
appIdentifier: String? = nil,
|
5465
5630
|
appPlatform: String = "ios",
|
5466
5631
|
appleId: String? = nil,
|
@@ -5478,7 +5643,7 @@ public func pilot(apiKeyPath: String? = nil,
|
|
5478
5643
|
distributeOnly: Bool = false,
|
5479
5644
|
usesNonExemptEncryption: Bool = false,
|
5480
5645
|
distributeExternal: Bool = false,
|
5481
|
-
notifyExternalTesters:
|
5646
|
+
notifyExternalTesters: Any? = nil,
|
5482
5647
|
appVersion: String? = nil,
|
5483
5648
|
buildNumber: String? = nil,
|
5484
5649
|
expirePreviousBuilds: Bool = false,
|
@@ -5725,17 +5890,17 @@ public func podioItem(clientId: String,
|
|
5725
5890
|
|
5726
5891
|
More information: https://fastlane.tools/precheck
|
5727
5892
|
*/
|
5728
|
-
public func precheck(apiKeyPath: Any? = precheckfile.apiKeyPath,
|
5729
|
-
|
5730
|
-
|
5731
|
-
|
5732
|
-
|
5733
|
-
|
5734
|
-
|
5735
|
-
|
5736
|
-
|
5737
|
-
|
5738
|
-
|
5893
|
+
@discardableResult public func precheck(apiKeyPath: Any? = precheckfile.apiKeyPath,
|
5894
|
+
apiKey: [String: Any]? = precheckfile.apiKey,
|
5895
|
+
appIdentifier: Any = precheckfile.appIdentifier,
|
5896
|
+
username: Any? = precheckfile.username,
|
5897
|
+
teamId: Any? = precheckfile.teamId,
|
5898
|
+
teamName: Any? = precheckfile.teamName,
|
5899
|
+
platform: Any = precheckfile.platform,
|
5900
|
+
defaultRuleLevel: Any = precheckfile.defaultRuleLevel,
|
5901
|
+
includeInAppPurchases: Bool = precheckfile.includeInAppPurchases,
|
5902
|
+
useLive: Bool = precheckfile.useLive,
|
5903
|
+
freeStuffInIap: Any? = precheckfile.freeStuffInIap) -> Bool
|
5739
5904
|
{
|
5740
5905
|
let command = RubyCommand(commandID: "", methodName: "precheck", className: nil, args: [RubyCommand.Argument(name: "api_key_path", value: apiKeyPath),
|
5741
5906
|
RubyCommand.Argument(name: "api_key", value: apiKey),
|
@@ -5748,7 +5913,7 @@ public func precheck(apiKeyPath: Any? = precheckfile.apiKeyPath,
|
|
5748
5913
|
RubyCommand.Argument(name: "include_in_app_purchases", value: includeInAppPurchases),
|
5749
5914
|
RubyCommand.Argument(name: "use_live", value: useLive),
|
5750
5915
|
RubyCommand.Argument(name: "free_stuff_in_iap", value: freeStuffInIap)])
|
5751
|
-
|
5916
|
+
return parseBool(fromString: runner.executeCommand(command))
|
5752
5917
|
}
|
5753
5918
|
|
5754
5919
|
/**
|
@@ -6255,6 +6420,7 @@ public func rubyVersion() {
|
|
6255
6420
|
- skipPackageDependenciesResolution: Skips resolution of Swift Package Manager dependencies
|
6256
6421
|
- disablePackageAutomaticUpdates: Prevents packages from automatically being resolved to versions other than those recorded in the `Package.resolved` file
|
6257
6422
|
- useSystemScm: Lets xcodebuild use system's scm configuration
|
6423
|
+
- numberOfRetries: The number of times a test can fail before scan should stop retrying
|
6258
6424
|
- failBuild: Should this step stop the build if the tests fail? Set this to false if you're using trainer
|
6259
6425
|
|
6260
6426
|
More information: https://docs.fastlane.tools/actions/scan/
|
@@ -6328,6 +6494,7 @@ public func runTests(workspace: String? = nil,
|
|
6328
6494
|
skipPackageDependenciesResolution: Bool = false,
|
6329
6495
|
disablePackageAutomaticUpdates: Bool = false,
|
6330
6496
|
useSystemScm: Bool = false,
|
6497
|
+
numberOfRetries: Int = 0,
|
6331
6498
|
failBuild: Bool = true)
|
6332
6499
|
{
|
6333
6500
|
let command = RubyCommand(commandID: "", methodName: "run_tests", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
|
@@ -6399,6 +6566,7 @@ public func runTests(workspace: String? = nil,
|
|
6399
6566
|
RubyCommand.Argument(name: "skip_package_dependencies_resolution", value: skipPackageDependenciesResolution),
|
6400
6567
|
RubyCommand.Argument(name: "disable_package_automatic_updates", value: disablePackageAutomaticUpdates),
|
6401
6568
|
RubyCommand.Argument(name: "use_system_scm", value: useSystemScm),
|
6569
|
+
RubyCommand.Argument(name: "number_of_retries", value: numberOfRetries),
|
6402
6570
|
RubyCommand.Argument(name: "fail_build", value: failBuild)])
|
6403
6571
|
_ = runner.executeCommand(command)
|
6404
6572
|
}
|
@@ -6552,6 +6720,7 @@ public func say(text: Any,
|
|
6552
6720
|
- skipPackageDependenciesResolution: Skips resolution of Swift Package Manager dependencies
|
6553
6721
|
- disablePackageAutomaticUpdates: Prevents packages from automatically being resolved to versions other than those recorded in the `Package.resolved` file
|
6554
6722
|
- useSystemScm: Lets xcodebuild use system's scm configuration
|
6723
|
+
- numberOfRetries: The number of times a test can fail before scan should stop retrying
|
6555
6724
|
- failBuild: Should this step stop the build if the tests fail? Set this to false if you're using trainer
|
6556
6725
|
|
6557
6726
|
More information: https://docs.fastlane.tools/actions/scan/
|
@@ -6625,6 +6794,7 @@ public func scan(workspace: Any? = scanfile.workspace,
|
|
6625
6794
|
skipPackageDependenciesResolution: Bool = scanfile.skipPackageDependenciesResolution,
|
6626
6795
|
disablePackageAutomaticUpdates: Bool = scanfile.disablePackageAutomaticUpdates,
|
6627
6796
|
useSystemScm: Bool = scanfile.useSystemScm,
|
6797
|
+
numberOfRetries: Int = scanfile.numberOfRetries,
|
6628
6798
|
failBuild: Bool = scanfile.failBuild)
|
6629
6799
|
{
|
6630
6800
|
let command = RubyCommand(commandID: "", methodName: "scan", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
|
@@ -6696,6 +6866,7 @@ public func scan(workspace: Any? = scanfile.workspace,
|
|
6696
6866
|
RubyCommand.Argument(name: "skip_package_dependencies_resolution", value: skipPackageDependenciesResolution),
|
6697
6867
|
RubyCommand.Argument(name: "disable_package_automatic_updates", value: disablePackageAutomaticUpdates),
|
6698
6868
|
RubyCommand.Argument(name: "use_system_scm", value: useSystemScm),
|
6869
|
+
RubyCommand.Argument(name: "number_of_retries", value: numberOfRetries),
|
6699
6870
|
RubyCommand.Argument(name: "fail_build", value: failBuild)])
|
6700
6871
|
_ = runner.executeCommand(command)
|
6701
6872
|
}
|
@@ -7118,29 +7289,29 @@ public func setupTravis(force: Bool = false) {
|
|
7118
7289
|
|
7119
7290
|
**Note**: It is recommended to use [match](https://docs.fastlane.tools/actions/match/) according to the [codesigning.guide](https://codesigning.guide) for generating and maintaining your provisioning profiles. Use _sigh_ directly only if you want full control over what's going on and know more about codesigning.
|
7120
7291
|
*/
|
7121
|
-
public func sigh(adhoc: Bool = false,
|
7122
|
-
|
7123
|
-
|
7124
|
-
|
7125
|
-
|
7126
|
-
|
7127
|
-
|
7128
|
-
|
7129
|
-
|
7130
|
-
|
7131
|
-
|
7132
|
-
|
7133
|
-
|
7134
|
-
|
7135
|
-
|
7136
|
-
|
7137
|
-
|
7138
|
-
|
7139
|
-
|
7140
|
-
|
7141
|
-
|
7142
|
-
|
7143
|
-
|
7292
|
+
@discardableResult public func sigh(adhoc: Bool = false,
|
7293
|
+
developerId: Bool = false,
|
7294
|
+
development: Bool = false,
|
7295
|
+
skipInstall: Bool = false,
|
7296
|
+
force: Bool = false,
|
7297
|
+
appIdentifier: String,
|
7298
|
+
apiKeyPath: String? = nil,
|
7299
|
+
apiKey: [String: Any]? = nil,
|
7300
|
+
username: String? = nil,
|
7301
|
+
teamId: String? = nil,
|
7302
|
+
teamName: String? = nil,
|
7303
|
+
provisioningName: String? = nil,
|
7304
|
+
ignoreProfilesWithDifferentName: Bool = false,
|
7305
|
+
outputPath: String = ".",
|
7306
|
+
certId: String? = nil,
|
7307
|
+
certOwnerName: String? = nil,
|
7308
|
+
filename: String? = nil,
|
7309
|
+
skipFetchProfiles: Bool = false,
|
7310
|
+
skipCertificateVerification: Bool = false,
|
7311
|
+
platform: Any = "ios",
|
7312
|
+
readonly: Bool = false,
|
7313
|
+
templateName: String? = nil,
|
7314
|
+
failOnNameTaken: Bool = false) -> String
|
7144
7315
|
{
|
7145
7316
|
let command = RubyCommand(commandID: "", methodName: "sigh", className: nil, args: [RubyCommand.Argument(name: "adhoc", value: adhoc),
|
7146
7317
|
RubyCommand.Argument(name: "developer_id", value: developerId),
|
@@ -7165,7 +7336,7 @@ public func sigh(adhoc: Bool = false,
|
|
7165
7336
|
RubyCommand.Argument(name: "readonly", value: readonly),
|
7166
7337
|
RubyCommand.Argument(name: "template_name", value: templateName),
|
7167
7338
|
RubyCommand.Argument(name: "fail_on_name_taken", value: failOnNameTaken)])
|
7168
|
-
|
7339
|
+
return runner.executeCommand(command)
|
7169
7340
|
}
|
7170
7341
|
|
7171
7342
|
/**
|
@@ -7584,6 +7755,57 @@ public func sonar(projectConfigurationPath: String? = nil,
|
|
7584
7755
|
_ = runner.executeCommand(command)
|
7585
7756
|
}
|
7586
7757
|
|
7758
|
+
/**
|
7759
|
+
Generate docs using SourceDocs
|
7760
|
+
|
7761
|
+
- parameters:
|
7762
|
+
- allModules: Generate documentation for all modules in a Swift package
|
7763
|
+
- spmModule: Generate documentation for Swift Package Manager module
|
7764
|
+
- moduleName: Generate documentation for a Swift module
|
7765
|
+
- linkBeginning: The text to begin links with
|
7766
|
+
- linkEnding: The text to end links with (default: .md)
|
7767
|
+
- outputFolder: Output directory to clean (default: Documentation/Reference)
|
7768
|
+
- minAcl: Access level to include in documentation [private, fileprivate, internal, public, open] (default: public)
|
7769
|
+
- moduleNamePath: Include the module name as part of the output folder path
|
7770
|
+
- clean: Delete output folder before generating documentation
|
7771
|
+
- collapsible: Put methods, properties and enum cases inside collapsible blocks
|
7772
|
+
- tableOfContents: Generate a table of contents with properties and methods for each type
|
7773
|
+
- reproducible: Generate documentation that is reproducible: only depends on the sources
|
7774
|
+
- scheme: Create documentation for specific scheme
|
7775
|
+
- sdkPlatform: Create documentation for specific sdk platform
|
7776
|
+
*/
|
7777
|
+
public func sourcedocs(allModules: Bool? = nil,
|
7778
|
+
spmModule: String? = nil,
|
7779
|
+
moduleName: String? = nil,
|
7780
|
+
linkBeginning: String? = nil,
|
7781
|
+
linkEnding: String? = nil,
|
7782
|
+
outputFolder: String,
|
7783
|
+
minAcl: String? = nil,
|
7784
|
+
moduleNamePath: Bool? = nil,
|
7785
|
+
clean: Bool? = nil,
|
7786
|
+
collapsible: Bool? = nil,
|
7787
|
+
tableOfContents: Bool? = nil,
|
7788
|
+
reproducible: Bool? = nil,
|
7789
|
+
scheme: String? = nil,
|
7790
|
+
sdkPlatform: String? = nil)
|
7791
|
+
{
|
7792
|
+
let command = RubyCommand(commandID: "", methodName: "sourcedocs", className: nil, args: [RubyCommand.Argument(name: "all_modules", value: allModules),
|
7793
|
+
RubyCommand.Argument(name: "spm_module", value: spmModule),
|
7794
|
+
RubyCommand.Argument(name: "module_name", value: moduleName),
|
7795
|
+
RubyCommand.Argument(name: "link_beginning", value: linkBeginning),
|
7796
|
+
RubyCommand.Argument(name: "link_ending", value: linkEnding),
|
7797
|
+
RubyCommand.Argument(name: "output_folder", value: outputFolder),
|
7798
|
+
RubyCommand.Argument(name: "min_acl", value: minAcl),
|
7799
|
+
RubyCommand.Argument(name: "module_name_path", value: moduleNamePath),
|
7800
|
+
RubyCommand.Argument(name: "clean", value: clean),
|
7801
|
+
RubyCommand.Argument(name: "collapsible", value: collapsible),
|
7802
|
+
RubyCommand.Argument(name: "table_of_contents", value: tableOfContents),
|
7803
|
+
RubyCommand.Argument(name: "reproducible", value: reproducible),
|
7804
|
+
RubyCommand.Argument(name: "scheme", value: scheme),
|
7805
|
+
RubyCommand.Argument(name: "sdk_platform", value: sdkPlatform)])
|
7806
|
+
_ = runner.executeCommand(command)
|
7807
|
+
}
|
7808
|
+
|
7587
7809
|
/**
|
7588
7810
|
Find, print, and copy Spaceship logs
|
7589
7811
|
|
@@ -7596,18 +7818,18 @@ public func sonar(projectConfigurationPath: String? = nil,
|
|
7596
7818
|
|
7597
7819
|
- returns: The array of Spaceship logs
|
7598
7820
|
*/
|
7599
|
-
public func spaceshipLogs(latest: Bool = true,
|
7600
|
-
|
7601
|
-
|
7602
|
-
|
7603
|
-
|
7821
|
+
@discardableResult public func spaceshipLogs(latest: Bool = true,
|
7822
|
+
printContents: Bool = false,
|
7823
|
+
printPaths: Bool = false,
|
7824
|
+
copyToPath: String? = nil,
|
7825
|
+
copyToClipboard: Bool = false) -> [String]
|
7604
7826
|
{
|
7605
7827
|
let command = RubyCommand(commandID: "", methodName: "spaceship_logs", className: nil, args: [RubyCommand.Argument(name: "latest", value: latest),
|
7606
7828
|
RubyCommand.Argument(name: "print_contents", value: printContents),
|
7607
7829
|
RubyCommand.Argument(name: "print_paths", value: printPaths),
|
7608
7830
|
RubyCommand.Argument(name: "copy_to_path", value: copyToPath),
|
7609
7831
|
RubyCommand.Argument(name: "copy_to_clipboard", value: copyToClipboard)])
|
7610
|
-
|
7832
|
+
return parseArray(fromString: runner.executeCommand(command))
|
7611
7833
|
}
|
7612
7834
|
|
7613
7835
|
/**
|
@@ -7751,8 +7973,8 @@ public func ssh(username: String,
|
|
7751
7973
|
- skipUploadScreenshots: Whether to skip uploading SCREENSHOTS
|
7752
7974
|
- trackPromoteTo: The track to promote to. The default available tracks are: production, beta, alpha, internal
|
7753
7975
|
- validateOnly: Only validate changes with Google Play rather than actually publish
|
7754
|
-
- mapping: Path to the mapping file to upload
|
7755
|
-
- mappingPaths: An array of paths to mapping files to upload
|
7976
|
+
- mapping: Path to the mapping file to upload (mapping.txt or native-debug-symbols.zip alike)
|
7977
|
+
- mappingPaths: An array of paths to mapping files to upload (mapping.txt or native-debug-symbols.zip alike)
|
7756
7978
|
- rootUrl: Root URL for the Google Play API. The provided URL will be used for API calls in place of https://www.googleapis.com/
|
7757
7979
|
- checkSupersededTracks: **DEPRECATED!** Google Play does this automatically now - Check the other tracks for superseded versions and disable them
|
7758
7980
|
- timeout: Timeout for read, open, and send (in seconds)
|
@@ -8127,7 +8349,7 @@ public func testfairy(apiKey: String,
|
|
8127
8349
|
- distributeOnly: Distribute a previously uploaded build (equivalent to the `fastlane pilot distribute` command)
|
8128
8350
|
- usesNonExemptEncryption: Provide the 'Uses Non-Exempt Encryption' for export compliance. This is used if there is 'ITSAppUsesNonExemptEncryption' is not set in the Info.plist
|
8129
8351
|
- distributeExternal: Should the build be distributed to external testers?
|
8130
|
-
- notifyExternalTesters: Should notify external testers?
|
8352
|
+
- notifyExternalTesters: Should notify external testers? (Not setting a value will use App Store Connect's default which is to notify)
|
8131
8353
|
- appVersion: The version number of the application build to distribute. If the version number is not specified, then the most recent build uploaded to TestFlight will be distributed. If specified, the most recent build for the version number will be distributed
|
8132
8354
|
- buildNumber: The build number of the application build to distribute. If the build number is not specified, the most recent build is distributed
|
8133
8355
|
- expirePreviousBuilds: Should expire previous builds?
|
@@ -8149,7 +8371,7 @@ public func testfairy(apiKey: String,
|
|
8149
8371
|
*/
|
8150
8372
|
public func testflight(apiKeyPath: String? = nil,
|
8151
8373
|
apiKey: [String: Any]? = nil,
|
8152
|
-
username: String,
|
8374
|
+
username: String? = nil,
|
8153
8375
|
appIdentifier: String? = nil,
|
8154
8376
|
appPlatform: String = "ios",
|
8155
8377
|
appleId: String? = nil,
|
@@ -8167,7 +8389,7 @@ public func testflight(apiKeyPath: String? = nil,
|
|
8167
8389
|
distributeOnly: Bool = false,
|
8168
8390
|
usesNonExemptEncryption: Bool = false,
|
8169
8391
|
distributeExternal: Bool = false,
|
8170
|
-
notifyExternalTesters:
|
8392
|
+
notifyExternalTesters: Any? = nil,
|
8171
8393
|
appVersion: String? = nil,
|
8172
8394
|
buildNumber: String? = nil,
|
8173
8395
|
expirePreviousBuilds: Bool = false,
|
@@ -8811,7 +9033,7 @@ public func uploadSymbolsToSentry(apiHost: String = "https://app.getsentry.com/a
|
|
8811
9033
|
*/
|
8812
9034
|
public func uploadToAppStore(apiKeyPath: String? = nil,
|
8813
9035
|
apiKey: [String: Any]? = nil,
|
8814
|
-
username: String,
|
9036
|
+
username: String? = nil,
|
8815
9037
|
appIdentifier: String? = nil,
|
8816
9038
|
appVersion: String? = nil,
|
8817
9039
|
ipa: String? = nil,
|
@@ -8964,8 +9186,8 @@ public func uploadToAppStore(apiKeyPath: String? = nil,
|
|
8964
9186
|
- skipUploadScreenshots: Whether to skip uploading SCREENSHOTS
|
8965
9187
|
- trackPromoteTo: The track to promote to. The default available tracks are: production, beta, alpha, internal
|
8966
9188
|
- validateOnly: Only validate changes with Google Play rather than actually publish
|
8967
|
-
- mapping: Path to the mapping file to upload
|
8968
|
-
- mappingPaths: An array of paths to mapping files to upload
|
9189
|
+
- mapping: Path to the mapping file to upload (mapping.txt or native-debug-symbols.zip alike)
|
9190
|
+
- mappingPaths: An array of paths to mapping files to upload (mapping.txt or native-debug-symbols.zip alike)
|
8969
9191
|
- rootUrl: Root URL for the Google Play API. The provided URL will be used for API calls in place of https://www.googleapis.com/
|
8970
9192
|
- checkSupersededTracks: **DEPRECATED!** Google Play does this automatically now - Check the other tracks for superseded versions and disable them
|
8971
9193
|
- timeout: Timeout for read, open, and send (in seconds)
|
@@ -9120,7 +9342,7 @@ public func uploadToPlayStoreInternalAppSharing(packageName: String,
|
|
9120
9342
|
- distributeOnly: Distribute a previously uploaded build (equivalent to the `fastlane pilot distribute` command)
|
9121
9343
|
- usesNonExemptEncryption: Provide the 'Uses Non-Exempt Encryption' for export compliance. This is used if there is 'ITSAppUsesNonExemptEncryption' is not set in the Info.plist
|
9122
9344
|
- distributeExternal: Should the build be distributed to external testers?
|
9123
|
-
- notifyExternalTesters: Should notify external testers?
|
9345
|
+
- notifyExternalTesters: Should notify external testers? (Not setting a value will use App Store Connect's default which is to notify)
|
9124
9346
|
- appVersion: The version number of the application build to distribute. If the version number is not specified, then the most recent build uploaded to TestFlight will be distributed. If specified, the most recent build for the version number will be distributed
|
9125
9347
|
- buildNumber: The build number of the application build to distribute. If the build number is not specified, the most recent build is distributed
|
9126
9348
|
- expirePreviousBuilds: Should expire previous builds?
|
@@ -9142,7 +9364,7 @@ public func uploadToPlayStoreInternalAppSharing(packageName: String,
|
|
9142
9364
|
*/
|
9143
9365
|
public func uploadToTestflight(apiKeyPath: String? = nil,
|
9144
9366
|
apiKey: [String: Any]? = nil,
|
9145
|
-
username: String,
|
9367
|
+
username: String? = nil,
|
9146
9368
|
appIdentifier: String? = nil,
|
9147
9369
|
appPlatform: String = "ios",
|
9148
9370
|
appleId: String? = nil,
|
@@ -9160,7 +9382,7 @@ public func uploadToTestflight(apiKeyPath: String? = nil,
|
|
9160
9382
|
distributeOnly: Bool = false,
|
9161
9383
|
usesNonExemptEncryption: Bool = false,
|
9162
9384
|
distributeExternal: Bool = false,
|
9163
|
-
notifyExternalTesters:
|
9385
|
+
notifyExternalTesters: Any? = nil,
|
9164
9386
|
appVersion: String? = nil,
|
9165
9387
|
buildNumber: String? = nil,
|
9166
9388
|
expirePreviousBuilds: Bool = false,
|
@@ -9503,7 +9725,7 @@ public func xcov(workspace: String? = nil,
|
|
9503
9725
|
htmlReport: Bool = true,
|
9504
9726
|
markdownReport: Bool = false,
|
9505
9727
|
jsonReport: Bool = false,
|
9506
|
-
minimumCoveragePercentage: Float = 0,
|
9728
|
+
minimumCoveragePercentage: Float = 0.0,
|
9507
9729
|
slackUrl: String? = nil,
|
9508
9730
|
slackChannel: String? = nil,
|
9509
9731
|
skipSlack: Bool = false,
|
@@ -9519,7 +9741,7 @@ public func xcov(workspace: String? = nil,
|
|
9519
9741
|
coverallsServiceJobId: String? = nil,
|
9520
9742
|
coverallsRepoToken: String? = nil,
|
9521
9743
|
xcconfig: String? = nil,
|
9522
|
-
ideFoundationPath: String = "/Applications/Xcode-12.
|
9744
|
+
ideFoundationPath: String = "/Applications/Xcode-12.2.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
|
9523
9745
|
legacySupport: Bool = false)
|
9524
9746
|
{
|
9525
9747
|
let command = RubyCommand(commandID: "", methodName: "xcov", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
|
@@ -9665,4 +9887,4 @@ public let snapshotfile = Snapshotfile()
|
|
9665
9887
|
|
9666
9888
|
// Please don't remove the lines below
|
9667
9889
|
// They are used to detect outdated files
|
9668
|
-
// FastlaneRunnerAPIVersion [0.9.
|
9890
|
+
// FastlaneRunnerAPIVersion [0.9.118]
|