fastlane 2.165.0 → 2.170.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 +76 -76
- data/cert/lib/cert/options.rb +3 -3
- data/cert/lib/cert/runner.rb +1 -1
- data/deliver/lib/deliver/app_screenshot.rb +6 -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/actions_helper.rb +1 -1
- data/fastlane/lib/fastlane/actions/add_git_tag.rb +9 -2
- data/fastlane/lib/fastlane/actions/appledoc.rb +1 -1
- data/fastlane/lib/fastlane/actions/docs/capture_ios_screenshots.md +4 -0
- data/fastlane/lib/fastlane/actions/docs/frame_screenshots.md +1 -1
- data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +1 -1
- data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +4 -0
- data/fastlane/lib/fastlane/actions/onesignal.rb +13 -3
- data/fastlane/lib/fastlane/actions/slather.rb +2 -2
- data/fastlane/lib/fastlane/actions/spm.rb +6 -0
- data/fastlane/lib/fastlane/actions/update_fastlane.rb +29 -8
- data/fastlane/lib/fastlane/actions/upload_app_privacy_details_to_app_store.rb +289 -0
- data/fastlane/lib/fastlane/actions/upload_to_app_store.rb +3 -3
- data/fastlane/lib/fastlane/actions/xcode_install.rb +8 -5
- data/fastlane/lib/fastlane/cli_tools_distributor.rb +2 -2
- data/fastlane/lib/fastlane/features.rb +1 -1
- data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +2 -1
- data/fastlane/lib/fastlane/swift_fastlane_api_generator.rb +3 -0
- data/fastlane/lib/fastlane/swift_fastlane_function.rb +1 -1
- 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/Fastfile.swift +1 -1
- data/fastlane/swift/Fastlane.swift +97 -26
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/GymfileProtocol.swift +5 -1
- data/fastlane/swift/LaneFileProtocol.swift +2 -2
- data/fastlane/swift/MainProcess.swift +2 -0
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/MatchfileProtocol.swift +3 -3
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
- data/fastlane/swift/Runner.swift +1 -1
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/ScanfileProtocol.swift +9 -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 +1 -1
- data/fastlane_core/lib/fastlane_core/cert_checker.rb +12 -7
- data/fastlane_core/lib/fastlane_core/helper.rb +10 -2
- data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +3 -3
- data/fastlane_core/lib/fastlane_core/provisioning_profile.rb +3 -1
- data/fastlane_core/lib/fastlane_core/ui/disable_colors.rb +8 -0
- data/gym/lib/gym/code_signing_mapping.rb +1 -1
- data/gym/lib/gym/generators/build_command_generator.rb +1 -0
- data/gym/lib/gym/options.rb +7 -1
- data/match/lib/match/module.rb +1 -1
- data/match/lib/match/nuke.rb +9 -5
- data/match/lib/match/options.rb +1 -1
- data/match/lib/match/runner.rb +1 -1
- data/pilot/lib/pilot/build_manager.rb +9 -3
- data/scan/lib/scan/detect_values.rb +3 -1
- data/scan/lib/scan/module.rb +4 -0
- data/scan/lib/scan/options.rb +16 -1
- data/scan/lib/scan/runner.rb +2 -2
- data/scan/lib/scan/test_command_generator.rb +1 -0
- data/snapshot/lib/assets/SnapshotHelper.swift +5 -1
- data/snapshot/lib/snapshot/test_command_generator.rb +1 -1
- data/snapshot/lib/snapshot/test_command_generator_base.rb +3 -1
- data/snapshot/lib/snapshot/test_command_generator_xcode_8.rb +1 -1
- data/spaceship/lib/spaceship/client.rb +14 -0
- data/spaceship/lib/spaceship/connect_api.rb +6 -0
- data/spaceship/lib/spaceship/connect_api/models/.app_data_usage_data_protection.rb.swp +0 -0
- data/spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb +3 -2
- data/spaceship/lib/spaceship/connect_api/models/app.rb +88 -54
- data/spaceship/lib/spaceship/connect_api/models/app_data_usage.rb +59 -0
- data/spaceship/lib/spaceship/connect_api/models/app_data_usage_category.rb +65 -0
- data/spaceship/lib/spaceship/connect_api/models/app_data_usage_data_protection.rb +27 -0
- data/spaceship/lib/spaceship/connect_api/models/app_data_usage_grouping.rb +18 -0
- data/spaceship/lib/spaceship/connect_api/models/app_data_usage_purposes.rb +37 -0
- data/spaceship/lib/spaceship/connect_api/models/app_data_usages_publish_state.rb +36 -0
- data/spaceship/lib/spaceship/connect_api/models/app_info.rb +16 -10
- data/spaceship/lib/spaceship/connect_api/models/app_info_localization.rb +8 -4
- data/spaceship/lib/spaceship/connect_api/models/app_preview.rb +15 -11
- data/spaceship/lib/spaceship/connect_api/models/app_preview_set.rb +13 -9
- data/spaceship/lib/spaceship/connect_api/models/app_screenshot.rb +9 -7
- data/spaceship/lib/spaceship/connect_api/models/app_screenshot_set.rb +15 -11
- data/spaceship/lib/spaceship/connect_api/models/app_store_review_attachment.rb +7 -5
- data/spaceship/lib/spaceship/connect_api/models/app_store_review_detail.rb +6 -4
- data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +55 -36
- data/spaceship/lib/spaceship/connect_api/models/app_store_version_localization.rb +21 -14
- data/spaceship/lib/spaceship/connect_api/models/app_store_version_submission.rb +3 -2
- data/spaceship/lib/spaceship/connect_api/models/beta_app_review_submission.rb +3 -2
- data/spaceship/lib/spaceship/connect_api/models/beta_feedback.rb +6 -4
- data/spaceship/lib/spaceship/connect_api/models/beta_group.rb +12 -2
- data/spaceship/lib/spaceship/connect_api/models/beta_tester.rb +12 -8
- data/spaceship/lib/spaceship/connect_api/models/build.rb +24 -16
- data/spaceship/lib/spaceship/connect_api/models/build_delivery.rb +3 -2
- data/spaceship/lib/spaceship/connect_api/models/bundle_id.rb +9 -6
- data/spaceship/lib/spaceship/connect_api/models/bundle_id_capability.rb +6 -4
- data/spaceship/lib/spaceship/connect_api/models/certificate.rb +12 -8
- data/spaceship/lib/spaceship/connect_api/models/device.rb +10 -4
- data/spaceship/lib/spaceship/connect_api/models/idfa_declaration.rb +6 -4
- data/spaceship/lib/spaceship/connect_api/models/profile.rb +12 -8
- data/spaceship/lib/spaceship/connect_api/models/reset_ratings_request.rb +3 -2
- data/spaceship/lib/spaceship/connect_api/models/sandbox_tester.rb +9 -6
- data/spaceship/lib/spaceship/connect_api/models/territory.rb +3 -2
- data/spaceship/lib/spaceship/connect_api/models/user.rb +6 -4
- data/spaceship/lib/spaceship/connect_api/models/user_invitation.rb +9 -6
- data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +12 -0
- data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +103 -0
- data/spaceship/lib/spaceship/errors.rb +19 -0
- data/spaceship/lib/spaceship/tunes/iap_detail.rb +1 -1
- data/spaceship/lib/spaceship/tunes/tunes_client.rb +2 -2
- data/spaceship/lib/spaceship/two_step_or_factor_client.rb +18 -6
- data/supply/lib/supply.rb +1 -1
- data/supply/lib/supply/options.rb +1 -1
- data/supply/lib/supply/uploader.rb +3 -2
- metadata +26 -18
@@ -9,9 +9,9 @@ module Fastlane
|
|
9
9
|
|
10
10
|
begin
|
11
11
|
config.load_configuration_file("Deliverfile")
|
12
|
-
config[:screenshots_path]
|
13
|
-
config[:ipa]
|
14
|
-
config[:pkg]
|
12
|
+
config[:screenshots_path] ||= Actions.lane_context[SharedValues::SNAPSHOT_SCREENSHOTS_PATH] if Actions.lane_context[SharedValues::SNAPSHOT_SCREENSHOTS_PATH]
|
13
|
+
config[:ipa] ||= Actions.lane_context[SharedValues::IPA_OUTPUT_PATH] if Actions.lane_context[SharedValues::IPA_OUTPUT_PATH]
|
14
|
+
config[:pkg] ||= Actions.lane_context[SharedValues::PKG_OUTPUT_PATH] if Actions.lane_context[SharedValues::PKG_OUTPUT_PATH]
|
15
15
|
config[:api_key] ||= Actions.lane_context[SharedValues::APP_STORE_CONNECT_API_KEY]
|
16
16
|
|
17
17
|
return config if Helper.test?
|
@@ -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
|
|
@@ -123,9 +123,9 @@ module Fastlane
|
|
123
123
|
end
|
124
124
|
|
125
125
|
# Since loading dotenv should respect additional environments passed using
|
126
|
-
# --env, we must
|
126
|
+
# --env, we must extract the arguments out of ARGV and process them before
|
127
127
|
# calling into commander. This is required since the ENV must be configured
|
128
|
-
# before running any other commands in order to
|
128
|
+
# before running any other commands in order to correctly respect variables
|
129
129
|
# like FASTLANE_HIDE_CHANGELOG and FASTLANE_DISABLE_COLORS
|
130
130
|
def load_dot_env
|
131
131
|
env_cl_param = lambda do
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Use this file as the place to register Feature switches for the
|
1
|
+
# Use this file as the place to register Feature switches for the fastlane_core project
|
2
2
|
|
3
3
|
# FastlaneCore::Feature.register(env_var: 'YOUR_FEATURE_SWITCH_ENV_VAR',
|
4
4
|
# description: 'Describe what this feature switch controls')
|
@@ -41,6 +41,7 @@ Require/MissingRequireStatement:
|
|
41
41
|
- "**/spec/**/*.rb"
|
42
42
|
- "**/spec_helper.rb"
|
43
43
|
- spaceship/lib/spaceship/babosa_fix.rb
|
44
|
+
- fastlane_core/lib/fastlane_core/ui/disable_colors.rb
|
44
45
|
- "**/Fastfile"
|
45
46
|
- "**/*.gemspec"
|
46
47
|
- rakelib/**/*
|
@@ -121,7 +122,7 @@ Layout/SpaceAroundOperators:
|
|
121
122
|
Exclude:
|
122
123
|
- "**/spec/actions_specs/xcodebuild_spec.rb"
|
123
124
|
AllCops:
|
124
|
-
TargetRubyVersion: 2.
|
125
|
+
TargetRubyVersion: 2.4
|
125
126
|
Include:
|
126
127
|
- "*/lib/assets/*Template"
|
127
128
|
- "*/lib/assets/*TemplateAndroid"
|
@@ -79,6 +79,7 @@ module Fastlane
|
|
79
79
|
available_external_actions = Fastlane.external_actions || []
|
80
80
|
available_actions = []
|
81
81
|
ActionsList.all_actions do |action|
|
82
|
+
next unless action.respond_to?(:action_name)
|
82
83
|
available_actions << action.action_name unless available_external_actions.include?(action)
|
83
84
|
end
|
84
85
|
|
@@ -108,6 +109,7 @@ module Fastlane
|
|
108
109
|
# Excludes all actions that aren't pluign actions (including external actions)
|
109
110
|
available_actions = []
|
110
111
|
ActionsList.all_actions do |action|
|
112
|
+
next unless action.respond_to?(:action_name)
|
111
113
|
available_actions << action.action_name unless available_plugins.include?(action)
|
112
114
|
end
|
113
115
|
|
@@ -151,6 +153,7 @@ module Fastlane
|
|
151
153
|
|
152
154
|
tool_details = []
|
153
155
|
ActionsList.all_actions do |action|
|
156
|
+
next unless action.respond_to?(:action_name)
|
154
157
|
next if self.actions_not_supported.include?(action.action_name)
|
155
158
|
|
156
159
|
swift_function = process_action(action: action)
|
@@ -136,7 +136,7 @@ module Fastlane
|
|
136
136
|
type = "[String]"
|
137
137
|
elsif default_value.kind_of?(Hash)
|
138
138
|
type = "[String : Any]"
|
139
|
-
#
|
139
|
+
# Although we can have a default value of Integer type, if param_type_override overridden that value, respect it.
|
140
140
|
elsif default_value.kind_of?(Integer)
|
141
141
|
if type == "Double" || type == "Float"
|
142
142
|
begin
|
@@ -76,7 +76,7 @@ public func addGitTag(tag: String? = nil,
|
|
76
76
|
grouping: String = "builds",
|
77
77
|
prefix: String = "",
|
78
78
|
postfix: String = "",
|
79
|
-
buildNumber: Any,
|
79
|
+
buildNumber: Any? = nil,
|
80
80
|
message: String? = nil,
|
81
81
|
commit: String? = nil,
|
82
82
|
force: Bool = false,
|
@@ -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
|
|
@@ -1861,9 +1870,9 @@ public func carthage(command: String = "bootstrap",
|
|
1861
1870
|
- filename: The filename of certificate to store
|
1862
1871
|
- outputPath: The path to a directory in which all certificates and private keys should be stored
|
1863
1872
|
- keychainPath: Path to a custom keychain
|
1864
|
-
- keychainPassword: This might be required the first time you access certificates on a new mac. For the login/default keychain this is your account password
|
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.
|
@@ -3349,9 +3358,9 @@ public func getBuildNumberRepository(useHgRevisionNumber: Bool = false) {
|
|
3349
3358
|
- filename: The filename of certificate to store
|
3350
3359
|
- outputPath: The path to a directory in which all certificates and private keys should be stored
|
3351
3360
|
- keychainPath: Path to a custom keychain
|
3352
|
-
- keychainPassword: This might be required the first time you access certificates on a new mac. For the login/default keychain this is your account password
|
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
|
|
@@ -4743,7 +4755,7 @@ public func makeChangelogFromJenkins(fallbackChangelog: String = "",
|
|
4743
4755
|
Alias for the `sync_code_signing` action
|
4744
4756
|
|
4745
4757
|
- parameters:
|
4746
|
-
- type: Define the profile type, can be appstore, adhoc, development, enterprise, developer_id
|
4758
|
+
- type: Define the profile type, can be appstore, adhoc, development, enterprise, developer_id, mac_installer_distribution
|
4747
4759
|
- additionalCertTypes: Create additional cert types needed for macOS installers (valid values: mac_installer_distribution, developer_id_installer)
|
4748
4760
|
- readonly: Only fetch existing certificates and profiles, don't generate new ones
|
4749
4761
|
- generateAppleCerts: Create a certificate type for Xcode 11 and later (Apple Development or Apple Distribution)
|
@@ -4773,7 +4785,7 @@ public func makeChangelogFromJenkins(fallbackChangelog: String = "",
|
|
4773
4785
|
- s3Bucket: Name of the S3 bucket
|
4774
4786
|
- s3ObjectPrefix: Prefix to be used on all objects uploaded to S3
|
4775
4787
|
- keychainName: Keychain the items should be imported to
|
4776
|
-
- keychainPassword: This might be required the first time you access certificates on a new mac. For the login/default keychain this is your account password
|
4788
|
+
- 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
|
4777
4789
|
- force: Renew the provisioning profiles every time you run match
|
4778
4790
|
- forceForNewDevices: Renew the provisioning profiles if the device count on the developer portal has changed. Ignored for profile type 'appstore'
|
4779
4791
|
- skipConfirmation: Disables confirmation prompts during nuke, answering them with yes
|
@@ -5147,6 +5159,7 @@ public func oclint(oclintPath: String = "oclint",
|
|
5147
5159
|
- apnsP12: APNS P12 File (in .p12 format)
|
5148
5160
|
- apnsP12Password: APNS P12 password
|
5149
5161
|
- apnsEnv: APNS environment
|
5162
|
+
- organizationId: OneSignal Organization ID
|
5150
5163
|
|
5151
5164
|
You can use this action to automatically create or update a OneSignal application. You can also upload a `.p12` with password, a GCM key, or both.
|
5152
5165
|
*/
|
@@ -5157,7 +5170,8 @@ public func onesignal(appId: String? = nil,
|
|
5157
5170
|
androidGcmSenderId: String? = nil,
|
5158
5171
|
apnsP12: String? = nil,
|
5159
5172
|
apnsP12Password: String? = nil,
|
5160
|
-
apnsEnv: String = "production"
|
5173
|
+
apnsEnv: String = "production",
|
5174
|
+
organizationId: String? = nil)
|
5161
5175
|
{
|
5162
5176
|
let command = RubyCommand(commandID: "", methodName: "onesignal", className: nil, args: [RubyCommand.Argument(name: "app_id", value: appId),
|
5163
5177
|
RubyCommand.Argument(name: "auth_token", value: authToken),
|
@@ -5166,7 +5180,8 @@ public func onesignal(appId: String? = nil,
|
|
5166
5180
|
RubyCommand.Argument(name: "android_gcm_sender_id", value: androidGcmSenderId),
|
5167
5181
|
RubyCommand.Argument(name: "apns_p12", value: apnsP12),
|
5168
5182
|
RubyCommand.Argument(name: "apns_p12_password", value: apnsP12Password),
|
5169
|
-
RubyCommand.Argument(name: "apns_env", value: apnsEnv)
|
5183
|
+
RubyCommand.Argument(name: "apns_env", value: apnsEnv),
|
5184
|
+
RubyCommand.Argument(name: "organization_id", value: organizationId)])
|
5170
5185
|
_ = runner.executeCommand(command)
|
5171
5186
|
}
|
5172
5187
|
|
@@ -6077,9 +6092,11 @@ public func rubyVersion() {
|
|
6077
6092
|
- skipSlack: Don't publish to slack, even when an URL is given
|
6078
6093
|
- slackOnlyOnFailure: Only post on Slack if the tests fail
|
6079
6094
|
- destination: Use only if you're a pro, use the other options instead
|
6095
|
+
- catalystPlatform: Platform to build when using a Catalyst enabled app. Valid values are: ios, macos
|
6080
6096
|
- customReportFileName: **DEPRECATED!** Use `--output_files` instead - Sets custom full report file name when generating a single report
|
6081
6097
|
- xcodebuildCommand: Allows for override of the default `xcodebuild` command
|
6082
6098
|
- clonedSourcePackagesPath: Sets a custom path for Swift Package Manager dependencies
|
6099
|
+
- useSystemScm: Lets xcodebuild use system's scm configuration
|
6083
6100
|
- failBuild: Should this step stop the build if the tests fail? Set this to false if you're using trainer
|
6084
6101
|
|
6085
6102
|
More information: https://docs.fastlane.tools/actions/scan/
|
@@ -6143,9 +6160,11 @@ public func runTests(workspace: String? = nil,
|
|
6143
6160
|
skipSlack: Bool = false,
|
6144
6161
|
slackOnlyOnFailure: Bool = false,
|
6145
6162
|
destination: Any? = nil,
|
6163
|
+
catalystPlatform: String? = nil,
|
6146
6164
|
customReportFileName: String? = nil,
|
6147
6165
|
xcodebuildCommand: String = "env NSUnbufferedIO=YES xcodebuild",
|
6148
6166
|
clonedSourcePackagesPath: String? = nil,
|
6167
|
+
useSystemScm: Bool = false,
|
6149
6168
|
failBuild: Bool = true)
|
6150
6169
|
{
|
6151
6170
|
let command = RubyCommand(commandID: "", methodName: "run_tests", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
|
@@ -6207,9 +6226,11 @@ public func runTests(workspace: String? = nil,
|
|
6207
6226
|
RubyCommand.Argument(name: "skip_slack", value: skipSlack),
|
6208
6227
|
RubyCommand.Argument(name: "slack_only_on_failure", value: slackOnlyOnFailure),
|
6209
6228
|
RubyCommand.Argument(name: "destination", value: destination),
|
6229
|
+
RubyCommand.Argument(name: "catalyst_platform", value: catalystPlatform),
|
6210
6230
|
RubyCommand.Argument(name: "custom_report_file_name", value: customReportFileName),
|
6211
6231
|
RubyCommand.Argument(name: "xcodebuild_command", value: xcodebuildCommand),
|
6212
6232
|
RubyCommand.Argument(name: "cloned_source_packages_path", value: clonedSourcePackagesPath),
|
6233
|
+
RubyCommand.Argument(name: "use_system_scm", value: useSystemScm),
|
6213
6234
|
RubyCommand.Argument(name: "fail_build", value: failBuild)])
|
6214
6235
|
_ = runner.executeCommand(command)
|
6215
6236
|
}
|
@@ -6353,9 +6374,11 @@ public func say(text: Any,
|
|
6353
6374
|
- skipSlack: Don't publish to slack, even when an URL is given
|
6354
6375
|
- slackOnlyOnFailure: Only post on Slack if the tests fail
|
6355
6376
|
- destination: Use only if you're a pro, use the other options instead
|
6377
|
+
- catalystPlatform: Platform to build when using a Catalyst enabled app. Valid values are: ios, macos
|
6356
6378
|
- customReportFileName: **DEPRECATED!** Use `--output_files` instead - Sets custom full report file name when generating a single report
|
6357
6379
|
- xcodebuildCommand: Allows for override of the default `xcodebuild` command
|
6358
6380
|
- clonedSourcePackagesPath: Sets a custom path for Swift Package Manager dependencies
|
6381
|
+
- useSystemScm: Lets xcodebuild use system's scm configuration
|
6359
6382
|
- failBuild: Should this step stop the build if the tests fail? Set this to false if you're using trainer
|
6360
6383
|
|
6361
6384
|
More information: https://docs.fastlane.tools/actions/scan/
|
@@ -6419,9 +6442,11 @@ public func scan(workspace: Any? = scanfile.workspace,
|
|
6419
6442
|
skipSlack: Bool = scanfile.skipSlack,
|
6420
6443
|
slackOnlyOnFailure: Bool = scanfile.slackOnlyOnFailure,
|
6421
6444
|
destination: Any? = scanfile.destination,
|
6445
|
+
catalystPlatform: Any? = scanfile.catalystPlatform,
|
6422
6446
|
customReportFileName: Any? = scanfile.customReportFileName,
|
6423
6447
|
xcodebuildCommand: Any = scanfile.xcodebuildCommand,
|
6424
6448
|
clonedSourcePackagesPath: Any? = scanfile.clonedSourcePackagesPath,
|
6449
|
+
useSystemScm: Bool = scanfile.useSystemScm,
|
6425
6450
|
failBuild: Bool = scanfile.failBuild)
|
6426
6451
|
{
|
6427
6452
|
let command = RubyCommand(commandID: "", methodName: "scan", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
|
@@ -6483,9 +6508,11 @@ public func scan(workspace: Any? = scanfile.workspace,
|
|
6483
6508
|
RubyCommand.Argument(name: "skip_slack", value: skipSlack),
|
6484
6509
|
RubyCommand.Argument(name: "slack_only_on_failure", value: slackOnlyOnFailure),
|
6485
6510
|
RubyCommand.Argument(name: "destination", value: destination),
|
6511
|
+
RubyCommand.Argument(name: "catalyst_platform", value: catalystPlatform),
|
6486
6512
|
RubyCommand.Argument(name: "custom_report_file_name", value: customReportFileName),
|
6487
6513
|
RubyCommand.Argument(name: "xcodebuild_command", value: xcodebuildCommand),
|
6488
6514
|
RubyCommand.Argument(name: "cloned_source_packages_path", value: clonedSourcePackagesPath),
|
6515
|
+
RubyCommand.Argument(name: "use_system_scm", value: useSystemScm),
|
6489
6516
|
RubyCommand.Argument(name: "fail_build", value: failBuild)])
|
6490
6517
|
_ = runner.executeCommand(command)
|
6491
6518
|
}
|
@@ -7119,7 +7146,7 @@ public func slather(buildDirectory: String? = nil,
|
|
7119
7146
|
ignore: [String]? = nil,
|
7120
7147
|
verbose: Bool? = nil,
|
7121
7148
|
useBundleExec: Bool = false,
|
7122
|
-
binaryBasename:
|
7149
|
+
binaryBasename: [String]? = nil,
|
7123
7150
|
binaryFile: [String]? = nil,
|
7124
7151
|
arch: String? = nil,
|
7125
7152
|
sourceFiles: Bool = false,
|
@@ -7439,6 +7466,7 @@ public func splunkmint(dsym: String? = nil,
|
|
7439
7466
|
|
7440
7467
|
- parameters:
|
7441
7468
|
- command: The swift command (one of: build, test, clean, reset, update, resolve, generate-xcodeproj, init)
|
7469
|
+
- enableCodeCoverage: Enables code coverage for the generated Xcode project when using the generate-xcodeproj command
|
7442
7470
|
- buildPath: Specify build/cache directory [default: ./.build]
|
7443
7471
|
- packagePath: Change working directory before any other operation
|
7444
7472
|
- xcconfig: Use xcconfig file to override swift package generate-xcodeproj defaults
|
@@ -7449,6 +7477,7 @@ public func splunkmint(dsym: String? = nil,
|
|
7449
7477
|
- verbose: Increase verbosity of informational output
|
7450
7478
|
*/
|
7451
7479
|
public func spm(command: String = "build",
|
7480
|
+
enableCodeCoverage: Any? = nil,
|
7452
7481
|
buildPath: String? = nil,
|
7453
7482
|
packagePath: String? = nil,
|
7454
7483
|
xcconfig: String? = nil,
|
@@ -7459,6 +7488,7 @@ public func spm(command: String = "build",
|
|
7459
7488
|
verbose: Bool = false)
|
7460
7489
|
{
|
7461
7490
|
let command = RubyCommand(commandID: "", methodName: "spm", className: nil, args: [RubyCommand.Argument(name: "command", value: command),
|
7491
|
+
RubyCommand.Argument(name: "enable_code_coverage", value: enableCodeCoverage),
|
7462
7492
|
RubyCommand.Argument(name: "build_path", value: buildPath),
|
7463
7493
|
RubyCommand.Argument(name: "package_path", value: packagePath),
|
7464
7494
|
RubyCommand.Argument(name: "xcconfig", value: xcconfig),
|
@@ -7508,7 +7538,7 @@ public func ssh(username: String,
|
|
7508
7538
|
- versionCode: Version code (used when updating rollout or promoting specific versions)
|
7509
7539
|
- releaseStatus: Release status (used when uploading new apks/aabs) - valid values are completed, draft, halted, inProgress
|
7510
7540
|
- track: The track of the application to use. The default available tracks are: production, beta, alpha, internal
|
7511
|
-
- rollout: The percentage of the user fraction when uploading to the rollout track
|
7541
|
+
- rollout: The percentage of the user fraction when uploading to the rollout track (setting to 1 will complete the rollout)
|
7512
7542
|
- metadataPath: Path to the directory containing the metadata files
|
7513
7543
|
- key: **DEPRECATED!** Use `--json_key` instead - The p12 File used to authenticate with Google
|
7514
7544
|
- issuer: **DEPRECATED!** Use `--json_key` instead - The issuer of the p12 file (email address of the service account)
|
@@ -7673,7 +7703,7 @@ public func swiftlint(mode: Any = "lint",
|
|
7673
7703
|
Easily sync your certificates and profiles across your team (via _match_)
|
7674
7704
|
|
7675
7705
|
- parameters:
|
7676
|
-
- type: Define the profile type, can be appstore, adhoc, development, enterprise, developer_id
|
7706
|
+
- type: Define the profile type, can be appstore, adhoc, development, enterprise, developer_id, mac_installer_distribution
|
7677
7707
|
- additionalCertTypes: Create additional cert types needed for macOS installers (valid values: mac_installer_distribution, developer_id_installer)
|
7678
7708
|
- readonly: Only fetch existing certificates and profiles, don't generate new ones
|
7679
7709
|
- generateAppleCerts: Create a certificate type for Xcode 11 and later (Apple Development or Apple Distribution)
|
@@ -7703,7 +7733,7 @@ public func swiftlint(mode: Any = "lint",
|
|
7703
7733
|
- s3Bucket: Name of the S3 bucket
|
7704
7734
|
- s3ObjectPrefix: Prefix to be used on all objects uploaded to S3
|
7705
7735
|
- keychainName: Keychain the items should be imported to
|
7706
|
-
- keychainPassword: This might be required the first time you access certificates on a new mac. For the login/default keychain this is your account password
|
7736
|
+
- 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
|
7707
7737
|
- force: Renew the provisioning profiles every time you run match
|
7708
7738
|
- forceForNewDevices: Renew the provisioning profiles if the device count on the developer portal has changed. Ignored for profile type 'appstore'
|
7709
7739
|
- skipConfirmation: Disables confirmation prompts during nuke, answering them with yes
|
@@ -8400,6 +8430,44 @@ public func updateUrlSchemes(path: String,
|
|
8400
8430
|
_ = runner.executeCommand(command)
|
8401
8431
|
}
|
8402
8432
|
|
8433
|
+
/**
|
8434
|
+
Upload App Privacy Details for an app in App Store Connect
|
8435
|
+
|
8436
|
+
- parameters:
|
8437
|
+
- username: Your Apple ID Username for App Store Connect
|
8438
|
+
- appIdentifier: The bundle identifier of your app
|
8439
|
+
- teamId: The ID of your App Store Connect team if you're in multiple teams
|
8440
|
+
- teamName: The name of your App Store Connect team if you're in multiple teams
|
8441
|
+
- jsonPath: Path to the app usage data JSON
|
8442
|
+
- outputJsonPath: Path to the app usage data JSON file generated by interactive questions
|
8443
|
+
- skipJsonFileSaving: Whether to skip the saving of the JSON file
|
8444
|
+
- skipUpload: Whether to skip the upload and only create the JSON file with interactive questions
|
8445
|
+
- skipPublish: Whether to skip the publishing
|
8446
|
+
|
8447
|
+
Upload App Privacy Details for an app in App Store Connect. For more detail information, view https://docs.fastlane.tools/uploading-app-privacy-details
|
8448
|
+
*/
|
8449
|
+
public func uploadAppPrivacyDetailsToAppStore(username: String,
|
8450
|
+
appIdentifier: String,
|
8451
|
+
teamId: Any? = nil,
|
8452
|
+
teamName: String? = nil,
|
8453
|
+
jsonPath: String? = nil,
|
8454
|
+
outputJsonPath: String = "./fastlane/app_privacy_details.json",
|
8455
|
+
skipJsonFileSaving: Bool = false,
|
8456
|
+
skipUpload: Bool = false,
|
8457
|
+
skipPublish: Bool = false)
|
8458
|
+
{
|
8459
|
+
let command = RubyCommand(commandID: "", methodName: "upload_app_privacy_details_to_app_store", className: nil, args: [RubyCommand.Argument(name: "username", value: username),
|
8460
|
+
RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
|
8461
|
+
RubyCommand.Argument(name: "team_id", value: teamId),
|
8462
|
+
RubyCommand.Argument(name: "team_name", value: teamName),
|
8463
|
+
RubyCommand.Argument(name: "json_path", value: jsonPath),
|
8464
|
+
RubyCommand.Argument(name: "output_json_path", value: outputJsonPath),
|
8465
|
+
RubyCommand.Argument(name: "skip_json_file_saving", value: skipJsonFileSaving),
|
8466
|
+
RubyCommand.Argument(name: "skip_upload", value: skipUpload),
|
8467
|
+
RubyCommand.Argument(name: "skip_publish", value: skipPublish)])
|
8468
|
+
_ = runner.executeCommand(command)
|
8469
|
+
}
|
8470
|
+
|
8403
8471
|
/**
|
8404
8472
|
Upload dSYM symbolication files to Crashlytics
|
8405
8473
|
|
@@ -8683,7 +8751,7 @@ public func uploadToAppStore(apiKeyPath: String? = nil,
|
|
8683
8751
|
- versionCode: Version code (used when updating rollout or promoting specific versions)
|
8684
8752
|
- releaseStatus: Release status (used when uploading new apks/aabs) - valid values are completed, draft, halted, inProgress
|
8685
8753
|
- track: The track of the application to use. The default available tracks are: production, beta, alpha, internal
|
8686
|
-
- rollout: The percentage of the user fraction when uploading to the rollout track
|
8754
|
+
- rollout: The percentage of the user fraction when uploading to the rollout track (setting to 1 will complete the rollout)
|
8687
8755
|
- metadataPath: Path to the directory containing the metadata files
|
8688
8756
|
- key: **DEPRECATED!** Use `--json_key` instead - The p12 File used to authenticate with Google
|
8689
8757
|
- issuer: **DEPRECATED!** Use `--json_key` instead - The issuer of the p12 file (email address of the service account)
|
@@ -9116,6 +9184,7 @@ public func xcexport() {
|
|
9116
9184
|
- version: The version number of the version of Xcode to install
|
9117
9185
|
- username: Your Apple ID Username
|
9118
9186
|
- teamId: The ID of your team if you're in multiple teams
|
9187
|
+
- downloadRetryAttempts: Number of times the download will be retried in case of failure
|
9119
9188
|
|
9120
9189
|
- returns: The path to the newly installed Xcode version
|
9121
9190
|
|
@@ -9123,11 +9192,13 @@ public func xcexport() {
|
|
9123
9192
|
*/
|
9124
9193
|
@discardableResult public func xcodeInstall(version: String,
|
9125
9194
|
username: String,
|
9126
|
-
teamId: String? = nil
|
9195
|
+
teamId: String? = nil,
|
9196
|
+
downloadRetryAttempts: Int = 3) -> String
|
9127
9197
|
{
|
9128
9198
|
let command = RubyCommand(commandID: "", methodName: "xcode_install", className: nil, args: [RubyCommand.Argument(name: "version", value: version),
|
9129
9199
|
RubyCommand.Argument(name: "username", value: username),
|
9130
|
-
RubyCommand.Argument(name: "team_id", value: teamId)
|
9200
|
+
RubyCommand.Argument(name: "team_id", value: teamId),
|
9201
|
+
RubyCommand.Argument(name: "download_retry_attempts", value: downloadRetryAttempts)])
|
9131
9202
|
return runner.executeCommand(command)
|
9132
9203
|
}
|
9133
9204
|
|
@@ -9253,7 +9324,7 @@ public func xcov(workspace: String? = nil,
|
|
9253
9324
|
coverallsServiceJobId: String? = nil,
|
9254
9325
|
coverallsRepoToken: String? = nil,
|
9255
9326
|
xcconfig: String? = nil,
|
9256
|
-
ideFoundationPath: String = "/Applications/Xcode-12.
|
9327
|
+
ideFoundationPath: String = "/Applications/Xcode-12.2.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
|
9257
9328
|
legacySupport: Bool = false)
|
9258
9329
|
{
|
9259
9330
|
let command = RubyCommand(commandID: "", methodName: "xcov", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
|
@@ -9399,4 +9470,4 @@ public let snapshotfile = Snapshotfile()
|
|
9399
9470
|
|
9400
9471
|
// Please don't remove the lines below
|
9401
9472
|
// They are used to detect outdated files
|
9402
|
-
// FastlaneRunnerAPIVersion [0.9.
|
9473
|
+
// FastlaneRunnerAPIVersion [0.9.106]
|