fastlane 2.187.0 → 2.191.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 +94 -94
- data/deliver/lib/deliver/app_screenshot.rb +2 -1
- data/deliver/lib/deliver/app_screenshot_iterator.rb +2 -2
- data/deliver/lib/deliver/loader.rb +1 -1
- data/deliver/lib/deliver/options.rb +6 -0
- data/deliver/lib/deliver/runner.rb +9 -1
- data/deliver/lib/deliver/screenshot_comparable.rb +62 -0
- data/deliver/lib/deliver/sync_screenshots.rb +200 -0
- data/fastlane/lib/fastlane/actions/app_store_connect_api_key.rb +1 -1
- data/fastlane/lib/fastlane/actions/appledoc.rb +45 -45
- data/fastlane/lib/fastlane/actions/automatic_code_signing.rb +1 -2
- data/fastlane/lib/fastlane/actions/bundle_install.rb +13 -1
- data/fastlane/lib/fastlane/actions/clean_cocoapods_cache.rb +25 -1
- data/fastlane/lib/fastlane/actions/docs/capture_android_screenshots.md +2 -2
- data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +2 -2
- data/fastlane/lib/fastlane/actions/gradle.rb +1 -1
- data/fastlane/lib/fastlane/actions/update_icloud_container_identifiers.rb +1 -4
- data/fastlane/lib/fastlane/actions/update_info_plist.rb +1 -1
- data/fastlane/lib/fastlane/actions/update_keychain_access_groups.rb +1 -4
- data/fastlane/lib/fastlane/actions/update_plist.rb +1 -1
- data/fastlane/lib/fastlane/actions/update_project_provisioning.rb +2 -2
- data/fastlane/lib/fastlane/actions/update_urban_airship_configuration.rb +0 -1
- data/fastlane/lib/fastlane/actions/update_url_schemes.rb +15 -26
- data/fastlane/lib/fastlane/actions/upload_app_privacy_details_to_app_store.rb +1 -2
- data/fastlane/lib/fastlane/actions/upload_symbols_to_sentry.rb +3 -10
- data/fastlane/lib/fastlane/actions/validate_play_store_json_key.rb +40 -44
- data/fastlane/lib/fastlane/actions/version_get_podspec.rb +1 -2
- data/fastlane/lib/fastlane/actions/xcode_server_get_assets.rb +3 -3
- data/fastlane/lib/fastlane/actions/zip.rb +86 -21
- data/fastlane/lib/fastlane/documentation/markdown_docs_generator.rb +1 -1
- data/fastlane/lib/fastlane/features.rb +3 -0
- data/fastlane/lib/fastlane/plugins/template/.circleci/config.yml +1 -1
- data/fastlane/lib/fastlane/plugins/template/.github/workflows/test.yml +1 -1
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +5 -1
- data/fastlane/swift/Fastlane.swift +108 -46
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/GymfileProtocol.swift +1 -1
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/MatchfileProtocol.swift +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/fastlane/swift/formatting/Brewfile.lock.json +17 -9
- data/fastlane_core/lib/fastlane_core/keychain_importer.rb +11 -4
- data/fastlane_core/lib/fastlane_core/ui/disable_colors.rb +1 -0
- data/pilot/lib/pilot.rb +0 -1
- data/precheck/lib/precheck/module.rb +2 -0
- data/precheck/lib/precheck/options.rb +3 -3
- data/produce/lib/produce/commands_generator.rb +28 -0
- data/produce/lib/produce/service.rb +15 -0
- data/scan/lib/scan/detect_values.rb +22 -13
- data/scan/lib/scan/module.rb +1 -0
- data/scan/lib/scan/options.rb +12 -1
- data/scan/lib/scan/test_command_generator.rb +29 -6
- data/scan/lib/scan/xcpretty_reporter_options_generator.rb +1 -1
- data/screengrab/lib/screengrab/runner.rb +2 -2
- data/sigh/lib/sigh/options.rb +2 -1
- data/spaceship/lib/spaceship/client.rb +19 -3
- data/spaceship/lib/spaceship/connect_api.rb +1 -0
- data/spaceship/lib/spaceship/connect_api/models/app.rb +7 -0
- data/spaceship/lib/spaceship/connect_api/models/capabilities.rb +27 -0
- data/spaceship/lib/spaceship/connect_api/models/user.rb +17 -3
- data/spaceship/lib/spaceship/connect_api/models/user_invitation.rb +26 -5
- data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +5 -0
- data/spaceship/lib/spaceship/connect_api/testflight/client.rb +3 -0
- data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +39 -0
- data/spaceship/lib/spaceship/connect_api/token.rb +2 -1
- data/spaceship/lib/spaceship/connect_api/tunes/client.rb +3 -0
- data/spaceship/lib/spaceship/connect_api/users/client.rb +3 -0
- data/spaceship/lib/spaceship/connect_api/users/users.rb +58 -3
- data/spaceship/lib/spaceship/tunes/tunes_client.rb +3 -0
- data/supply/lib/supply/client.rb +7 -1
- data/supply/lib/supply/options.rb +5 -0
- data/supply/lib/supply/uploader.rb +1 -1
- metadata +26 -28
- data/fastlane/lib/fastlane/.erb_template_helper.rb.swp +0 -0
- data/gym/lib/gym/generators/.package_command_generator_xcode7.rb.swp +0 -0
- data/pilot/lib/pilot/features.rb +0 -0
- data/spaceship/lib/spaceship/.DS_Store +0 -0
- data/spaceship/lib/spaceship/connect_api/models/.app_store_version_submission.rb.swp +0 -0
@@ -28,7 +28,6 @@ module Fastlane
|
|
28
28
|
FastlaneCore::ConfigItem.new(key: :path,
|
29
29
|
env_name: "FL_VERSION_PODSPEC_PATH",
|
30
30
|
description: "You must specify the path to the podspec file",
|
31
|
-
is_string: true,
|
32
31
|
code_gen_sensitive: true,
|
33
32
|
default_value: Dir["*.podspec"].last,
|
34
33
|
default_value_dynamic: true,
|
@@ -38,7 +37,7 @@ module Fastlane
|
|
38
37
|
FastlaneCore::ConfigItem.new(key: :require_variable_prefix,
|
39
38
|
env_name: "FL_VERSION_BUMP_PODSPEC_VERSION_REQUIRE_VARIABLE_PREFIX",
|
40
39
|
description: "true by default, this is used for non CocoaPods version bumps only",
|
41
|
-
|
40
|
+
type: Boolean,
|
42
41
|
default_value: true)
|
43
42
|
]
|
44
43
|
end
|
@@ -243,7 +243,7 @@ module Fastlane
|
|
243
243
|
FastlaneCore::ConfigItem.new(key: :integration_number,
|
244
244
|
env_name: "FL_XCODE_SERVER_GET_ASSETS_INTEGRATION_NUMBER",
|
245
245
|
description: "Optionally you can override which integration's assets should be downloaded. If not provided, the latest integration is used",
|
246
|
-
|
246
|
+
type: Integer,
|
247
247
|
optional: true),
|
248
248
|
FastlaneCore::ConfigItem.new(key: :username,
|
249
249
|
env_name: "FL_XCODE_SERVER_GET_ASSETS_USERNAME",
|
@@ -265,13 +265,13 @@ module Fastlane
|
|
265
265
|
env_name: "FL_XCODE_SERVER_GET_ASSETS_KEEP_ALL_ASSETS",
|
266
266
|
description: "Whether to keep all assets or let the script delete everything except for the .xcarchive",
|
267
267
|
optional: true,
|
268
|
-
|
268
|
+
type: Boolean,
|
269
269
|
default_value: false),
|
270
270
|
FastlaneCore::ConfigItem.new(key: :trust_self_signed_certs,
|
271
271
|
env_name: "FL_XCODE_SERVER_GET_ASSETS_TRUST_SELF_SIGNED_CERTS",
|
272
272
|
description: "Whether to trust self-signed certs on your Xcode Server",
|
273
273
|
optional: true,
|
274
|
-
|
274
|
+
type: Boolean,
|
275
275
|
default_value: true)
|
276
276
|
]
|
277
277
|
end
|
@@ -1,35 +1,76 @@
|
|
1
1
|
module Fastlane
|
2
2
|
module Actions
|
3
3
|
class ZipAction < Action
|
4
|
-
|
5
|
-
|
4
|
+
class Runner
|
5
|
+
attr_reader :output_path, :path, :verbose, :password, :symlinks, :include, :exclude
|
6
|
+
|
7
|
+
def initialize(params)
|
8
|
+
@output_path = File.expand_path(params[:output_path] || params[:path])
|
9
|
+
@path = params[:path]
|
10
|
+
@verbose = params[:verbose]
|
11
|
+
@password = params[:password]
|
12
|
+
@symlinks = params[:symlinks]
|
13
|
+
@include = params[:include]
|
14
|
+
@exclude = params[:exclude]
|
15
|
+
|
16
|
+
@output_path += ".zip" unless @output_path.end_with?(".zip")
|
17
|
+
end
|
18
|
+
|
19
|
+
def run
|
20
|
+
UI.message("Compressing #{path}...")
|
6
21
|
|
7
|
-
|
22
|
+
create_output_dir
|
23
|
+
run_zip_command
|
8
24
|
|
9
|
-
|
25
|
+
UI.success("Successfully generated zip file at path '#{output_path}'")
|
26
|
+
output_path
|
27
|
+
end
|
10
28
|
|
11
|
-
|
12
|
-
|
13
|
-
|
29
|
+
def create_output_dir
|
30
|
+
output_dir = File.expand_path("..", output_path)
|
31
|
+
FileUtils.mkdir_p(output_dir)
|
14
32
|
end
|
15
33
|
|
16
|
-
|
17
|
-
|
34
|
+
def run_zip_command
|
35
|
+
# The 'zip' command archives relative to the working directory, chdir to produce expected results relative to `path`
|
36
|
+
Dir.chdir(File.expand_path("..", path)) do
|
37
|
+
Actions.sh(zip_command)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def zip_command
|
42
|
+
zip_options = verbose ? "r" : "rq"
|
43
|
+
zip_options += "y" if symlinks
|
44
|
+
|
45
|
+
command = ["zip", "-#{zip_options}"]
|
46
|
+
|
47
|
+
if password
|
48
|
+
command << "-P"
|
49
|
+
command << password
|
50
|
+
end
|
51
|
+
|
52
|
+
# The zip command is executed from the paths **parent** directory, as a result we use just the basename, which is the file or folder within
|
53
|
+
basename = File.basename(path)
|
18
54
|
|
19
|
-
|
20
|
-
|
21
|
-
zip_options += "y" if params[:symlinks]
|
55
|
+
command << output_path.shellescape
|
56
|
+
command << basename.shellescape
|
22
57
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
else
|
27
|
-
Actions.sh("zip -#{zip_options} #{absolute_output_path.shellescape} #{File.basename(params[:path]).shellescape}")
|
58
|
+
unless include.empty?
|
59
|
+
command << "-i"
|
60
|
+
command += include.map { |path| File.join(basename, path) }
|
28
61
|
end
|
62
|
+
|
63
|
+
unless exclude.empty?
|
64
|
+
command << "-x"
|
65
|
+
command += exclude.map { |path| File.join(basename, path) }
|
66
|
+
end
|
67
|
+
|
68
|
+
command
|
29
69
|
end
|
70
|
+
end
|
30
71
|
|
31
|
-
|
32
|
-
|
72
|
+
def self.run(params)
|
73
|
+
Runner.new(params).run
|
33
74
|
end
|
34
75
|
|
35
76
|
#####################################################
|
@@ -46,7 +87,8 @@ module Fastlane
|
|
46
87
|
env_name: "FL_ZIP_PATH",
|
47
88
|
description: "Path to the directory or file to be zipped",
|
48
89
|
verify_block: proc do |value|
|
49
|
-
|
90
|
+
path = File.expand_path(value)
|
91
|
+
UI.user_error!("Couldn't find file/folder at path '#{path}'") unless File.exist?(path)
|
50
92
|
end),
|
51
93
|
FastlaneCore::ConfigItem.new(key: :output_path,
|
52
94
|
env_name: "FL_ZIP_OUTPUT_NAME",
|
@@ -67,7 +109,19 @@ module Fastlane
|
|
67
109
|
description: "Store symbolic links as such in the zip archive",
|
68
110
|
optional: true,
|
69
111
|
type: Boolean,
|
70
|
-
default_value: false)
|
112
|
+
default_value: false),
|
113
|
+
FastlaneCore::ConfigItem.new(key: :include,
|
114
|
+
env_name: "FL_ZIP_INCLUDE",
|
115
|
+
description: "Array of paths or patterns to include",
|
116
|
+
optional: true,
|
117
|
+
type: Array,
|
118
|
+
default_value: []),
|
119
|
+
FastlaneCore::ConfigItem.new(key: :exclude,
|
120
|
+
env_name: "FL_ZIP_EXCLUDE",
|
121
|
+
description: "Array of paths or patterns to exclude",
|
122
|
+
optional: true,
|
123
|
+
type: Array,
|
124
|
+
default_value: [])
|
71
125
|
]
|
72
126
|
end
|
73
127
|
|
@@ -88,6 +142,17 @@ module Fastlane
|
|
88
142
|
output_path: "Latest.app.zip",
|
89
143
|
verbose: false,
|
90
144
|
symlinks: true
|
145
|
+
)',
|
146
|
+
'zip(
|
147
|
+
path: "./",
|
148
|
+
output_path: "Source Code.zip",
|
149
|
+
exclude: [".git/*"]
|
150
|
+
)',
|
151
|
+
'zip(
|
152
|
+
path: "./",
|
153
|
+
output_path: "Swift Code.zip",
|
154
|
+
include: ["**/*.swift"],
|
155
|
+
exclude: ["Package.swift", "vendor/*", "Pods/*"]
|
91
156
|
)'
|
92
157
|
]
|
93
158
|
end
|
@@ -175,7 +175,7 @@ module Fastlane
|
|
175
175
|
mkdocs_yml_path = File.join(target_path, "mkdocs.yml")
|
176
176
|
raise "Could not find mkdocs.yml in #{target_path}, make sure to point to the fastlane/docs repo" unless File.exist?(mkdocs_yml_path)
|
177
177
|
mkdocs_yml = YAML.load_file(mkdocs_yml_path)
|
178
|
-
hidden_actions_array = mkdocs_yml["
|
178
|
+
hidden_actions_array = mkdocs_yml["nav"].find { |p| !p["_Actions"].nil? }
|
179
179
|
hidden_actions_array["_Actions"] = all_actions_ref_yml
|
180
180
|
File.write(mkdocs_yml_path, mkdocs_yml.to_yaml)
|
181
181
|
|
@@ -2,3 +2,6 @@
|
|
2
2
|
|
3
3
|
# FastlaneCore::Feature.register(env_var: 'YOUR_FEATURE_SWITCH_ENV_VAR',
|
4
4
|
# description: 'Describe what this feature switch controls')
|
5
|
+
|
6
|
+
FastlaneCore::Feature.register(env_var: 'FASTLANE_ENABLE_BETA_DELIVER_SYNC_SCREENSHOTS',
|
7
|
+
description: 'Use a newly implemented screenshots synchronization logic')
|
@@ -59,6 +59,9 @@ public protocol DeliverfileProtocol: class {
|
|
59
59
|
/// Clear all previously uploaded screenshots before uploading the new ones
|
60
60
|
var overwriteScreenshots: Bool { get }
|
61
61
|
|
62
|
+
/// Sync screenshots with local ones. This is currently beta optionso set true to 'FASTLANE_ENABLE_BETA_DELIVER_SYNC_SCREENSHOTS' environment variable as well
|
63
|
+
var syncScreenshots: Bool { get }
|
64
|
+
|
62
65
|
/// Submit the new version for Review after uploading everything
|
63
66
|
var submitForReview: Bool { get }
|
64
67
|
|
@@ -209,6 +212,7 @@ public extension DeliverfileProtocol {
|
|
209
212
|
var skipAppVersionUpdate: Bool { return false }
|
210
213
|
var force: Bool { return false }
|
211
214
|
var overwriteScreenshots: Bool { return false }
|
215
|
+
var syncScreenshots: Bool { return false }
|
212
216
|
var submitForReview: Bool { return false }
|
213
217
|
var rejectIfPossible: Bool { return false }
|
214
218
|
var automaticRelease: Bool? { return nil }
|
@@ -256,4 +260,4 @@ public extension DeliverfileProtocol {
|
|
256
260
|
|
257
261
|
// Please don't remove the lines below
|
258
262
|
// They are used to detect outdated files
|
259
|
-
// FastlaneRunnerAPIVersion [0.9.
|
263
|
+
// FastlaneRunnerAPIVersion [0.9.79]
|
@@ -204,7 +204,7 @@ public func appStoreConnectApiKey(keyId: String,
|
|
204
204
|
keyFilepath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
205
205
|
keyContent: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
206
206
|
isKeyContentBase64: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
207
|
-
duration: Int =
|
207
|
+
duration: Int = 500,
|
208
208
|
inHouse: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
209
209
|
setSpaceshipToken: OptionalConfigValue<Bool> = .fastlaneDefault(true))
|
210
210
|
{
|
@@ -495,13 +495,13 @@ public func appium(platform: String,
|
|
495
495
|
|
496
496
|
Runs `appledoc [OPTIONS] <paths to source dirs or files>` for the project
|
497
497
|
*/
|
498
|
-
public func appledoc(input:
|
498
|
+
public func appledoc(input: [String],
|
499
499
|
output: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
500
500
|
templates: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
501
501
|
docsetInstallPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
502
502
|
include: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
503
|
-
ignore:
|
504
|
-
excludeOutput:
|
503
|
+
ignore: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
|
504
|
+
excludeOutput: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
|
505
505
|
indexDesc: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
506
506
|
projectName: String,
|
507
507
|
projectVersion: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
@@ -538,16 +538,16 @@ public func appledoc(input: Any,
|
|
538
538
|
exitThreshold: Int = 2,
|
539
539
|
docsSectionTitle: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
540
540
|
warnings: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
541
|
-
logformat:
|
542
|
-
verbose:
|
541
|
+
logformat: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
|
542
|
+
verbose: OptionalConfigValue<String?> = .fastlaneDefault(nil))
|
543
543
|
{
|
544
544
|
let inputArg = RubyCommand.Argument(name: "input", value: input, type: nil)
|
545
545
|
let outputArg = output.asRubyArgument(name: "output", type: nil)
|
546
546
|
let templatesArg = templates.asRubyArgument(name: "templates", type: nil)
|
547
547
|
let docsetInstallPathArg = docsetInstallPath.asRubyArgument(name: "docset_install_path", type: nil)
|
548
548
|
let includeArg = include.asRubyArgument(name: "include", type: nil)
|
549
|
-
let ignoreArg =
|
550
|
-
let excludeOutputArg =
|
549
|
+
let ignoreArg = ignore.asRubyArgument(name: "ignore", type: nil)
|
550
|
+
let excludeOutputArg = excludeOutput.asRubyArgument(name: "exclude_output", type: nil)
|
551
551
|
let indexDescArg = indexDesc.asRubyArgument(name: "index_desc", type: nil)
|
552
552
|
let projectNameArg = RubyCommand.Argument(name: "project_name", value: projectName, type: nil)
|
553
553
|
let projectVersionArg = projectVersion.asRubyArgument(name: "project_version", type: nil)
|
@@ -584,8 +584,8 @@ public func appledoc(input: Any,
|
|
584
584
|
let exitThresholdArg = RubyCommand.Argument(name: "exit_threshold", value: exitThreshold, type: nil)
|
585
585
|
let docsSectionTitleArg = docsSectionTitle.asRubyArgument(name: "docs_section_title", type: nil)
|
586
586
|
let warningsArg = warnings.asRubyArgument(name: "warnings", type: nil)
|
587
|
-
let logformatArg =
|
588
|
-
let verboseArg =
|
587
|
+
let logformatArg = logformat.asRubyArgument(name: "logformat", type: nil)
|
588
|
+
let verboseArg = verbose.asRubyArgument(name: "verbose", type: nil)
|
589
589
|
let array: [RubyCommand.Argument?] = [inputArg,
|
590
590
|
outputArg,
|
591
591
|
templatesArg,
|
@@ -661,6 +661,7 @@ public func appledoc(input: Any,
|
|
661
661
|
- skipAppVersionUpdate: Don’t create or update the app version that is being prepared for submission
|
662
662
|
- force: Skip verification of HTML preview file
|
663
663
|
- overwriteScreenshots: Clear all previously uploaded screenshots before uploading the new ones
|
664
|
+
- syncScreenshots: Sync screenshots with local ones. This is currently beta optionso set true to 'FASTLANE_ENABLE_BETA_DELIVER_SYNC_SCREENSHOTS' environment variable as well
|
664
665
|
- submitForReview: Submit the new version for Review after uploading everything
|
665
666
|
- rejectIfPossible: Rejects the previously submitted build if it's in a state where it's possible
|
666
667
|
- automaticRelease: Should the app be automatically released once it's approved? (Can not be used together with `auto_release_date`)
|
@@ -731,6 +732,7 @@ public func appstore(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault
|
|
731
732
|
skipAppVersionUpdate: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
732
733
|
force: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
733
734
|
overwriteScreenshots: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
735
|
+
syncScreenshots: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
734
736
|
submitForReview: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
735
737
|
rejectIfPossible: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
736
738
|
automaticRelease: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
@@ -794,6 +796,7 @@ public func appstore(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault
|
|
794
796
|
let skipAppVersionUpdateArg = skipAppVersionUpdate.asRubyArgument(name: "skip_app_version_update", type: nil)
|
795
797
|
let forceArg = force.asRubyArgument(name: "force", type: nil)
|
796
798
|
let overwriteScreenshotsArg = overwriteScreenshots.asRubyArgument(name: "overwrite_screenshots", type: nil)
|
799
|
+
let syncScreenshotsArg = syncScreenshots.asRubyArgument(name: "sync_screenshots", type: nil)
|
797
800
|
let submitForReviewArg = submitForReview.asRubyArgument(name: "submit_for_review", type: nil)
|
798
801
|
let rejectIfPossibleArg = rejectIfPossible.asRubyArgument(name: "reject_if_possible", type: nil)
|
799
802
|
let automaticReleaseArg = automaticRelease.asRubyArgument(name: "automatic_release", type: nil)
|
@@ -856,6 +859,7 @@ public func appstore(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault
|
|
856
859
|
skipAppVersionUpdateArg,
|
857
860
|
forceArg,
|
858
861
|
overwriteScreenshotsArg,
|
862
|
+
syncScreenshotsArg,
|
859
863
|
submitForReviewArg,
|
860
864
|
rejectIfPossibleArg,
|
861
865
|
automaticReleaseArg,
|
@@ -1888,6 +1892,8 @@ public func buildAndroidApp(task: OptionalConfigValue<String?> = .fastlaneDefaul
|
|
1888
1892
|
- trustPolicy: Sets level of security when dealing with signed gems. Accepts `LowSecurity`, `MediumSecurity` and `HighSecurity` as values
|
1889
1893
|
- without: Exclude gems that are part of the specified named group
|
1890
1894
|
- with: Include gems that are part of the specified named group
|
1895
|
+
- frozen: Don't allow the Gemfile.lock to be updated after install
|
1896
|
+
- redownload: Force download every gem, even if the required versions are already available locally
|
1891
1897
|
*/
|
1892
1898
|
public func bundleInstall(binstubs: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
1893
1899
|
clean: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
@@ -1906,7 +1912,9 @@ public func bundleInstall(binstubs: OptionalConfigValue<String?> = .fastlaneDefa
|
|
1906
1912
|
standalone: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
1907
1913
|
trustPolicy: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
1908
1914
|
without: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
1909
|
-
with: OptionalConfigValue<String?> = .fastlaneDefault(nil)
|
1915
|
+
with: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
1916
|
+
frozen: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
1917
|
+
redownload: OptionalConfigValue<Bool> = .fastlaneDefault(false))
|
1910
1918
|
{
|
1911
1919
|
let binstubsArg = binstubs.asRubyArgument(name: "binstubs", type: nil)
|
1912
1920
|
let cleanArg = clean.asRubyArgument(name: "clean", type: nil)
|
@@ -1926,6 +1934,8 @@ public func bundleInstall(binstubs: OptionalConfigValue<String?> = .fastlaneDefa
|
|
1926
1934
|
let trustPolicyArg = trustPolicy.asRubyArgument(name: "trust_policy", type: nil)
|
1927
1935
|
let withoutArg = without.asRubyArgument(name: "without", type: nil)
|
1928
1936
|
let withArg = with.asRubyArgument(name: "with", type: nil)
|
1937
|
+
let frozenArg = frozen.asRubyArgument(name: "frozen", type: nil)
|
1938
|
+
let redownloadArg = redownload.asRubyArgument(name: "redownload", type: nil)
|
1929
1939
|
let array: [RubyCommand.Argument?] = [binstubsArg,
|
1930
1940
|
cleanArg,
|
1931
1941
|
fullIndexArg,
|
@@ -1943,7 +1953,9 @@ public func bundleInstall(binstubs: OptionalConfigValue<String?> = .fastlaneDefa
|
|
1943
1953
|
standaloneArg,
|
1944
1954
|
trustPolicyArg,
|
1945
1955
|
withoutArg,
|
1946
|
-
withArg
|
1956
|
+
withArg,
|
1957
|
+
frozenArg,
|
1958
|
+
redownloadArg]
|
1947
1959
|
let args: [RubyCommand.Argument] = array
|
1948
1960
|
.filter { $0?.value != nil }
|
1949
1961
|
.compactMap { $0 }
|
@@ -2771,7 +2783,7 @@ public func chatwork(apiToken: String,
|
|
2771
2783
|
teamId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
2772
2784
|
teamName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
2773
2785
|
platform: String = "ios",
|
2774
|
-
defaultRuleLevel:
|
2786
|
+
defaultRuleLevel: String = "error",
|
2775
2787
|
includeInAppPurchases: OptionalConfigValue<Bool> = .fastlaneDefault(true),
|
2776
2788
|
useLive: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
2777
2789
|
negativeAppleSentiment: Any? = nil,
|
@@ -2854,11 +2866,29 @@ public func cleanBuildArtifacts(excludePattern: OptionalConfigValue<String?> = .
|
|
2854
2866
|
/**
|
2855
2867
|
Remove the cache for pods
|
2856
2868
|
|
2857
|
-
-
|
2869
|
+
- parameters:
|
2870
|
+
- name: Pod name to be removed from cache
|
2871
|
+
- noAnsi: Show output without ANSI codes
|
2872
|
+
- verbose: Show more debugging information
|
2873
|
+
- silent: Show nothing
|
2874
|
+
- allowRoot: Allows CocoaPods to run as root
|
2858
2875
|
*/
|
2859
|
-
public func cleanCocoapodsCache(name: OptionalConfigValue<String?> = .fastlaneDefault(nil)
|
2876
|
+
public func cleanCocoapodsCache(name: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
2877
|
+
noAnsi: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
2878
|
+
verbose: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
2879
|
+
silent: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
2880
|
+
allowRoot: OptionalConfigValue<Bool> = .fastlaneDefault(false))
|
2881
|
+
{
|
2860
2882
|
let nameArg = name.asRubyArgument(name: "name", type: nil)
|
2861
|
-
let
|
2883
|
+
let noAnsiArg = noAnsi.asRubyArgument(name: "no_ansi", type: nil)
|
2884
|
+
let verboseArg = verbose.asRubyArgument(name: "verbose", type: nil)
|
2885
|
+
let silentArg = silent.asRubyArgument(name: "silent", type: nil)
|
2886
|
+
let allowRootArg = allowRoot.asRubyArgument(name: "allow_root", type: nil)
|
2887
|
+
let array: [RubyCommand.Argument?] = [nameArg,
|
2888
|
+
noAnsiArg,
|
2889
|
+
verboseArg,
|
2890
|
+
silentArg,
|
2891
|
+
allowRootArg]
|
2862
2892
|
let args: [RubyCommand.Argument] = array
|
2863
2893
|
.filter { $0?.value != nil }
|
2864
2894
|
.compactMap { $0 }
|
@@ -3642,6 +3672,7 @@ public func deleteKeychain(name: OptionalConfigValue<String?> = .fastlaneDefault
|
|
3642
3672
|
- skipAppVersionUpdate: Don’t create or update the app version that is being prepared for submission
|
3643
3673
|
- force: Skip verification of HTML preview file
|
3644
3674
|
- overwriteScreenshots: Clear all previously uploaded screenshots before uploading the new ones
|
3675
|
+
- syncScreenshots: Sync screenshots with local ones. This is currently beta optionso set true to 'FASTLANE_ENABLE_BETA_DELIVER_SYNC_SCREENSHOTS' environment variable as well
|
3645
3676
|
- submitForReview: Submit the new version for Review after uploading everything
|
3646
3677
|
- rejectIfPossible: Rejects the previously submitted build if it's in a state where it's possible
|
3647
3678
|
- automaticRelease: Should the app be automatically released once it's approved? (Can not be used together with `auto_release_date`)
|
@@ -3712,6 +3743,7 @@ public func deliver(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault(
|
|
3712
3743
|
skipAppVersionUpdate: OptionalConfigValue<Bool> = .fastlaneDefault(deliverfile.skipAppVersionUpdate),
|
3713
3744
|
force: OptionalConfigValue<Bool> = .fastlaneDefault(deliverfile.force),
|
3714
3745
|
overwriteScreenshots: OptionalConfigValue<Bool> = .fastlaneDefault(deliverfile.overwriteScreenshots),
|
3746
|
+
syncScreenshots: OptionalConfigValue<Bool> = .fastlaneDefault(deliverfile.syncScreenshots),
|
3715
3747
|
submitForReview: OptionalConfigValue<Bool> = .fastlaneDefault(deliverfile.submitForReview),
|
3716
3748
|
rejectIfPossible: OptionalConfigValue<Bool> = .fastlaneDefault(deliverfile.rejectIfPossible),
|
3717
3749
|
automaticRelease: OptionalConfigValue<Bool?> = .fastlaneDefault(deliverfile.automaticRelease),
|
@@ -3775,6 +3807,7 @@ public func deliver(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault(
|
|
3775
3807
|
let skipAppVersionUpdateArg = skipAppVersionUpdate.asRubyArgument(name: "skip_app_version_update", type: nil)
|
3776
3808
|
let forceArg = force.asRubyArgument(name: "force", type: nil)
|
3777
3809
|
let overwriteScreenshotsArg = overwriteScreenshots.asRubyArgument(name: "overwrite_screenshots", type: nil)
|
3810
|
+
let syncScreenshotsArg = syncScreenshots.asRubyArgument(name: "sync_screenshots", type: nil)
|
3778
3811
|
let submitForReviewArg = submitForReview.asRubyArgument(name: "submit_for_review", type: nil)
|
3779
3812
|
let rejectIfPossibleArg = rejectIfPossible.asRubyArgument(name: "reject_if_possible", type: nil)
|
3780
3813
|
let automaticReleaseArg = automaticRelease.asRubyArgument(name: "automatic_release", type: nil)
|
@@ -3837,6 +3870,7 @@ public func deliver(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault(
|
|
3837
3870
|
skipAppVersionUpdateArg,
|
3838
3871
|
forceArg,
|
3839
3872
|
overwriteScreenshotsArg,
|
3873
|
+
syncScreenshotsArg,
|
3840
3874
|
submitForReviewArg,
|
3841
3875
|
rejectIfPossibleArg,
|
3842
3876
|
automaticReleaseArg,
|
@@ -4102,7 +4136,7 @@ public func downloadDsyms(username: String,
|
|
4102
4136
|
public func downloadFromPlayStore(packageName: String,
|
4103
4137
|
versionName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
4104
4138
|
track: String = "production",
|
4105
|
-
metadataPath: String =
|
4139
|
+
metadataPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
4106
4140
|
key: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
4107
4141
|
issuer: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
4108
4142
|
jsonKey: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
@@ -4113,7 +4147,7 @@ public func downloadFromPlayStore(packageName: String,
|
|
4113
4147
|
let packageNameArg = RubyCommand.Argument(name: "package_name", value: packageName, type: nil)
|
4114
4148
|
let versionNameArg = versionName.asRubyArgument(name: "version_name", type: nil)
|
4115
4149
|
let trackArg = RubyCommand.Argument(name: "track", value: track, type: nil)
|
4116
|
-
let metadataPathArg =
|
4150
|
+
let metadataPathArg = metadataPath.asRubyArgument(name: "metadata_path", type: nil)
|
4117
4151
|
let keyArg = key.asRubyArgument(name: "key", type: nil)
|
4118
4152
|
let issuerArg = issuer.asRubyArgument(name: "issuer", type: nil)
|
4119
4153
|
let jsonKeyArg = jsonKey.asRubyArgument(name: "json_key", type: nil)
|
@@ -8467,6 +8501,7 @@ public func rubyVersion() {
|
|
8467
8501
|
- parameters:
|
8468
8502
|
- workspace: Path to the workspace file
|
8469
8503
|
- project: Path to the project file
|
8504
|
+
- packagePath: Path to the Swift Package
|
8470
8505
|
- scheme: The project's scheme. Make sure it's marked as `Shared`
|
8471
8506
|
- device: The name of the simulator type you want to run tests on (e.g. 'iPhone 6')
|
8472
8507
|
- devices: Array of devices to run the tests on (e.g. ['iPhone 6', 'iPad Air'])
|
@@ -8541,6 +8576,7 @@ public func rubyVersion() {
|
|
8541
8576
|
*/
|
8542
8577
|
public func runTests(workspace: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8543
8578
|
project: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8579
|
+
packagePath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8544
8580
|
scheme: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8545
8581
|
device: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
8546
8582
|
devices: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
|
@@ -8613,6 +8649,7 @@ public func runTests(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
|
|
8613
8649
|
{
|
8614
8650
|
let workspaceArg = workspace.asRubyArgument(name: "workspace", type: nil)
|
8615
8651
|
let projectArg = project.asRubyArgument(name: "project", type: nil)
|
8652
|
+
let packagePathArg = packagePath.asRubyArgument(name: "package_path", type: nil)
|
8616
8653
|
let schemeArg = scheme.asRubyArgument(name: "scheme", type: nil)
|
8617
8654
|
let deviceArg = device.asRubyArgument(name: "device", type: nil)
|
8618
8655
|
let devicesArg = devices.asRubyArgument(name: "devices", type: nil)
|
@@ -8684,6 +8721,7 @@ public func runTests(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
|
|
8684
8721
|
let failBuildArg = failBuild.asRubyArgument(name: "fail_build", type: nil)
|
8685
8722
|
let array: [RubyCommand.Argument?] = [workspaceArg,
|
8686
8723
|
projectArg,
|
8724
|
+
packagePathArg,
|
8687
8725
|
schemeArg,
|
8688
8726
|
deviceArg,
|
8689
8727
|
devicesArg,
|
@@ -8868,6 +8906,7 @@ public func say(text: [String],
|
|
8868
8906
|
- parameters:
|
8869
8907
|
- workspace: Path to the workspace file
|
8870
8908
|
- project: Path to the project file
|
8909
|
+
- packagePath: Path to the Swift Package
|
8871
8910
|
- scheme: The project's scheme. Make sure it's marked as `Shared`
|
8872
8911
|
- device: The name of the simulator type you want to run tests on (e.g. 'iPhone 6')
|
8873
8912
|
- devices: Array of devices to run the tests on (e.g. ['iPhone 6', 'iPad Air'])
|
@@ -8942,6 +8981,7 @@ public func say(text: [String],
|
|
8942
8981
|
*/
|
8943
8982
|
public func scan(workspace: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.workspace),
|
8944
8983
|
project: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.project),
|
8984
|
+
packagePath: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.packagePath),
|
8945
8985
|
scheme: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.scheme),
|
8946
8986
|
device: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.device),
|
8947
8987
|
devices: OptionalConfigValue<[String]?> = .fastlaneDefault(scanfile.devices),
|
@@ -9014,6 +9054,7 @@ public func scan(workspace: OptionalConfigValue<String?> = .fastlaneDefault(scan
|
|
9014
9054
|
{
|
9015
9055
|
let workspaceArg = workspace.asRubyArgument(name: "workspace", type: nil)
|
9016
9056
|
let projectArg = project.asRubyArgument(name: "project", type: nil)
|
9057
|
+
let packagePathArg = packagePath.asRubyArgument(name: "package_path", type: nil)
|
9017
9058
|
let schemeArg = scheme.asRubyArgument(name: "scheme", type: nil)
|
9018
9059
|
let deviceArg = device.asRubyArgument(name: "device", type: nil)
|
9019
9060
|
let devicesArg = devices.asRubyArgument(name: "devices", type: nil)
|
@@ -9085,6 +9126,7 @@ public func scan(workspace: OptionalConfigValue<String?> = .fastlaneDefault(scan
|
|
9085
9126
|
let failBuildArg = failBuild.asRubyArgument(name: "fail_build", type: nil)
|
9086
9127
|
let array: [RubyCommand.Argument?] = [workspaceArg,
|
9087
9128
|
projectArg,
|
9129
|
+
packagePathArg,
|
9088
9130
|
schemeArg,
|
9089
9131
|
deviceArg,
|
9090
9132
|
devicesArg,
|
@@ -10629,6 +10671,7 @@ public func ssh(username: String,
|
|
10629
10671
|
- timeout: Timeout for read, open, and send (in seconds)
|
10630
10672
|
- deactivateOnPromote: **DEPRECATED!** Google Play does this automatically now - When promoting to a new track, deactivate the binary in the origin track
|
10631
10673
|
- versionCodesToRetain: An array of version codes to retain when publishing a new APK
|
10674
|
+
- changesNotSentForReview: Indicates that the changes in this edit will not be reviewed until they are explicitly sent for review from the Google Play Console UI
|
10632
10675
|
- inAppUpdatePriority: In-app update priority for all the newly added apks in the release. Can take values between [0,5]
|
10633
10676
|
- obbMainReferencesVersion: References version of 'main' expansion file
|
10634
10677
|
- obbMainFileSize: Size of 'main' expansion file in bytes
|
@@ -10644,7 +10687,7 @@ public func supply(packageName: String,
|
|
10644
10687
|
releaseStatus: String = "completed",
|
10645
10688
|
track: String = "production",
|
10646
10689
|
rollout: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
10647
|
-
metadataPath: String =
|
10690
|
+
metadataPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
10648
10691
|
key: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
10649
10692
|
issuer: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
10650
10693
|
jsonKey: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
@@ -10668,6 +10711,7 @@ public func supply(packageName: String,
|
|
10668
10711
|
timeout: Int = 300,
|
10669
10712
|
deactivateOnPromote: OptionalConfigValue<Bool> = .fastlaneDefault(true),
|
10670
10713
|
versionCodesToRetain: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
|
10714
|
+
changesNotSentForReview: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
10671
10715
|
inAppUpdatePriority: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
|
10672
10716
|
obbMainReferencesVersion: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
10673
10717
|
obbMainFileSize: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
@@ -10681,7 +10725,7 @@ public func supply(packageName: String,
|
|
10681
10725
|
let releaseStatusArg = RubyCommand.Argument(name: "release_status", value: releaseStatus, type: nil)
|
10682
10726
|
let trackArg = RubyCommand.Argument(name: "track", value: track, type: nil)
|
10683
10727
|
let rolloutArg = rollout.asRubyArgument(name: "rollout", type: nil)
|
10684
|
-
let metadataPathArg =
|
10728
|
+
let metadataPathArg = metadataPath.asRubyArgument(name: "metadata_path", type: nil)
|
10685
10729
|
let keyArg = key.asRubyArgument(name: "key", type: nil)
|
10686
10730
|
let issuerArg = issuer.asRubyArgument(name: "issuer", type: nil)
|
10687
10731
|
let jsonKeyArg = jsonKey.asRubyArgument(name: "json_key", type: nil)
|
@@ -10705,6 +10749,7 @@ public func supply(packageName: String,
|
|
10705
10749
|
let timeoutArg = RubyCommand.Argument(name: "timeout", value: timeout, type: nil)
|
10706
10750
|
let deactivateOnPromoteArg = deactivateOnPromote.asRubyArgument(name: "deactivate_on_promote", type: nil)
|
10707
10751
|
let versionCodesToRetainArg = versionCodesToRetain.asRubyArgument(name: "version_codes_to_retain", type: nil)
|
10752
|
+
let changesNotSentForReviewArg = changesNotSentForReview.asRubyArgument(name: "changes_not_sent_for_review", type: nil)
|
10708
10753
|
let inAppUpdatePriorityArg = inAppUpdatePriority.asRubyArgument(name: "in_app_update_priority", type: nil)
|
10709
10754
|
let obbMainReferencesVersionArg = obbMainReferencesVersion.asRubyArgument(name: "obb_main_references_version", type: nil)
|
10710
10755
|
let obbMainFileSizeArg = obbMainFileSize.asRubyArgument(name: "obb_main_file_size", type: nil)
|
@@ -10741,6 +10786,7 @@ public func supply(packageName: String,
|
|
10741
10786
|
timeoutArg,
|
10742
10787
|
deactivateOnPromoteArg,
|
10743
10788
|
versionCodesToRetainArg,
|
10789
|
+
changesNotSentForReviewArg,
|
10744
10790
|
inAppUpdatePriorityArg,
|
10745
10791
|
obbMainReferencesVersionArg,
|
10746
10792
|
obbMainFileSizeArg,
|
@@ -11531,7 +11577,7 @@ public func updateFastlane(noUpdate: OptionalConfigValue<Bool> = .fastlaneDefaul
|
|
11531
11577
|
Updates the iCloud Container Identifiers in the given Entitlements file, so you can use different iCloud containers for different builds like Adhoc, App Store, etc.
|
11532
11578
|
*/
|
11533
11579
|
public func updateIcloudContainerIdentifiers(entitlementsFile: String,
|
11534
|
-
icloudContainerIdentifiers:
|
11580
|
+
icloudContainerIdentifiers: [String])
|
11535
11581
|
{
|
11536
11582
|
let entitlementsFileArg = RubyCommand.Argument(name: "entitlements_file", value: entitlementsFile, type: nil)
|
11537
11583
|
let icloudContainerIdentifiersArg = RubyCommand.Argument(name: "icloud_container_identifiers", value: icloudContainerIdentifiers, type: nil)
|
@@ -11562,14 +11608,14 @@ public func updateInfoPlist(xcodeproj: OptionalConfigValue<String?> = .fastlaneD
|
|
11562
11608
|
scheme: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11563
11609
|
appIdentifier: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11564
11610
|
displayName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11565
|
-
block:
|
11611
|
+
block: ((String) -> Void)? = nil)
|
11566
11612
|
{
|
11567
11613
|
let xcodeprojArg = xcodeproj.asRubyArgument(name: "xcodeproj", type: nil)
|
11568
11614
|
let plistPathArg = plistPath.asRubyArgument(name: "plist_path", type: nil)
|
11569
11615
|
let schemeArg = scheme.asRubyArgument(name: "scheme", type: nil)
|
11570
11616
|
let appIdentifierArg = appIdentifier.asRubyArgument(name: "app_identifier", type: nil)
|
11571
11617
|
let displayNameArg = displayName.asRubyArgument(name: "display_name", type: nil)
|
11572
|
-
let blockArg = RubyCommand.Argument(name: "block", value: block, type:
|
11618
|
+
let blockArg = RubyCommand.Argument(name: "block", value: block, type: .stringClosure)
|
11573
11619
|
let array: [RubyCommand.Argument?] = [xcodeprojArg,
|
11574
11620
|
plistPathArg,
|
11575
11621
|
schemeArg,
|
@@ -11593,7 +11639,7 @@ public func updateInfoPlist(xcodeproj: OptionalConfigValue<String?> = .fastlaneD
|
|
11593
11639
|
Updates the Keychain Group Access Groups in the given Entitlements file, so you can have keychain access groups for the app store build and keychain access groups for an enterprise build.
|
11594
11640
|
*/
|
11595
11641
|
public func updateKeychainAccessGroups(entitlementsFile: String,
|
11596
|
-
identifiers:
|
11642
|
+
identifiers: [String])
|
11597
11643
|
{
|
11598
11644
|
let entitlementsFileArg = RubyCommand.Argument(name: "entitlements_file", value: entitlementsFile, type: nil)
|
11599
11645
|
let identifiersArg = RubyCommand.Argument(name: "identifiers", value: identifiers, type: nil)
|
@@ -11616,10 +11662,10 @@ public func updateKeychainAccessGroups(entitlementsFile: String,
|
|
11616
11662
|
This action allows you to modify any value inside any `plist` file.
|
11617
11663
|
*/
|
11618
11664
|
public func updatePlist(plistPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11619
|
-
block:
|
11665
|
+
block: ((String) -> Void)? = nil)
|
11620
11666
|
{
|
11621
11667
|
let plistPathArg = plistPath.asRubyArgument(name: "plist_path", type: nil)
|
11622
|
-
let blockArg = RubyCommand.Argument(name: "block", value: block, type:
|
11668
|
+
let blockArg = RubyCommand.Argument(name: "block", value: block, type: .stringClosure)
|
11623
11669
|
let array: [RubyCommand.Argument?] = [plistPathArg,
|
11624
11670
|
blockArg]
|
11625
11671
|
let args: [RubyCommand.Argument] = array
|
@@ -11675,17 +11721,17 @@ public func updateProjectCodeSigning(path: String,
|
|
11675
11721
|
*/
|
11676
11722
|
public func updateProjectProvisioning(xcodeproj: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11677
11723
|
profile: String,
|
11678
|
-
targetFilter:
|
11724
|
+
targetFilter: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11679
11725
|
buildConfigurationFilter: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11680
|
-
buildConfiguration:
|
11726
|
+
buildConfiguration: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11681
11727
|
certificate: String = "/tmp/AppleIncRootCertificate.cer",
|
11682
11728
|
codeSigningIdentity: OptionalConfigValue<String?> = .fastlaneDefault(nil))
|
11683
11729
|
{
|
11684
11730
|
let xcodeprojArg = xcodeproj.asRubyArgument(name: "xcodeproj", type: nil)
|
11685
11731
|
let profileArg = RubyCommand.Argument(name: "profile", value: profile, type: nil)
|
11686
|
-
let targetFilterArg =
|
11732
|
+
let targetFilterArg = targetFilter.asRubyArgument(name: "target_filter", type: nil)
|
11687
11733
|
let buildConfigurationFilterArg = buildConfigurationFilter.asRubyArgument(name: "build_configuration_filter", type: nil)
|
11688
|
-
let buildConfigurationArg =
|
11734
|
+
let buildConfigurationArg = buildConfiguration.asRubyArgument(name: "build_configuration", type: nil)
|
11689
11735
|
let certificateArg = RubyCommand.Argument(name: "certificate", value: certificate, type: nil)
|
11690
11736
|
let codeSigningIdentityArg = codeSigningIdentity.asRubyArgument(name: "code_signing_identity", type: nil)
|
11691
11737
|
let array: [RubyCommand.Argument?] = [xcodeprojArg,
|
@@ -11780,12 +11826,12 @@ public func updateUrbanAirshipConfiguration(plistPath: String,
|
|
11780
11826
|
For example, you can use this to set a different URL scheme for the alpha or beta version of the app.
|
11781
11827
|
*/
|
11782
11828
|
public func updateUrlSchemes(path: String,
|
11783
|
-
urlSchemes:
|
11784
|
-
updateUrlSchemes:
|
11829
|
+
urlSchemes: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
|
11830
|
+
updateUrlSchemes: ((String) -> Void)? = nil)
|
11785
11831
|
{
|
11786
11832
|
let pathArg = RubyCommand.Argument(name: "path", value: path, type: nil)
|
11787
|
-
let urlSchemesArg =
|
11788
|
-
let updateUrlSchemesArg = RubyCommand.Argument(name: "update_url_schemes", value: updateUrlSchemes, type:
|
11833
|
+
let urlSchemesArg = urlSchemes.asRubyArgument(name: "url_schemes", type: nil)
|
11834
|
+
let updateUrlSchemesArg = RubyCommand.Argument(name: "update_url_schemes", value: updateUrlSchemes, type: .stringClosure)
|
11789
11835
|
let array: [RubyCommand.Argument?] = [pathArg,
|
11790
11836
|
urlSchemesArg,
|
11791
11837
|
updateUrlSchemesArg]
|
@@ -11814,7 +11860,7 @@ public func updateUrlSchemes(path: String,
|
|
11814
11860
|
*/
|
11815
11861
|
public func uploadAppPrivacyDetailsToAppStore(username: String,
|
11816
11862
|
appIdentifier: String,
|
11817
|
-
teamId:
|
11863
|
+
teamId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11818
11864
|
teamName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11819
11865
|
jsonPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11820
11866
|
outputJsonPath: String = "./fastlane/app_privacy_details.json",
|
@@ -11824,7 +11870,7 @@ public func uploadAppPrivacyDetailsToAppStore(username: String,
|
|
11824
11870
|
{
|
11825
11871
|
let usernameArg = RubyCommand.Argument(name: "username", value: username, type: nil)
|
11826
11872
|
let appIdentifierArg = RubyCommand.Argument(name: "app_identifier", value: appIdentifier, type: nil)
|
11827
|
-
let teamIdArg =
|
11873
|
+
let teamIdArg = teamId.asRubyArgument(name: "team_id", type: nil)
|
11828
11874
|
let teamNameArg = teamName.asRubyArgument(name: "team_name", type: nil)
|
11829
11875
|
let jsonPathArg = jsonPath.asRubyArgument(name: "json_path", type: nil)
|
11830
11876
|
let outputJsonPathArg = RubyCommand.Argument(name: "output_json_path", value: outputJsonPath, type: nil)
|
@@ -11920,7 +11966,7 @@ public func uploadSymbolsToSentry(apiHost: String = "https://app.getsentry.com/a
|
|
11920
11966
|
orgSlug: String,
|
11921
11967
|
projectSlug: String,
|
11922
11968
|
dsymPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11923
|
-
dsymPaths:
|
11969
|
+
dsymPaths: OptionalConfigValue<[String]?> = .fastlaneDefault(nil))
|
11924
11970
|
{
|
11925
11971
|
let apiHostArg = RubyCommand.Argument(name: "api_host", value: apiHost, type: nil)
|
11926
11972
|
let apiKeyArg = apiKey.asRubyArgument(name: "api_key", type: nil)
|
@@ -11928,7 +11974,7 @@ public func uploadSymbolsToSentry(apiHost: String = "https://app.getsentry.com/a
|
|
11928
11974
|
let orgSlugArg = RubyCommand.Argument(name: "org_slug", value: orgSlug, type: nil)
|
11929
11975
|
let projectSlugArg = RubyCommand.Argument(name: "project_slug", value: projectSlug, type: nil)
|
11930
11976
|
let dsymPathArg = dsymPath.asRubyArgument(name: "dsym_path", type: nil)
|
11931
|
-
let dsymPathsArg =
|
11977
|
+
let dsymPathsArg = dsymPaths.asRubyArgument(name: "dsym_paths", type: nil)
|
11932
11978
|
let array: [RubyCommand.Argument?] = [apiHostArg,
|
11933
11979
|
apiKeyArg,
|
11934
11980
|
authTokenArg,
|
@@ -11966,6 +12012,7 @@ public func uploadSymbolsToSentry(apiHost: String = "https://app.getsentry.com/a
|
|
11966
12012
|
- skipAppVersionUpdate: Don’t create or update the app version that is being prepared for submission
|
11967
12013
|
- force: Skip verification of HTML preview file
|
11968
12014
|
- overwriteScreenshots: Clear all previously uploaded screenshots before uploading the new ones
|
12015
|
+
- syncScreenshots: Sync screenshots with local ones. This is currently beta optionso set true to 'FASTLANE_ENABLE_BETA_DELIVER_SYNC_SCREENSHOTS' environment variable as well
|
11969
12016
|
- submitForReview: Submit the new version for Review after uploading everything
|
11970
12017
|
- rejectIfPossible: Rejects the previously submitted build if it's in a state where it's possible
|
11971
12018
|
- automaticRelease: Should the app be automatically released once it's approved? (Can not be used together with `auto_release_date`)
|
@@ -12036,6 +12083,7 @@ public func uploadToAppStore(apiKeyPath: OptionalConfigValue<String?> = .fastlan
|
|
12036
12083
|
skipAppVersionUpdate: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
12037
12084
|
force: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
12038
12085
|
overwriteScreenshots: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
12086
|
+
syncScreenshots: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
12039
12087
|
submitForReview: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
12040
12088
|
rejectIfPossible: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
12041
12089
|
automaticRelease: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
|
@@ -12099,6 +12147,7 @@ public func uploadToAppStore(apiKeyPath: OptionalConfigValue<String?> = .fastlan
|
|
12099
12147
|
let skipAppVersionUpdateArg = skipAppVersionUpdate.asRubyArgument(name: "skip_app_version_update", type: nil)
|
12100
12148
|
let forceArg = force.asRubyArgument(name: "force", type: nil)
|
12101
12149
|
let overwriteScreenshotsArg = overwriteScreenshots.asRubyArgument(name: "overwrite_screenshots", type: nil)
|
12150
|
+
let syncScreenshotsArg = syncScreenshots.asRubyArgument(name: "sync_screenshots", type: nil)
|
12102
12151
|
let submitForReviewArg = submitForReview.asRubyArgument(name: "submit_for_review", type: nil)
|
12103
12152
|
let rejectIfPossibleArg = rejectIfPossible.asRubyArgument(name: "reject_if_possible", type: nil)
|
12104
12153
|
let automaticReleaseArg = automaticRelease.asRubyArgument(name: "automatic_release", type: nil)
|
@@ -12161,6 +12210,7 @@ public func uploadToAppStore(apiKeyPath: OptionalConfigValue<String?> = .fastlan
|
|
12161
12210
|
skipAppVersionUpdateArg,
|
12162
12211
|
forceArg,
|
12163
12212
|
overwriteScreenshotsArg,
|
12213
|
+
syncScreenshotsArg,
|
12164
12214
|
submitForReviewArg,
|
12165
12215
|
rejectIfPossibleArg,
|
12166
12216
|
automaticReleaseArg,
|
@@ -12245,6 +12295,7 @@ public func uploadToAppStore(apiKeyPath: OptionalConfigValue<String?> = .fastlan
|
|
12245
12295
|
- timeout: Timeout for read, open, and send (in seconds)
|
12246
12296
|
- deactivateOnPromote: **DEPRECATED!** Google Play does this automatically now - When promoting to a new track, deactivate the binary in the origin track
|
12247
12297
|
- versionCodesToRetain: An array of version codes to retain when publishing a new APK
|
12298
|
+
- changesNotSentForReview: Indicates that the changes in this edit will not be reviewed until they are explicitly sent for review from the Google Play Console UI
|
12248
12299
|
- inAppUpdatePriority: In-app update priority for all the newly added apks in the release. Can take values between [0,5]
|
12249
12300
|
- obbMainReferencesVersion: References version of 'main' expansion file
|
12250
12301
|
- obbMainFileSize: Size of 'main' expansion file in bytes
|
@@ -12260,7 +12311,7 @@ public func uploadToPlayStore(packageName: String,
|
|
12260
12311
|
releaseStatus: String = "completed",
|
12261
12312
|
track: String = "production",
|
12262
12313
|
rollout: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
12263
|
-
metadataPath: String =
|
12314
|
+
metadataPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
12264
12315
|
key: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
12265
12316
|
issuer: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
12266
12317
|
jsonKey: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
@@ -12284,6 +12335,7 @@ public func uploadToPlayStore(packageName: String,
|
|
12284
12335
|
timeout: Int = 300,
|
12285
12336
|
deactivateOnPromote: OptionalConfigValue<Bool> = .fastlaneDefault(true),
|
12286
12337
|
versionCodesToRetain: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
|
12338
|
+
changesNotSentForReview: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
12287
12339
|
inAppUpdatePriority: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
|
12288
12340
|
obbMainReferencesVersion: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
12289
12341
|
obbMainFileSize: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
@@ -12297,7 +12349,7 @@ public func uploadToPlayStore(packageName: String,
|
|
12297
12349
|
let releaseStatusArg = RubyCommand.Argument(name: "release_status", value: releaseStatus, type: nil)
|
12298
12350
|
let trackArg = RubyCommand.Argument(name: "track", value: track, type: nil)
|
12299
12351
|
let rolloutArg = rollout.asRubyArgument(name: "rollout", type: nil)
|
12300
|
-
let metadataPathArg =
|
12352
|
+
let metadataPathArg = metadataPath.asRubyArgument(name: "metadata_path", type: nil)
|
12301
12353
|
let keyArg = key.asRubyArgument(name: "key", type: nil)
|
12302
12354
|
let issuerArg = issuer.asRubyArgument(name: "issuer", type: nil)
|
12303
12355
|
let jsonKeyArg = jsonKey.asRubyArgument(name: "json_key", type: nil)
|
@@ -12321,6 +12373,7 @@ public func uploadToPlayStore(packageName: String,
|
|
12321
12373
|
let timeoutArg = RubyCommand.Argument(name: "timeout", value: timeout, type: nil)
|
12322
12374
|
let deactivateOnPromoteArg = deactivateOnPromote.asRubyArgument(name: "deactivate_on_promote", type: nil)
|
12323
12375
|
let versionCodesToRetainArg = versionCodesToRetain.asRubyArgument(name: "version_codes_to_retain", type: nil)
|
12376
|
+
let changesNotSentForReviewArg = changesNotSentForReview.asRubyArgument(name: "changes_not_sent_for_review", type: nil)
|
12324
12377
|
let inAppUpdatePriorityArg = inAppUpdatePriority.asRubyArgument(name: "in_app_update_priority", type: nil)
|
12325
12378
|
let obbMainReferencesVersionArg = obbMainReferencesVersion.asRubyArgument(name: "obb_main_references_version", type: nil)
|
12326
12379
|
let obbMainFileSizeArg = obbMainFileSize.asRubyArgument(name: "obb_main_file_size", type: nil)
|
@@ -12357,6 +12410,7 @@ public func uploadToPlayStore(packageName: String,
|
|
12357
12410
|
timeoutArg,
|
12358
12411
|
deactivateOnPromoteArg,
|
12359
12412
|
versionCodesToRetainArg,
|
12413
|
+
changesNotSentForReviewArg,
|
12360
12414
|
inAppUpdatePriorityArg,
|
12361
12415
|
obbMainReferencesVersionArg,
|
12362
12416
|
obbMainFileSizeArg,
|
@@ -12854,7 +12908,7 @@ public func xcodeSelect() {
|
|
12854
12908
|
*/
|
12855
12909
|
@discardableResult public func xcodeServerGetAssets(host: String,
|
12856
12910
|
botName: String,
|
12857
|
-
integrationNumber:
|
12911
|
+
integrationNumber: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
|
12858
12912
|
username: String = "",
|
12859
12913
|
password: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
12860
12914
|
targetFolder: String = "./xcs_assets",
|
@@ -12863,7 +12917,7 @@ public func xcodeSelect() {
|
|
12863
12917
|
{
|
12864
12918
|
let hostArg = RubyCommand.Argument(name: "host", value: host, type: nil)
|
12865
12919
|
let botNameArg = RubyCommand.Argument(name: "bot_name", value: botName, type: nil)
|
12866
|
-
let integrationNumberArg =
|
12920
|
+
let integrationNumberArg = integrationNumber.asRubyArgument(name: "integration_number", type: nil)
|
12867
12921
|
let usernameArg = RubyCommand.Argument(name: "username", value: username, type: nil)
|
12868
12922
|
let passwordArg = password.asRubyArgument(name: "password", type: nil)
|
12869
12923
|
let targetFolderArg = RubyCommand.Argument(name: "target_folder", value: targetFolder, type: nil)
|
@@ -12957,7 +13011,7 @@ public func xcov(workspace: OptionalConfigValue<String?> = .fastlaneDefault(nil)
|
|
12957
13011
|
coverallsServiceJobId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
12958
13012
|
coverallsRepoToken: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
12959
13013
|
xcconfig: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
12960
|
-
ideFoundationPath: String = "/Applications/Xcode-
|
13014
|
+
ideFoundationPath: String = "/Applications/Xcode-13.beta.4.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
|
12961
13015
|
legacySupport: OptionalConfigValue<Bool> = .fastlaneDefault(false))
|
12962
13016
|
{
|
12963
13017
|
let workspaceArg = workspace.asRubyArgument(name: "workspace", type: nil)
|
@@ -13071,6 +13125,8 @@ public func xcversion(version: String) {
|
|
13071
13125
|
- verbose: Enable verbose output of zipped file
|
13072
13126
|
- password: Encrypt the contents of the zip archive using a password
|
13073
13127
|
- symlinks: Store symbolic links as such in the zip archive
|
13128
|
+
- include: Array of paths or patterns to include
|
13129
|
+
- exclude: Array of paths or patterns to exclude
|
13074
13130
|
|
13075
13131
|
- returns: The path to the output zip file
|
13076
13132
|
*/
|
@@ -13078,18 +13134,24 @@ public func xcversion(version: String) {
|
|
13078
13134
|
outputPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
13079
13135
|
verbose: OptionalConfigValue<Bool> = .fastlaneDefault(true),
|
13080
13136
|
password: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
13081
|
-
symlinks: OptionalConfigValue<Bool> = .fastlaneDefault(false)
|
13137
|
+
symlinks: OptionalConfigValue<Bool> = .fastlaneDefault(false),
|
13138
|
+
include: [String] = [],
|
13139
|
+
exclude: [String] = []) -> String
|
13082
13140
|
{
|
13083
13141
|
let pathArg = RubyCommand.Argument(name: "path", value: path, type: nil)
|
13084
13142
|
let outputPathArg = outputPath.asRubyArgument(name: "output_path", type: nil)
|
13085
13143
|
let verboseArg = verbose.asRubyArgument(name: "verbose", type: nil)
|
13086
13144
|
let passwordArg = password.asRubyArgument(name: "password", type: nil)
|
13087
13145
|
let symlinksArg = symlinks.asRubyArgument(name: "symlinks", type: nil)
|
13146
|
+
let includeArg = RubyCommand.Argument(name: "include", value: include, type: nil)
|
13147
|
+
let excludeArg = RubyCommand.Argument(name: "exclude", value: exclude, type: nil)
|
13088
13148
|
let array: [RubyCommand.Argument?] = [pathArg,
|
13089
13149
|
outputPathArg,
|
13090
13150
|
verboseArg,
|
13091
13151
|
passwordArg,
|
13092
|
-
symlinksArg
|
13152
|
+
symlinksArg,
|
13153
|
+
includeArg,
|
13154
|
+
excludeArg]
|
13093
13155
|
let args: [RubyCommand.Argument] = array
|
13094
13156
|
.filter { $0?.value != nil }
|
13095
13157
|
.compactMap { $0 }
|
@@ -13151,4 +13213,4 @@ public let snapshotfile = Snapshotfile()
|
|
13151
13213
|
|
13152
13214
|
// Please don't remove the lines below
|
13153
13215
|
// They are used to detect outdated files
|
13154
|
-
// FastlaneRunnerAPIVersion [0.9.
|
13216
|
+
// FastlaneRunnerAPIVersion [0.9.132]
|