fastlane 2.168.0 → 2.169.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +84 -84
- data/cert/lib/cert/.options.rb.swp +0 -0
- data/cert/lib/cert/.runner.rb.swp +0 -0
- data/cert/lib/cert/options.rb +2 -2
- data/deliver/lib/deliver/loader.rb +136 -18
- data/deliver/lib/deliver/upload_metadata.rb +4 -10
- data/deliver/lib/deliver/upload_screenshots.rb +1 -64
- data/fastlane/lib/fastlane/actions/docs/frame_screenshots.md +1 -1
- data/fastlane/lib/fastlane/actions/xcode_install.rb +8 -5
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +1 -1
- data/fastlane/swift/Fastlane.swift +35 -14
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/GymfileProtocol.swift +5 -1
- 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 +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/gym/lib/gym/generators/build_command_generator.rb +1 -0
- data/gym/lib/gym/options.rb +7 -1
- data/{spaceship/lib/spaceship/connect_api/models/.app_screenshot.rb.swp → match/lib/match/.options.rb.swp} +0 -0
- data/scan/lib/scan/options.rb +7 -1
- data/scan/lib/scan/test_command_generator.rb +1 -0
- data/{spaceship/lib/spaceship/connect_api/models/.build.rb.swp → sigh/lib/sigh/.options.rb.swp} +0 -0
- data/snapshot/lib/assets/SnapshotHelper.swift +5 -1
- data/spaceship/lib/spaceship/client.rb +14 -0
- data/spaceship/lib/spaceship/connect_api/models/app.rb +13 -4
- data/spaceship/lib/spaceship/connect_api/models/app_info.rb +1 -0
- data/spaceship/lib/spaceship/connect_api/models/app_info_localization.rb +2 -0
- data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +1 -0
- data/spaceship/lib/spaceship/errors.rb +19 -0
- data/spaceship/lib/spaceship/two_step_or_factor_client.rb +18 -6
- metadata +22 -21
- data/spaceship/lib/spaceship/connect_api/models/.app.rb.swp +0 -0
@@ -251,70 +251,7 @@ module Deliver
|
|
251
251
|
|
252
252
|
def collect_screenshots(options)
|
253
253
|
return [] if options[:skip_screenshots]
|
254
|
-
return
|
255
|
-
end
|
256
|
-
|
257
|
-
def collect_screenshots_for_languages(path, ignore_validation)
|
258
|
-
screenshots = []
|
259
|
-
extensions = '{png,jpg,jpeg}'
|
260
|
-
|
261
|
-
available_languages = UploadScreenshots.available_languages.each_with_object({}) do |lang, lang_hash|
|
262
|
-
lang_hash[lang.downcase] = lang
|
263
|
-
end
|
264
|
-
|
265
|
-
Loader.language_folders(path, ignore_validation).each do |lng_folder|
|
266
|
-
language = File.basename(lng_folder)
|
267
|
-
|
268
|
-
# Check to see if we need to traverse multiple platforms or just a single platform
|
269
|
-
if language == Loader::APPLE_TV_DIR_NAME || language == Loader::IMESSAGE_DIR_NAME
|
270
|
-
screenshots.concat(collect_screenshots_for_languages(File.join(path, language), ignore_validation))
|
271
|
-
next
|
272
|
-
end
|
273
|
-
|
274
|
-
files = Dir.glob(File.join(lng_folder, "*.#{extensions}"), File::FNM_CASEFOLD).sort
|
275
|
-
next if files.count == 0
|
276
|
-
|
277
|
-
framed_screenshots_found = Dir.glob(File.join(lng_folder, "*_framed.#{extensions}"), File::FNM_CASEFOLD).count > 0
|
278
|
-
|
279
|
-
UI.important("Framed screenshots are detected! 🖼 Non-framed screenshot files may be skipped. 🏃") if framed_screenshots_found
|
280
|
-
|
281
|
-
language_dir_name = File.basename(lng_folder)
|
282
|
-
|
283
|
-
if available_languages[language_dir_name.downcase].nil?
|
284
|
-
UI.user_error!("#{language_dir_name} is not an available language. Please verify that your language codes are available in iTunesConnect. See https://developer.apple.com/library/content/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Chapters/AppStoreTerritories.html for more information.")
|
285
|
-
end
|
286
|
-
|
287
|
-
language = available_languages[language_dir_name.downcase]
|
288
|
-
|
289
|
-
files.each do |file_path|
|
290
|
-
is_framed = file_path.downcase.include?("_framed.")
|
291
|
-
is_watch = file_path.downcase.include?("watch")
|
292
|
-
|
293
|
-
if framed_screenshots_found && !is_framed && !is_watch
|
294
|
-
UI.important("🏃 Skipping screenshot file: #{file_path}")
|
295
|
-
next
|
296
|
-
end
|
297
|
-
|
298
|
-
screenshots << AppScreenshot.new(file_path, language)
|
299
|
-
end
|
300
|
-
end
|
301
|
-
|
302
|
-
# Checking if the device type exists in spaceship
|
303
|
-
# Ex: iPhone 6.1 inch isn't supported in App Store Connect but need
|
304
|
-
# to have it in there for frameit support
|
305
|
-
unaccepted_device_shown = false
|
306
|
-
screenshots.select! do |screenshot|
|
307
|
-
exists = !screenshot.device_type.nil?
|
308
|
-
unless exists
|
309
|
-
UI.important("Unaccepted device screenshots are detected! 🚫 Screenshot file will be skipped. 🏃") unless unaccepted_device_shown
|
310
|
-
unaccepted_device_shown = true
|
311
|
-
|
312
|
-
UI.important("🏃 Skipping screenshot file: #{screenshot.path} - Not an accepted App Store Connect device...")
|
313
|
-
end
|
314
|
-
exists
|
315
|
-
end
|
316
|
-
|
317
|
-
return screenshots
|
254
|
+
return Loader.load_app_screenshots(options[:screenshots_path], options[:ignore_language_directory_validation])
|
318
255
|
end
|
319
256
|
|
320
257
|
# helper method so Spaceship::Tunes.client.available_languages is easier to test
|
@@ -237,7 +237,7 @@ The `keyword.strings` and `title.strings` are standard `.strings` file you alrea
|
|
237
237
|
**Notes**
|
238
238
|
|
239
239
|
- These `.strings` files **MUST** be utf-8 (UTF-8) or utf-16 encoded (UTF-16 BE with BOM). They also must begin with an empty line. If you are having trouble see [issue #1740](https://github.com/fastlane/fastlane/issues/1740)
|
240
|
-
- You **MUST** provide a background if you want titles. _frameit_ will not add the
|
240
|
+
- You **MUST** provide a background if you want titles. _frameit_ will not add the titles if a background is not specified.
|
241
241
|
|
242
242
|
### Screenshot orientation
|
243
243
|
|
@@ -17,7 +17,7 @@ module Fastlane
|
|
17
17
|
if installer.installed?(params[:version])
|
18
18
|
UI.success("Xcode #{params[:version]} is already installed ✨")
|
19
19
|
else
|
20
|
-
installer.install_version(params[:version], true, true, true, true)
|
20
|
+
installer.install_version(params[:version], true, true, true, true, nil, true, nil, params[:download_retry_attempts])
|
21
21
|
end
|
22
22
|
|
23
23
|
xcode = installer.installed_versions.find { |x| x.version == params[:version] }
|
@@ -49,9 +49,7 @@ module Fastlane
|
|
49
49
|
[
|
50
50
|
FastlaneCore::ConfigItem.new(key: :version,
|
51
51
|
env_name: "FL_XCODE_VERSION",
|
52
|
-
description: "The version number of the version of Xcode to install",
|
53
|
-
verify_block: proc do |value|
|
54
|
-
end),
|
52
|
+
description: "The version number of the version of Xcode to install"),
|
55
53
|
FastlaneCore::ConfigItem.new(key: :username,
|
56
54
|
short_option: "-u",
|
57
55
|
env_name: "XCODE_INSTALL_USER",
|
@@ -65,7 +63,12 @@ module Fastlane
|
|
65
63
|
optional: true,
|
66
64
|
code_gen_sensitive: true,
|
67
65
|
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:team_id),
|
68
|
-
default_value_dynamic: true)
|
66
|
+
default_value_dynamic: true),
|
67
|
+
FastlaneCore::ConfigItem.new(key: :download_retry_attempts,
|
68
|
+
env_name: "XCODE_INSTALL_DOWNLOAD_RETRY_ATTEMPTS",
|
69
|
+
description: "Number of times the download will be retried in case of failure",
|
70
|
+
type: Integer,
|
71
|
+
default_value: 3)
|
69
72
|
]
|
70
73
|
end
|
71
74
|
|
@@ -981,6 +981,7 @@ public func buildAndroidApp(task: String? = nil,
|
|
981
981
|
- xcprettyUtf: Have xcpretty use unicode encoding when reporting builds
|
982
982
|
- skipProfileDetection: Do not try to build a profile mapping from the xcodeproj. Match or a manually provided mapping should be used
|
983
983
|
- clonedSourcePackagesPath: Sets a custom path for Swift Package Manager dependencies
|
984
|
+
- useSystemScm: Lets xcodebuild use system's scm configuration
|
984
985
|
|
985
986
|
- returns: The absolute path to the generated ipa file
|
986
987
|
|
@@ -1029,7 +1030,8 @@ public func buildApp(workspace: String? = nil,
|
|
1029
1030
|
analyzeBuildTime: Bool? = nil,
|
1030
1031
|
xcprettyUtf: Bool? = nil,
|
1031
1032
|
skipProfileDetection: Bool = false,
|
1032
|
-
clonedSourcePackagesPath: String? = nil
|
1033
|
+
clonedSourcePackagesPath: String? = nil,
|
1034
|
+
useSystemScm: Bool = false)
|
1033
1035
|
{
|
1034
1036
|
let command = RubyCommand(commandID: "", methodName: "build_app", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
|
1035
1037
|
RubyCommand.Argument(name: "project", value: project),
|
@@ -1074,7 +1076,8 @@ public func buildApp(workspace: String? = nil,
|
|
1074
1076
|
RubyCommand.Argument(name: "analyze_build_time", value: analyzeBuildTime),
|
1075
1077
|
RubyCommand.Argument(name: "xcpretty_utf", value: xcprettyUtf),
|
1076
1078
|
RubyCommand.Argument(name: "skip_profile_detection", value: skipProfileDetection),
|
1077
|
-
RubyCommand.Argument(name: "cloned_source_packages_path", value: clonedSourcePackagesPath)
|
1079
|
+
RubyCommand.Argument(name: "cloned_source_packages_path", value: clonedSourcePackagesPath),
|
1080
|
+
RubyCommand.Argument(name: "use_system_scm", value: useSystemScm)])
|
1078
1081
|
_ = runner.executeCommand(command)
|
1079
1082
|
}
|
1080
1083
|
|
@@ -1123,6 +1126,7 @@ public func buildApp(workspace: String? = nil,
|
|
1123
1126
|
- xcprettyUtf: Have xcpretty use unicode encoding when reporting builds
|
1124
1127
|
- skipProfileDetection: Do not try to build a profile mapping from the xcodeproj. Match or a manually provided mapping should be used
|
1125
1128
|
- clonedSourcePackagesPath: Sets a custom path for Swift Package Manager dependencies
|
1129
|
+
- useSystemScm: Lets xcodebuild use system's scm configuration
|
1126
1130
|
|
1127
1131
|
- returns: The absolute path to the generated ipa file
|
1128
1132
|
|
@@ -1168,7 +1172,8 @@ public func buildIosApp(workspace: String? = nil,
|
|
1168
1172
|
analyzeBuildTime: Bool? = nil,
|
1169
1173
|
xcprettyUtf: Bool? = nil,
|
1170
1174
|
skipProfileDetection: Bool = false,
|
1171
|
-
clonedSourcePackagesPath: String? = nil
|
1175
|
+
clonedSourcePackagesPath: String? = nil,
|
1176
|
+
useSystemScm: Bool = false)
|
1172
1177
|
{
|
1173
1178
|
let command = RubyCommand(commandID: "", methodName: "build_ios_app", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
|
1174
1179
|
RubyCommand.Argument(name: "project", value: project),
|
@@ -1210,7 +1215,8 @@ public func buildIosApp(workspace: String? = nil,
|
|
1210
1215
|
RubyCommand.Argument(name: "analyze_build_time", value: analyzeBuildTime),
|
1211
1216
|
RubyCommand.Argument(name: "xcpretty_utf", value: xcprettyUtf),
|
1212
1217
|
RubyCommand.Argument(name: "skip_profile_detection", value: skipProfileDetection),
|
1213
|
-
RubyCommand.Argument(name: "cloned_source_packages_path", value: clonedSourcePackagesPath)
|
1218
|
+
RubyCommand.Argument(name: "cloned_source_packages_path", value: clonedSourcePackagesPath),
|
1219
|
+
RubyCommand.Argument(name: "use_system_scm", value: useSystemScm)])
|
1214
1220
|
_ = runner.executeCommand(command)
|
1215
1221
|
}
|
1216
1222
|
|
@@ -1260,6 +1266,7 @@ public func buildIosApp(workspace: String? = nil,
|
|
1260
1266
|
- xcprettyUtf: Have xcpretty use unicode encoding when reporting builds
|
1261
1267
|
- skipProfileDetection: Do not try to build a profile mapping from the xcodeproj. Match or a manually provided mapping should be used
|
1262
1268
|
- clonedSourcePackagesPath: Sets a custom path for Swift Package Manager dependencies
|
1269
|
+
- useSystemScm: Lets xcodebuild use system's scm configuration
|
1263
1270
|
|
1264
1271
|
- returns: The absolute path to the generated ipa file
|
1265
1272
|
|
@@ -1306,7 +1313,8 @@ public func buildMacApp(workspace: String? = nil,
|
|
1306
1313
|
analyzeBuildTime: Bool? = nil,
|
1307
1314
|
xcprettyUtf: Bool? = nil,
|
1308
1315
|
skipProfileDetection: Bool = false,
|
1309
|
-
clonedSourcePackagesPath: String? = nil
|
1316
|
+
clonedSourcePackagesPath: String? = nil,
|
1317
|
+
useSystemScm: Bool = false)
|
1310
1318
|
{
|
1311
1319
|
let command = RubyCommand(commandID: "", methodName: "build_mac_app", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
|
1312
1320
|
RubyCommand.Argument(name: "project", value: project),
|
@@ -1349,7 +1357,8 @@ public func buildMacApp(workspace: String? = nil,
|
|
1349
1357
|
RubyCommand.Argument(name: "analyze_build_time", value: analyzeBuildTime),
|
1350
1358
|
RubyCommand.Argument(name: "xcpretty_utf", value: xcprettyUtf),
|
1351
1359
|
RubyCommand.Argument(name: "skip_profile_detection", value: skipProfileDetection),
|
1352
|
-
RubyCommand.Argument(name: "cloned_source_packages_path", value: clonedSourcePackagesPath)
|
1360
|
+
RubyCommand.Argument(name: "cloned_source_packages_path", value: clonedSourcePackagesPath),
|
1361
|
+
RubyCommand.Argument(name: "use_system_scm", value: useSystemScm)])
|
1353
1362
|
_ = runner.executeCommand(command)
|
1354
1363
|
}
|
1355
1364
|
|
@@ -1863,7 +1872,7 @@ public func carthage(command: String = "bootstrap",
|
|
1863
1872
|
- keychainPath: Path to a custom keychain
|
1864
1873
|
- 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
|
1865
1874
|
- 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
|
1866
|
-
- platform: Set the provisioning profile's platform (ios, macos)
|
1875
|
+
- platform: Set the provisioning profile's platform (ios, macos, tvos)
|
1867
1876
|
|
1868
1877
|
**Important**: 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 certificates. Use _cert_ directly only if you want full control over what's going on and know more about codesigning.
|
1869
1878
|
Use this action to download the latest code signing identity.
|
@@ -3351,7 +3360,7 @@ public func getBuildNumberRepository(useHgRevisionNumber: Bool = false) {
|
|
3351
3360
|
- keychainPath: Path to a custom keychain
|
3352
3361
|
- 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
|
3353
3362
|
- 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
|
3354
|
-
- platform: Set the provisioning profile's platform (ios, macos)
|
3363
|
+
- platform: Set the provisioning profile's platform (ios, macos, tvos)
|
3355
3364
|
|
3356
3365
|
**Important**: 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 certificates. Use _cert_ directly only if you want full control over what's going on and know more about codesigning.
|
3357
3366
|
Use this action to download the latest code signing identity.
|
@@ -3992,6 +4001,7 @@ public func gradle(task: String? = nil,
|
|
3992
4001
|
- xcprettyUtf: Have xcpretty use unicode encoding when reporting builds
|
3993
4002
|
- skipProfileDetection: Do not try to build a profile mapping from the xcodeproj. Match or a manually provided mapping should be used
|
3994
4003
|
- clonedSourcePackagesPath: Sets a custom path for Swift Package Manager dependencies
|
4004
|
+
- useSystemScm: Lets xcodebuild use system's scm configuration
|
3995
4005
|
|
3996
4006
|
- returns: The absolute path to the generated ipa file
|
3997
4007
|
|
@@ -4040,7 +4050,8 @@ public func gym(workspace: Any? = gymfile.workspace,
|
|
4040
4050
|
analyzeBuildTime: Bool? = gymfile.analyzeBuildTime,
|
4041
4051
|
xcprettyUtf: Bool? = gymfile.xcprettyUtf,
|
4042
4052
|
skipProfileDetection: Bool = gymfile.skipProfileDetection,
|
4043
|
-
clonedSourcePackagesPath: Any? = gymfile.clonedSourcePackagesPath
|
4053
|
+
clonedSourcePackagesPath: Any? = gymfile.clonedSourcePackagesPath,
|
4054
|
+
useSystemScm: Bool = gymfile.useSystemScm)
|
4044
4055
|
{
|
4045
4056
|
let command = RubyCommand(commandID: "", methodName: "gym", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
|
4046
4057
|
RubyCommand.Argument(name: "project", value: project),
|
@@ -4085,7 +4096,8 @@ public func gym(workspace: Any? = gymfile.workspace,
|
|
4085
4096
|
RubyCommand.Argument(name: "analyze_build_time", value: analyzeBuildTime),
|
4086
4097
|
RubyCommand.Argument(name: "xcpretty_utf", value: xcprettyUtf),
|
4087
4098
|
RubyCommand.Argument(name: "skip_profile_detection", value: skipProfileDetection),
|
4088
|
-
RubyCommand.Argument(name: "cloned_source_packages_path", value: clonedSourcePackagesPath)
|
4099
|
+
RubyCommand.Argument(name: "cloned_source_packages_path", value: clonedSourcePackagesPath),
|
4100
|
+
RubyCommand.Argument(name: "use_system_scm", value: useSystemScm)])
|
4089
4101
|
_ = runner.executeCommand(command)
|
4090
4102
|
}
|
4091
4103
|
|
@@ -6081,6 +6093,7 @@ public func rubyVersion() {
|
|
6081
6093
|
- customReportFileName: **DEPRECATED!** Use `--output_files` instead - Sets custom full report file name when generating a single report
|
6082
6094
|
- xcodebuildCommand: Allows for override of the default `xcodebuild` command
|
6083
6095
|
- clonedSourcePackagesPath: Sets a custom path for Swift Package Manager dependencies
|
6096
|
+
- useSystemScm: Lets xcodebuild use system's scm configuration
|
6084
6097
|
- failBuild: Should this step stop the build if the tests fail? Set this to false if you're using trainer
|
6085
6098
|
|
6086
6099
|
More information: https://docs.fastlane.tools/actions/scan/
|
@@ -6148,6 +6161,7 @@ public func runTests(workspace: String? = nil,
|
|
6148
6161
|
customReportFileName: String? = nil,
|
6149
6162
|
xcodebuildCommand: String = "env NSUnbufferedIO=YES xcodebuild",
|
6150
6163
|
clonedSourcePackagesPath: String? = nil,
|
6164
|
+
useSystemScm: Bool = false,
|
6151
6165
|
failBuild: Bool = true)
|
6152
6166
|
{
|
6153
6167
|
let command = RubyCommand(commandID: "", methodName: "run_tests", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
|
@@ -6213,6 +6227,7 @@ public func runTests(workspace: String? = nil,
|
|
6213
6227
|
RubyCommand.Argument(name: "custom_report_file_name", value: customReportFileName),
|
6214
6228
|
RubyCommand.Argument(name: "xcodebuild_command", value: xcodebuildCommand),
|
6215
6229
|
RubyCommand.Argument(name: "cloned_source_packages_path", value: clonedSourcePackagesPath),
|
6230
|
+
RubyCommand.Argument(name: "use_system_scm", value: useSystemScm),
|
6216
6231
|
RubyCommand.Argument(name: "fail_build", value: failBuild)])
|
6217
6232
|
_ = runner.executeCommand(command)
|
6218
6233
|
}
|
@@ -6360,6 +6375,7 @@ public func say(text: Any,
|
|
6360
6375
|
- customReportFileName: **DEPRECATED!** Use `--output_files` instead - Sets custom full report file name when generating a single report
|
6361
6376
|
- xcodebuildCommand: Allows for override of the default `xcodebuild` command
|
6362
6377
|
- clonedSourcePackagesPath: Sets a custom path for Swift Package Manager dependencies
|
6378
|
+
- useSystemScm: Lets xcodebuild use system's scm configuration
|
6363
6379
|
- failBuild: Should this step stop the build if the tests fail? Set this to false if you're using trainer
|
6364
6380
|
|
6365
6381
|
More information: https://docs.fastlane.tools/actions/scan/
|
@@ -6427,6 +6443,7 @@ public func scan(workspace: Any? = scanfile.workspace,
|
|
6427
6443
|
customReportFileName: Any? = scanfile.customReportFileName,
|
6428
6444
|
xcodebuildCommand: Any = scanfile.xcodebuildCommand,
|
6429
6445
|
clonedSourcePackagesPath: Any? = scanfile.clonedSourcePackagesPath,
|
6446
|
+
useSystemScm: Bool = scanfile.useSystemScm,
|
6430
6447
|
failBuild: Bool = scanfile.failBuild)
|
6431
6448
|
{
|
6432
6449
|
let command = RubyCommand(commandID: "", methodName: "scan", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
|
@@ -6492,6 +6509,7 @@ public func scan(workspace: Any? = scanfile.workspace,
|
|
6492
6509
|
RubyCommand.Argument(name: "custom_report_file_name", value: customReportFileName),
|
6493
6510
|
RubyCommand.Argument(name: "xcodebuild_command", value: xcodebuildCommand),
|
6494
6511
|
RubyCommand.Argument(name: "cloned_source_packages_path", value: clonedSourcePackagesPath),
|
6512
|
+
RubyCommand.Argument(name: "use_system_scm", value: useSystemScm),
|
6495
6513
|
RubyCommand.Argument(name: "fail_build", value: failBuild)])
|
6496
6514
|
_ = runner.executeCommand(command)
|
6497
6515
|
}
|
@@ -9125,6 +9143,7 @@ public func xcexport() {
|
|
9125
9143
|
- version: The version number of the version of Xcode to install
|
9126
9144
|
- username: Your Apple ID Username
|
9127
9145
|
- teamId: The ID of your team if you're in multiple teams
|
9146
|
+
- downloadRetryAttempts: Number of times the download will be retried in case of failure
|
9128
9147
|
|
9129
9148
|
- returns: The path to the newly installed Xcode version
|
9130
9149
|
|
@@ -9132,11 +9151,13 @@ public func xcexport() {
|
|
9132
9151
|
*/
|
9133
9152
|
@discardableResult public func xcodeInstall(version: String,
|
9134
9153
|
username: String,
|
9135
|
-
teamId: String? = nil
|
9154
|
+
teamId: String? = nil,
|
9155
|
+
downloadRetryAttempts: Int = 3) -> String
|
9136
9156
|
{
|
9137
9157
|
let command = RubyCommand(commandID: "", methodName: "xcode_install", className: nil, args: [RubyCommand.Argument(name: "version", value: version),
|
9138
9158
|
RubyCommand.Argument(name: "username", value: username),
|
9139
|
-
RubyCommand.Argument(name: "team_id", value: teamId)
|
9159
|
+
RubyCommand.Argument(name: "team_id", value: teamId),
|
9160
|
+
RubyCommand.Argument(name: "download_retry_attempts", value: downloadRetryAttempts)])
|
9140
9161
|
return runner.executeCommand(command)
|
9141
9162
|
}
|
9142
9163
|
|
@@ -9262,7 +9283,7 @@ public func xcov(workspace: String? = nil,
|
|
9262
9283
|
coverallsServiceJobId: String? = nil,
|
9263
9284
|
coverallsRepoToken: String? = nil,
|
9264
9285
|
xcconfig: String? = nil,
|
9265
|
-
ideFoundationPath: String = "/Applications/Xcode-
|
9286
|
+
ideFoundationPath: String = "/Applications/Xcode-12.2.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
|
9266
9287
|
legacySupport: Bool = false)
|
9267
9288
|
{
|
9268
9289
|
let command = RubyCommand(commandID: "", methodName: "xcov", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
|
@@ -9408,4 +9429,4 @@ public let snapshotfile = Snapshotfile()
|
|
9408
9429
|
|
9409
9430
|
// Please don't remove the lines below
|
9410
9431
|
// They are used to detect outdated files
|
9411
|
-
// FastlaneRunnerAPIVersion [0.9.
|
9432
|
+
// FastlaneRunnerAPIVersion [0.9.105]
|
@@ -133,6 +133,9 @@ public protocol GymfileProtocol: class {
|
|
133
133
|
|
134
134
|
/// Sets a custom path for Swift Package Manager dependencies
|
135
135
|
var clonedSourcePackagesPath: String? { get }
|
136
|
+
|
137
|
+
/// Lets xcodebuild use system's scm configuration
|
138
|
+
var useSystemScm: Bool { get }
|
136
139
|
}
|
137
140
|
|
138
141
|
public extension GymfileProtocol {
|
@@ -180,8 +183,9 @@ public extension GymfileProtocol {
|
|
180
183
|
var xcprettyUtf: Bool? { return nil }
|
181
184
|
var skipProfileDetection: Bool { return false }
|
182
185
|
var clonedSourcePackagesPath: String? { return nil }
|
186
|
+
var useSystemScm: Bool { return false }
|
183
187
|
}
|
184
188
|
|
185
189
|
// Please don't remove the lines below
|
186
190
|
// They are used to detect outdated files
|
187
|
-
// FastlaneRunnerAPIVersion [0.9.
|
191
|
+
// FastlaneRunnerAPIVersion [0.9.55]
|
@@ -191,6 +191,9 @@ public protocol ScanfileProtocol: class {
|
|
191
191
|
/// Sets a custom path for Swift Package Manager dependencies
|
192
192
|
var clonedSourcePackagesPath: String? { get }
|
193
193
|
|
194
|
+
/// Lets xcodebuild use system's scm configuration
|
195
|
+
var useSystemScm: Bool { get }
|
196
|
+
|
194
197
|
/// Should this step stop the build if the tests fail? Set this to false if you're using trainer
|
195
198
|
var failBuild: Bool { get }
|
196
199
|
}
|
@@ -259,9 +262,10 @@ public extension ScanfileProtocol {
|
|
259
262
|
var customReportFileName: String? { return nil }
|
260
263
|
var xcodebuildCommand: String { return "env NSUnbufferedIO=YES xcodebuild" }
|
261
264
|
var clonedSourcePackagesPath: String? { return nil }
|
265
|
+
var useSystemScm: Bool { return false }
|
262
266
|
var failBuild: Bool { return true }
|
263
267
|
}
|
264
268
|
|
265
269
|
// Please don't remove the lines below
|
266
270
|
// They are used to detect outdated files
|
267
|
-
// FastlaneRunnerAPIVersion [0.9.
|
271
|
+
// FastlaneRunnerAPIVersion [0.9.60]
|