fastlane 2.151.1 → 2.154.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 +74 -74
- data/deliver/lib/deliver/app_screenshot.rb +1 -1
- data/deliver/lib/deliver/commands_generator.rb +7 -4
- data/deliver/lib/deliver/detect_values.rb +9 -3
- data/deliver/lib/deliver/download_screenshots.rb +36 -31
- data/deliver/lib/deliver/options.rb +1 -1
- data/deliver/lib/deliver/runner.rb +5 -10
- data/deliver/lib/deliver/setup.rb +92 -3
- data/deliver/lib/deliver/submit_for_review.rb +4 -6
- data/deliver/lib/deliver/upload_metadata.rb +53 -32
- data/deliver/lib/deliver/upload_price_tier.rb +1 -3
- data/deliver/lib/deliver/upload_screenshots.rb +76 -45
- data/{deliver/lib/deliver/.commands_generator.rb.swp → fastlane/lib/fastlane/.erb_template_helper.rb.swp} +0 -0
- data/{frameit/lib/frameit/.editor.rb.swp → fastlane/lib/fastlane/actions/.git_commit.rb.swp} +0 -0
- data/fastlane/lib/fastlane/actions/carthage.rb +7 -0
- data/fastlane/lib/fastlane/actions/docs/frame_screenshots.md +3 -1
- data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +21 -2
- data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +4 -4
- data/fastlane/lib/fastlane/actions/download_dsyms.rb +4 -2
- data/fastlane/lib/fastlane/actions/erb.rb +10 -2
- data/fastlane/lib/fastlane/actions/git_branch.rb +4 -1
- data/fastlane/lib/fastlane/actions/git_pull.rb +13 -2
- data/fastlane/lib/fastlane/actions/upload_to_testflight.rb +11 -3
- data/fastlane/lib/fastlane/helper/s3_client_helper.rb +1 -1
- data/fastlane/lib/fastlane/runner.rb +3 -1
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +3 -3
- data/fastlane/swift/Fastlane.swift +47 -13
- 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 +5 -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 +1 -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 +5 -1
- data/fastlane_core/lib/fastlane_core/device_manager.rb +25 -6
- data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +6 -3
- data/frameit/lib/frameit/editor.rb +11 -6
- data/gym/lib/gym/module.rb +8 -0
- data/gym/lib/gym/runner.rb +16 -9
- data/match/lib/match/options.rb +9 -2
- data/match/lib/match/runner.rb +5 -4
- data/match/lib/match/storage/git_storage.rb +16 -2
- data/pilot/lib/pilot/build_manager.rb +9 -0
- data/pilot/lib/pilot/options.rb +7 -1
- data/scan/lib/scan/runner.rb +19 -6
- data/snapshot/lib/snapshot/options.rb +5 -0
- data/snapshot/lib/snapshot/simulator_launchers/launcher_configuration.rb +2 -0
- data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +5 -0
- data/spaceship/lib/spaceship/connect_api.rb +1 -0
- data/spaceship/lib/spaceship/connect_api/client.rb +3 -3
- data/spaceship/lib/spaceship/connect_api/model.rb +14 -0
- data/spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb +1 -0
- data/spaceship/lib/spaceship/connect_api/models/app.rb +59 -3
- data/spaceship/lib/spaceship/connect_api/models/app_info_localization.rb +1 -0
- data/spaceship/lib/spaceship/connect_api/models/app_preview.rb +5 -4
- data/spaceship/lib/spaceship/connect_api/models/app_screenshot.rb +44 -5
- data/spaceship/lib/spaceship/connect_api/models/app_store_review_detail.rb +1 -0
- data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +12 -0
- data/spaceship/lib/spaceship/connect_api/models/app_store_version_localization.rb +1 -0
- data/spaceship/lib/spaceship/connect_api/models/app_store_version_release_request.rb +12 -0
- data/spaceship/lib/spaceship/connect_api/models/build.rb +1 -0
- data/spaceship/lib/spaceship/connect_api/models/idfa_declaration.rb +1 -0
- data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +32 -1
- metadata +37 -64
- data/deliver/lib/deliver/.download_screenshots.rb.swp +0 -0
- data/deliver/lib/deliver/.submit_for_review.rb.swp +0 -0
@@ -22,7 +22,7 @@ module Fastlane
|
|
22
22
|
|
23
23
|
# Process options
|
24
24
|
version = params[:version]
|
25
|
-
build_number = params[:build_number]
|
25
|
+
build_number = params[:build_number].to_s unless params[:build_number].nil?
|
26
26
|
platform = params[:platform]
|
27
27
|
output_directory = params[:output_directory]
|
28
28
|
wait_for_dsym_processing = params[:wait_for_dsym_processing]
|
@@ -258,7 +258,8 @@ module Fastlane
|
|
258
258
|
short_option: "-b",
|
259
259
|
env_name: "DOWNLOAD_DSYMS_BUILD_NUMBER",
|
260
260
|
description: "The app build_number for dSYMs you wish to download",
|
261
|
-
optional: true
|
261
|
+
optional: true,
|
262
|
+
is_string: false),
|
262
263
|
FastlaneCore::ConfigItem.new(key: :min_version,
|
263
264
|
short_option: "-m",
|
264
265
|
env_name: "DOWNLOAD_DSYMS_MIN_VERSION",
|
@@ -308,6 +309,7 @@ module Fastlane
|
|
308
309
|
[
|
309
310
|
'download_dsyms',
|
310
311
|
'download_dsyms(version: "1.0.0", build_number: "345")',
|
312
|
+
'download_dsyms(version: "1.0.1", build_number: 42)',
|
311
313
|
'download_dsyms(version: "live")',
|
312
314
|
'download_dsyms(min_version: "1.2.3")'
|
313
315
|
]
|
@@ -3,7 +3,10 @@ module Fastlane
|
|
3
3
|
class ErbAction < Action
|
4
4
|
def self.run(params)
|
5
5
|
template = File.read(params[:template])
|
6
|
-
|
6
|
+
trim_mode = params[:trim_mode]
|
7
|
+
|
8
|
+
result = Fastlane::ErbTemplateHelper.render(template, params[:placeholders], trim_mode)
|
9
|
+
|
7
10
|
File.open(params[:destination], 'w') { |file| file.write(result) } if params[:destination]
|
8
11
|
UI.message("Successfully parsed template: '#{params[:template]}' and rendered output to: #{params[:destination]}") if params[:destination]
|
9
12
|
result
|
@@ -45,7 +48,12 @@ module Fastlane
|
|
45
48
|
description: "Placeholders given as a hash",
|
46
49
|
default_value: {},
|
47
50
|
is_string: false,
|
48
|
-
type: Hash)
|
51
|
+
type: Hash),
|
52
|
+
FastlaneCore::ConfigItem.new(key: :trim_mode,
|
53
|
+
short_option: "-t",
|
54
|
+
env_name: "FL_ERB_TRIM_MODE",
|
55
|
+
description: "Trim mode applied to the ERB",
|
56
|
+
optional: true)
|
49
57
|
|
50
58
|
]
|
51
59
|
end
|
@@ -1,7 +1,10 @@
|
|
1
1
|
module Fastlane
|
2
2
|
module Actions
|
3
3
|
module SharedValues
|
4
|
-
GIT_BRANCH_ENV_VARS = %w(GIT_BRANCH BRANCH_NAME TRAVIS_BRANCH BITRISE_GIT_BRANCH CI_BUILD_REF_NAME CI_COMMIT_REF_NAME WERCKER_GIT_BRANCH BUILDKITE_BRANCH APPCENTER_BRANCH).
|
4
|
+
GIT_BRANCH_ENV_VARS = %w(GIT_BRANCH BRANCH_NAME TRAVIS_BRANCH BITRISE_GIT_BRANCH CI_BUILD_REF_NAME CI_COMMIT_REF_NAME WERCKER_GIT_BRANCH BUILDKITE_BRANCH APPCENTER_BRANCH CIRCLE_BRANCH).reject do |branch|
|
5
|
+
# Removing because tests break on CircleCI
|
6
|
+
Helper.test? && branch == "CIRCLE_BRANCH"
|
7
|
+
end.freeze
|
5
8
|
end
|
6
9
|
|
7
10
|
class GitBranchAction < Action
|
@@ -5,7 +5,9 @@ module Fastlane
|
|
5
5
|
commands = []
|
6
6
|
|
7
7
|
unless params[:only_tags]
|
8
|
-
|
8
|
+
command = "git pull"
|
9
|
+
command << " --rebase" if params[:rebase]
|
10
|
+
commands += ["#{command} &&"]
|
9
11
|
end
|
10
12
|
|
11
13
|
commands += ["git fetch --tags"]
|
@@ -26,6 +28,14 @@ module Fastlane
|
|
26
28
|
default_value: false,
|
27
29
|
verify_block: proc do |value|
|
28
30
|
UI.user_error!("Please pass a valid value for only_tags. Use one of the following: true, false") unless value.kind_of?(TrueClass) || value.kind_of?(FalseClass)
|
31
|
+
end),
|
32
|
+
FastlaneCore::ConfigItem.new(key: :rebase,
|
33
|
+
description: "Rebase on top of the remote branch instead of merge",
|
34
|
+
is_string: false,
|
35
|
+
optional: true,
|
36
|
+
default_value: false,
|
37
|
+
verify_block: proc do |value|
|
38
|
+
UI.user_error!("Please pass a valid value for rebase. Use one of the following: true, false") unless value.kind_of?(TrueClass) || value.kind_of?(FalseClass)
|
29
39
|
end)
|
30
40
|
]
|
31
41
|
end
|
@@ -41,7 +51,8 @@ module Fastlane
|
|
41
51
|
def self.example_code
|
42
52
|
[
|
43
53
|
'git_pull',
|
44
|
-
'git_pull(only_tags: true) # only the tags, no commits'
|
54
|
+
'git_pull(only_tags: true) # only the tags, no commits',
|
55
|
+
'git_pull(rebase: true) # use --rebase with pull'
|
45
56
|
]
|
46
57
|
end
|
47
58
|
|
@@ -5,15 +5,23 @@ module Fastlane
|
|
5
5
|
require 'pilot'
|
6
6
|
require 'pilot/options'
|
7
7
|
|
8
|
+
distribute_only = values[:distribute_only]
|
9
|
+
|
8
10
|
changelog = Actions.lane_context[SharedValues::FL_CHANGELOG]
|
9
11
|
values[:changelog] ||= changelog if changelog
|
10
12
|
|
11
|
-
|
12
|
-
|
13
|
+
unless distribute_only
|
14
|
+
values[:ipa] ||= Actions.lane_context[SharedValues::IPA_OUTPUT_PATH]
|
15
|
+
values[:ipa] = File.expand_path(values[:ipa]) if values[:ipa]
|
16
|
+
end
|
13
17
|
|
14
18
|
return values if Helper.test?
|
15
19
|
|
16
|
-
|
20
|
+
if distribute_only
|
21
|
+
Pilot::BuildManager.new.distribute(values) # we already have the finished config
|
22
|
+
else
|
23
|
+
Pilot::BuildManager.new.upload(values) # we already have the finished config
|
24
|
+
end
|
17
25
|
end
|
18
26
|
|
19
27
|
#####################################################
|
@@ -216,7 +216,9 @@ module Fastlane
|
|
216
216
|
end
|
217
217
|
|
218
218
|
def execute_action(method_sym, class_ref, arguments, custom_dir: nil, from_action: false)
|
219
|
-
if
|
219
|
+
if from_action == true
|
220
|
+
custom_dir = "." # We preserve the directory from where the previous action was called from
|
221
|
+
elsif custom_dir.nil?
|
220
222
|
custom_dir ||= "." if Helper.test?
|
221
223
|
custom_dir ||= ".."
|
222
224
|
end
|
@@ -99,7 +99,7 @@ protocol DeliverfileProtocol: class {
|
|
99
99
|
var precheckDefaultRuleLevel: String { get }
|
100
100
|
|
101
101
|
/// **DEPRECATED!** Removed after the migration to the new App Store Connect API in June 2020 - An array of localized metadata items to upload individually by language so that errors can be identified. E.g. ['name', 'keywords', 'description']. Note: slow
|
102
|
-
var individualMetadataItems: [String] { get }
|
102
|
+
var individualMetadataItems: [String]? { get }
|
103
103
|
|
104
104
|
/// **DEPRECATED!** Removed after the migration to the new App Store Connect API in June 2020 - Metadata: The path to the app icon
|
105
105
|
var appIcon: String? { get }
|
@@ -214,7 +214,7 @@ extension DeliverfileProtocol {
|
|
214
214
|
var itcProvider: String? { return nil }
|
215
215
|
var runPrecheckBeforeSubmit: Bool { return true }
|
216
216
|
var precheckDefaultRuleLevel: String { return "warn" }
|
217
|
-
var individualMetadataItems: [String] { return
|
217
|
+
var individualMetadataItems: [String]? { return nil }
|
218
218
|
var appIcon: String? { return nil }
|
219
219
|
var appleWatchAppIcon: String? { return nil }
|
220
220
|
var copyright: String? { return nil }
|
@@ -245,4 +245,4 @@ extension DeliverfileProtocol {
|
|
245
245
|
|
246
246
|
// Please don't remove the lines below
|
247
247
|
// They are used to detect outdated files
|
248
|
-
// FastlaneRunnerAPIVersion [0.9.
|
248
|
+
// FastlaneRunnerAPIVersion [0.9.28]
|
@@ -523,7 +523,7 @@ func appstore(username: String,
|
|
523
523
|
itcProvider: String? = nil,
|
524
524
|
runPrecheckBeforeSubmit: Bool = true,
|
525
525
|
precheckDefaultRuleLevel: Any = "warn",
|
526
|
-
individualMetadataItems: [String] =
|
526
|
+
individualMetadataItems: [String]? = nil,
|
527
527
|
appIcon: String? = nil,
|
528
528
|
appleWatchAppIcon: String? = nil,
|
529
529
|
copyright: String? = nil,
|
@@ -1442,6 +1442,7 @@ func captureAndroidScreenshots(androidHome: String? = nil,
|
|
1442
1442
|
- clearPreviousScreenshots: Enabling this option will automatically clear previously generated screenshots before running snapshot
|
1443
1443
|
- reinstallApp: Enabling this option will automatically uninstall the application before running it
|
1444
1444
|
- eraseSimulator: Enabling this option will automatically erase the simulator before running the application
|
1445
|
+
- headless: Enabling this option will prevent displaying the simulator window
|
1445
1446
|
- overrideStatusBar: Enabling this option wil automatically override the status bar to show 9:41 AM, full battery, and full reception
|
1446
1447
|
- localizeSimulator: Enabling this option will configure the Simulator's system language
|
1447
1448
|
- darkMode: Enabling this option will configure the Simulator to be in dark mode (false for light, true for dark)
|
@@ -1485,6 +1486,7 @@ func captureIosScreenshots(workspace: String? = nil,
|
|
1485
1486
|
clearPreviousScreenshots: Bool = false,
|
1486
1487
|
reinstallApp: Bool = false,
|
1487
1488
|
eraseSimulator: Bool = false,
|
1489
|
+
headless: Bool = true,
|
1488
1490
|
overrideStatusBar: Bool = false,
|
1489
1491
|
localizeSimulator: Bool = false,
|
1490
1492
|
darkMode: Bool? = nil,
|
@@ -1527,6 +1529,7 @@ func captureIosScreenshots(workspace: String? = nil,
|
|
1527
1529
|
RubyCommand.Argument(name: "clear_previous_screenshots", value: clearPreviousScreenshots),
|
1528
1530
|
RubyCommand.Argument(name: "reinstall_app", value: reinstallApp),
|
1529
1531
|
RubyCommand.Argument(name: "erase_simulator", value: eraseSimulator),
|
1532
|
+
RubyCommand.Argument(name: "headless", value: headless),
|
1530
1533
|
RubyCommand.Argument(name: "override_status_bar", value: overrideStatusBar),
|
1531
1534
|
RubyCommand.Argument(name: "localize_simulator", value: localizeSimulator),
|
1532
1535
|
RubyCommand.Argument(name: "dark_mode", value: darkMode),
|
@@ -1576,6 +1579,7 @@ func captureIosScreenshots(workspace: String? = nil,
|
|
1576
1579
|
- clearPreviousScreenshots: Enabling this option will automatically clear previously generated screenshots before running snapshot
|
1577
1580
|
- reinstallApp: Enabling this option will automatically uninstall the application before running it
|
1578
1581
|
- eraseSimulator: Enabling this option will automatically erase the simulator before running the application
|
1582
|
+
- headless: Enabling this option will prevent displaying the simulator window
|
1579
1583
|
- overrideStatusBar: Enabling this option wil automatically override the status bar to show 9:41 AM, full battery, and full reception
|
1580
1584
|
- localizeSimulator: Enabling this option will configure the Simulator's system language
|
1581
1585
|
- darkMode: Enabling this option will configure the Simulator to be in dark mode (false for light, true for dark)
|
@@ -1619,6 +1623,7 @@ func captureScreenshots(workspace: String? = nil,
|
|
1619
1623
|
clearPreviousScreenshots: Bool = false,
|
1620
1624
|
reinstallApp: Bool = false,
|
1621
1625
|
eraseSimulator: Bool = false,
|
1626
|
+
headless: Bool = true,
|
1622
1627
|
overrideStatusBar: Bool = false,
|
1623
1628
|
localizeSimulator: Bool = false,
|
1624
1629
|
darkMode: Bool? = nil,
|
@@ -1661,6 +1666,7 @@ func captureScreenshots(workspace: String? = nil,
|
|
1661
1666
|
RubyCommand.Argument(name: "clear_previous_screenshots", value: clearPreviousScreenshots),
|
1662
1667
|
RubyCommand.Argument(name: "reinstall_app", value: reinstallApp),
|
1663
1668
|
RubyCommand.Argument(name: "erase_simulator", value: eraseSimulator),
|
1669
|
+
RubyCommand.Argument(name: "headless", value: headless),
|
1664
1670
|
RubyCommand.Argument(name: "override_status_bar", value: overrideStatusBar),
|
1665
1671
|
RubyCommand.Argument(name: "localize_simulator", value: localizeSimulator),
|
1666
1672
|
RubyCommand.Argument(name: "dark_mode", value: darkMode),
|
@@ -1699,6 +1705,7 @@ func captureScreenshots(workspace: String? = nil,
|
|
1699
1705
|
- dependencies: Carthage dependencies to update, build or bootstrap
|
1700
1706
|
- useSsh: Use SSH for downloading GitHub repositories
|
1701
1707
|
- useSubmodules: Add dependencies as Git submodules
|
1708
|
+
- useNetrc: Use .netrc for downloading frameworks
|
1702
1709
|
- useBinaries: Check out dependency repositories even when prebuilt frameworks exist
|
1703
1710
|
- noCheckout: When bootstrapping Carthage do not checkout
|
1704
1711
|
- noBuild: When bootstrapping Carthage do not build
|
@@ -1720,6 +1727,7 @@ func carthage(command: String = "bootstrap",
|
|
1720
1727
|
dependencies: [String] = [],
|
1721
1728
|
useSsh: Bool? = nil,
|
1722
1729
|
useSubmodules: Bool? = nil,
|
1730
|
+
useNetrc: Bool? = nil,
|
1723
1731
|
useBinaries: Bool? = nil,
|
1724
1732
|
noCheckout: Bool? = nil,
|
1725
1733
|
noBuild: Bool? = nil,
|
@@ -1740,6 +1748,7 @@ func carthage(command: String = "bootstrap",
|
|
1740
1748
|
RubyCommand.Argument(name: "dependencies", value: dependencies),
|
1741
1749
|
RubyCommand.Argument(name: "use_ssh", value: useSsh),
|
1742
1750
|
RubyCommand.Argument(name: "use_submodules", value: useSubmodules),
|
1751
|
+
RubyCommand.Argument(name: "use_netrc", value: useNetrc),
|
1743
1752
|
RubyCommand.Argument(name: "use_binaries", value: useBinaries),
|
1744
1753
|
RubyCommand.Argument(name: "no_checkout", value: noCheckout),
|
1745
1754
|
RubyCommand.Argument(name: "no_build", value: noBuild),
|
@@ -2573,7 +2582,7 @@ func deliver(username: Any = deliverfile.username,
|
|
2573
2582
|
itcProvider: Any? = deliverfile.itcProvider,
|
2574
2583
|
runPrecheckBeforeSubmit: Bool = deliverfile.runPrecheckBeforeSubmit,
|
2575
2584
|
precheckDefaultRuleLevel: Any = deliverfile.precheckDefaultRuleLevel,
|
2576
|
-
individualMetadataItems: [String] = deliverfile.individualMetadataItems,
|
2585
|
+
individualMetadataItems: [String]? = deliverfile.individualMetadataItems,
|
2577
2586
|
appIcon: Any? = deliverfile.appIcon,
|
2578
2587
|
appleWatchAppIcon: Any? = deliverfile.appleWatchAppIcon,
|
2579
2588
|
copyright: Any? = deliverfile.copyright,
|
@@ -2760,7 +2769,7 @@ func downloadDsyms(username: String,
|
|
2760
2769
|
teamName: String? = nil,
|
2761
2770
|
platform: String = "ios",
|
2762
2771
|
version: String? = nil,
|
2763
|
-
buildNumber:
|
2772
|
+
buildNumber: Any? = nil,
|
2764
2773
|
minVersion: String? = nil,
|
2765
2774
|
outputDirectory: String? = nil,
|
2766
2775
|
waitForDsymProcessing: Bool = false,
|
@@ -2974,16 +2983,19 @@ func ensureXcodeVersion(version: String? = nil,
|
|
2974
2983
|
- template: ERB Template File
|
2975
2984
|
- destination: Destination file
|
2976
2985
|
- placeholders: Placeholders given as a hash
|
2986
|
+
- trimMode: Trim mode applied to the ERB
|
2977
2987
|
|
2978
2988
|
Renders an ERB template with `:placeholders` given as a hash via parameter.
|
2979
2989
|
If no `:destination` is set, it returns the rendered template as string.
|
2980
2990
|
*/
|
2981
2991
|
func erb(template: String,
|
2982
2992
|
destination: String? = nil,
|
2983
|
-
placeholders: [String: Any] = [:]
|
2993
|
+
placeholders: [String: Any] = [:],
|
2994
|
+
trimMode: String? = nil) {
|
2984
2995
|
let command = RubyCommand(commandID: "", methodName: "erb", className: nil, args: [RubyCommand.Argument(name: "template", value: template),
|
2985
2996
|
RubyCommand.Argument(name: "destination", value: destination),
|
2986
|
-
RubyCommand.Argument(name: "placeholders", value: placeholders)
|
2997
|
+
RubyCommand.Argument(name: "placeholders", value: placeholders),
|
2998
|
+
RubyCommand.Argument(name: "trim_mode", value: trimMode)])
|
2987
2999
|
_ = runner.executeCommand(command)
|
2988
3000
|
}
|
2989
3001
|
|
@@ -3555,10 +3567,14 @@ func gitCommit(path: Any,
|
|
3555
3567
|
/**
|
3556
3568
|
Executes a simple git pull command
|
3557
3569
|
|
3558
|
-
-
|
3570
|
+
- parameters:
|
3571
|
+
- onlyTags: Simply pull the tags, and not bring new commits to the current branch from the remote
|
3572
|
+
- rebase: Rebase on top of the remote branch instead of merge
|
3559
3573
|
*/
|
3560
|
-
func gitPull(onlyTags: Bool = false
|
3561
|
-
|
3574
|
+
func gitPull(onlyTags: Bool = false,
|
3575
|
+
rebase: Bool = false) {
|
3576
|
+
let command = RubyCommand(commandID: "", methodName: "git_pull", className: nil, args: [RubyCommand.Argument(name: "only_tags", value: onlyTags),
|
3577
|
+
RubyCommand.Argument(name: "rebase", value: rebase)])
|
3562
3578
|
_ = runner.executeCommand(command)
|
3563
3579
|
}
|
3564
3580
|
|
@@ -4552,6 +4568,7 @@ func makeChangelogFromJenkins(fallbackChangelog: String = "",
|
|
4552
4568
|
- cloneBranchDirectly: Clone just the branch specified, instead of the whole repo. This requires that the branch already exists. Otherwise the command will fail
|
4553
4569
|
- gitBasicAuthorization: Use a basic authorization header to access the git repo (e.g.: access via HTTPS, GitHub Actions, etc), usually a string in Base64
|
4554
4570
|
- gitBearerAuthorization: Use a bearer authorization header to access the git repo (e.g.: access to an Azure Devops repository), usually a string in Base64
|
4571
|
+
- gitPrivateKey: Use a private key to access the git repo (e.g.: access to GitHub repository via Deploy keys), usually a id_rsa named file or the contents hereof
|
4555
4572
|
- googleCloudBucketName: Name of the Google Cloud Storage bucket to use
|
4556
4573
|
- googleCloudKeysFile: Path to the gc_keys.json file
|
4557
4574
|
- googleCloudProjectId: ID of the Google Cloud project to use for authentication
|
@@ -4593,6 +4610,7 @@ func match(type: Any = matchfile.type,
|
|
4593
4610
|
cloneBranchDirectly: Bool = matchfile.cloneBranchDirectly,
|
4594
4611
|
gitBasicAuthorization: Any? = matchfile.gitBasicAuthorization,
|
4595
4612
|
gitBearerAuthorization: Any? = matchfile.gitBearerAuthorization,
|
4613
|
+
gitPrivateKey: Any? = matchfile.gitPrivateKey,
|
4596
4614
|
googleCloudBucketName: Any? = matchfile.googleCloudBucketName,
|
4597
4615
|
googleCloudKeysFile: Any? = matchfile.googleCloudKeysFile,
|
4598
4616
|
googleCloudProjectId: Any? = matchfile.googleCloudProjectId,
|
@@ -4631,6 +4649,7 @@ func match(type: Any = matchfile.type,
|
|
4631
4649
|
RubyCommand.Argument(name: "clone_branch_directly", value: cloneBranchDirectly),
|
4632
4650
|
RubyCommand.Argument(name: "git_basic_authorization", value: gitBasicAuthorization),
|
4633
4651
|
RubyCommand.Argument(name: "git_bearer_authorization", value: gitBearerAuthorization),
|
4652
|
+
RubyCommand.Argument(name: "git_private_key", value: gitPrivateKey),
|
4634
4653
|
RubyCommand.Argument(name: "google_cloud_bucket_name", value: googleCloudBucketName),
|
4635
4654
|
RubyCommand.Argument(name: "google_cloud_keys_file", value: googleCloudKeysFile),
|
4636
4655
|
RubyCommand.Argument(name: "google_cloud_project_id", value: googleCloudProjectId),
|
@@ -5035,10 +5054,11 @@ func pem(development: Bool = false,
|
|
5035
5054
|
- betaAppDescription: Provide the 'Beta App Description' when uploading a new build
|
5036
5055
|
- betaAppFeedbackEmail: Provide the beta app email when uploading a new build
|
5037
5056
|
- localizedBuildInfo: Localized beta app test info for what's new
|
5038
|
-
- changelog: Provide the 'What to Test' text when uploading a new build
|
5057
|
+
- changelog: Provide the 'What to Test' text when uploading a new build
|
5039
5058
|
- skipSubmission: Skip the distributing action of pilot and only upload the ipa file
|
5040
5059
|
- skipWaitingForBuildProcessing: If set to true, the `distribute_external` option won't work and no build will be distributed to testers. (You might want to use this option if you are using this action on CI and have to pay for 'minutes used' on your CI plan). If set to `true` and a changelog is provided, it will partially wait for the build to appear on AppStore Connect so the changelog can be set, and skip the remaining processing steps
|
5041
5060
|
- updateBuildInfoOnUpload: **DEPRECATED!** Update build info immediately after validation. This is deprecated and will be removed in a future release. App Store Connect no longer supports setting build info until after build processing has completed, which is when build info is updated by default
|
5061
|
+
- distributeOnly: Distribute a previously uploaded build (equivalent to the `fastlane pilot distribute` command)
|
5042
5062
|
- usesNonExemptEncryption: Provide the 'Uses Non-Exempt Encryption' for export compliance. This is used if there is 'ITSAppUsesNonExemptEncryption' is not set in the Info.plist
|
5043
5063
|
- distributeExternal: Should the build be distributed to external testers?
|
5044
5064
|
- notifyExternalTesters: Should notify external testers?
|
@@ -5076,6 +5096,7 @@ func pilot(username: String,
|
|
5076
5096
|
skipSubmission: Bool = false,
|
5077
5097
|
skipWaitingForBuildProcessing: Bool = false,
|
5078
5098
|
updateBuildInfoOnUpload: Bool = false,
|
5099
|
+
distributeOnly: Bool = false,
|
5079
5100
|
usesNonExemptEncryption: Bool = false,
|
5080
5101
|
distributeExternal: Bool = false,
|
5081
5102
|
notifyExternalTesters: Bool = true,
|
@@ -5109,6 +5130,7 @@ func pilot(username: String,
|
|
5109
5130
|
RubyCommand.Argument(name: "skip_submission", value: skipSubmission),
|
5110
5131
|
RubyCommand.Argument(name: "skip_waiting_for_build_processing", value: skipWaitingForBuildProcessing),
|
5111
5132
|
RubyCommand.Argument(name: "update_build_info_on_upload", value: updateBuildInfoOnUpload),
|
5133
|
+
RubyCommand.Argument(name: "distribute_only", value: distributeOnly),
|
5112
5134
|
RubyCommand.Argument(name: "uses_non_exempt_encryption", value: usesNonExemptEncryption),
|
5113
5135
|
RubyCommand.Argument(name: "distribute_external", value: distributeExternal),
|
5114
5136
|
RubyCommand.Argument(name: "notify_external_testers", value: notifyExternalTesters),
|
@@ -6864,6 +6886,7 @@ func slather(buildDirectory: String? = nil,
|
|
6864
6886
|
- clearPreviousScreenshots: Enabling this option will automatically clear previously generated screenshots before running snapshot
|
6865
6887
|
- reinstallApp: Enabling this option will automatically uninstall the application before running it
|
6866
6888
|
- eraseSimulator: Enabling this option will automatically erase the simulator before running the application
|
6889
|
+
- headless: Enabling this option will prevent displaying the simulator window
|
6867
6890
|
- overrideStatusBar: Enabling this option wil automatically override the status bar to show 9:41 AM, full battery, and full reception
|
6868
6891
|
- localizeSimulator: Enabling this option will configure the Simulator's system language
|
6869
6892
|
- darkMode: Enabling this option will configure the Simulator to be in dark mode (false for light, true for dark)
|
@@ -6907,6 +6930,7 @@ func snapshot(workspace: Any? = snapshotfile.workspace,
|
|
6907
6930
|
clearPreviousScreenshots: Bool = snapshotfile.clearPreviousScreenshots,
|
6908
6931
|
reinstallApp: Bool = snapshotfile.reinstallApp,
|
6909
6932
|
eraseSimulator: Bool = snapshotfile.eraseSimulator,
|
6933
|
+
headless: Bool = snapshotfile.headless,
|
6910
6934
|
overrideStatusBar: Bool = snapshotfile.overrideStatusBar,
|
6911
6935
|
localizeSimulator: Bool = snapshotfile.localizeSimulator,
|
6912
6936
|
darkMode: Bool? = snapshotfile.darkMode,
|
@@ -6949,6 +6973,7 @@ func snapshot(workspace: Any? = snapshotfile.workspace,
|
|
6949
6973
|
RubyCommand.Argument(name: "clear_previous_screenshots", value: clearPreviousScreenshots),
|
6950
6974
|
RubyCommand.Argument(name: "reinstall_app", value: reinstallApp),
|
6951
6975
|
RubyCommand.Argument(name: "erase_simulator", value: eraseSimulator),
|
6976
|
+
RubyCommand.Argument(name: "headless", value: headless),
|
6952
6977
|
RubyCommand.Argument(name: "override_status_bar", value: overrideStatusBar),
|
6953
6978
|
RubyCommand.Argument(name: "localize_simulator", value: localizeSimulator),
|
6954
6979
|
RubyCommand.Argument(name: "dark_mode", value: darkMode),
|
@@ -7347,6 +7372,7 @@ func swiftlint(mode: Any = "lint",
|
|
7347
7372
|
- cloneBranchDirectly: Clone just the branch specified, instead of the whole repo. This requires that the branch already exists. Otherwise the command will fail
|
7348
7373
|
- gitBasicAuthorization: Use a basic authorization header to access the git repo (e.g.: access via HTTPS, GitHub Actions, etc), usually a string in Base64
|
7349
7374
|
- gitBearerAuthorization: Use a bearer authorization header to access the git repo (e.g.: access to an Azure Devops repository), usually a string in Base64
|
7375
|
+
- gitPrivateKey: Use a private key to access the git repo (e.g.: access to GitHub repository via Deploy keys), usually a id_rsa named file or the contents hereof
|
7350
7376
|
- googleCloudBucketName: Name of the Google Cloud Storage bucket to use
|
7351
7377
|
- googleCloudKeysFile: Path to the gc_keys.json file
|
7352
7378
|
- googleCloudProjectId: ID of the Google Cloud project to use for authentication
|
@@ -7388,6 +7414,7 @@ func syncCodeSigning(type: String = "development",
|
|
7388
7414
|
cloneBranchDirectly: Bool = false,
|
7389
7415
|
gitBasicAuthorization: String? = nil,
|
7390
7416
|
gitBearerAuthorization: String? = nil,
|
7417
|
+
gitPrivateKey: String? = nil,
|
7391
7418
|
googleCloudBucketName: String? = nil,
|
7392
7419
|
googleCloudKeysFile: String? = nil,
|
7393
7420
|
googleCloudProjectId: String? = nil,
|
@@ -7426,6 +7453,7 @@ func syncCodeSigning(type: String = "development",
|
|
7426
7453
|
RubyCommand.Argument(name: "clone_branch_directly", value: cloneBranchDirectly),
|
7427
7454
|
RubyCommand.Argument(name: "git_basic_authorization", value: gitBasicAuthorization),
|
7428
7455
|
RubyCommand.Argument(name: "git_bearer_authorization", value: gitBearerAuthorization),
|
7456
|
+
RubyCommand.Argument(name: "git_private_key", value: gitPrivateKey),
|
7429
7457
|
RubyCommand.Argument(name: "google_cloud_bucket_name", value: googleCloudBucketName),
|
7430
7458
|
RubyCommand.Argument(name: "google_cloud_keys_file", value: googleCloudKeysFile),
|
7431
7459
|
RubyCommand.Argument(name: "google_cloud_project_id", value: googleCloudProjectId),
|
@@ -7529,10 +7557,11 @@ func testfairy(apiKey: String,
|
|
7529
7557
|
- betaAppDescription: Provide the 'Beta App Description' when uploading a new build
|
7530
7558
|
- betaAppFeedbackEmail: Provide the beta app email when uploading a new build
|
7531
7559
|
- localizedBuildInfo: Localized beta app test info for what's new
|
7532
|
-
- changelog: Provide the 'What to Test' text when uploading a new build
|
7560
|
+
- changelog: Provide the 'What to Test' text when uploading a new build
|
7533
7561
|
- skipSubmission: Skip the distributing action of pilot and only upload the ipa file
|
7534
7562
|
- skipWaitingForBuildProcessing: If set to true, the `distribute_external` option won't work and no build will be distributed to testers. (You might want to use this option if you are using this action on CI and have to pay for 'minutes used' on your CI plan). If set to `true` and a changelog is provided, it will partially wait for the build to appear on AppStore Connect so the changelog can be set, and skip the remaining processing steps
|
7535
7563
|
- updateBuildInfoOnUpload: **DEPRECATED!** Update build info immediately after validation. This is deprecated and will be removed in a future release. App Store Connect no longer supports setting build info until after build processing has completed, which is when build info is updated by default
|
7564
|
+
- distributeOnly: Distribute a previously uploaded build (equivalent to the `fastlane pilot distribute` command)
|
7536
7565
|
- usesNonExemptEncryption: Provide the 'Uses Non-Exempt Encryption' for export compliance. This is used if there is 'ITSAppUsesNonExemptEncryption' is not set in the Info.plist
|
7537
7566
|
- distributeExternal: Should the build be distributed to external testers?
|
7538
7567
|
- notifyExternalTesters: Should notify external testers?
|
@@ -7570,6 +7599,7 @@ func testflight(username: String,
|
|
7570
7599
|
skipSubmission: Bool = false,
|
7571
7600
|
skipWaitingForBuildProcessing: Bool = false,
|
7572
7601
|
updateBuildInfoOnUpload: Bool = false,
|
7602
|
+
distributeOnly: Bool = false,
|
7573
7603
|
usesNonExemptEncryption: Bool = false,
|
7574
7604
|
distributeExternal: Bool = false,
|
7575
7605
|
notifyExternalTesters: Bool = true,
|
@@ -7603,6 +7633,7 @@ func testflight(username: String,
|
|
7603
7633
|
RubyCommand.Argument(name: "skip_submission", value: skipSubmission),
|
7604
7634
|
RubyCommand.Argument(name: "skip_waiting_for_build_processing", value: skipWaitingForBuildProcessing),
|
7605
7635
|
RubyCommand.Argument(name: "update_build_info_on_upload", value: updateBuildInfoOnUpload),
|
7636
|
+
RubyCommand.Argument(name: "distribute_only", value: distributeOnly),
|
7606
7637
|
RubyCommand.Argument(name: "uses_non_exempt_encryption", value: usesNonExemptEncryption),
|
7607
7638
|
RubyCommand.Argument(name: "distribute_external", value: distributeExternal),
|
7608
7639
|
RubyCommand.Argument(name: "notify_external_testers", value: notifyExternalTesters),
|
@@ -8185,7 +8216,7 @@ func uploadToAppStore(username: String,
|
|
8185
8216
|
itcProvider: String? = nil,
|
8186
8217
|
runPrecheckBeforeSubmit: Bool = true,
|
8187
8218
|
precheckDefaultRuleLevel: Any = "warn",
|
8188
|
-
individualMetadataItems: [String] =
|
8219
|
+
individualMetadataItems: [String]? = nil,
|
8189
8220
|
appIcon: String? = nil,
|
8190
8221
|
appleWatchAppIcon: String? = nil,
|
8191
8222
|
copyright: String? = nil,
|
@@ -8444,10 +8475,11 @@ func uploadToPlayStoreInternalAppSharing(packageName: String,
|
|
8444
8475
|
- betaAppDescription: Provide the 'Beta App Description' when uploading a new build
|
8445
8476
|
- betaAppFeedbackEmail: Provide the beta app email when uploading a new build
|
8446
8477
|
- localizedBuildInfo: Localized beta app test info for what's new
|
8447
|
-
- changelog: Provide the 'What to Test' text when uploading a new build
|
8478
|
+
- changelog: Provide the 'What to Test' text when uploading a new build
|
8448
8479
|
- skipSubmission: Skip the distributing action of pilot and only upload the ipa file
|
8449
8480
|
- skipWaitingForBuildProcessing: If set to true, the `distribute_external` option won't work and no build will be distributed to testers. (You might want to use this option if you are using this action on CI and have to pay for 'minutes used' on your CI plan). If set to `true` and a changelog is provided, it will partially wait for the build to appear on AppStore Connect so the changelog can be set, and skip the remaining processing steps
|
8450
8481
|
- updateBuildInfoOnUpload: **DEPRECATED!** Update build info immediately after validation. This is deprecated and will be removed in a future release. App Store Connect no longer supports setting build info until after build processing has completed, which is when build info is updated by default
|
8482
|
+
- distributeOnly: Distribute a previously uploaded build (equivalent to the `fastlane pilot distribute` command)
|
8451
8483
|
- usesNonExemptEncryption: Provide the 'Uses Non-Exempt Encryption' for export compliance. This is used if there is 'ITSAppUsesNonExemptEncryption' is not set in the Info.plist
|
8452
8484
|
- distributeExternal: Should the build be distributed to external testers?
|
8453
8485
|
- notifyExternalTesters: Should notify external testers?
|
@@ -8485,6 +8517,7 @@ func uploadToTestflight(username: String,
|
|
8485
8517
|
skipSubmission: Bool = false,
|
8486
8518
|
skipWaitingForBuildProcessing: Bool = false,
|
8487
8519
|
updateBuildInfoOnUpload: Bool = false,
|
8520
|
+
distributeOnly: Bool = false,
|
8488
8521
|
usesNonExemptEncryption: Bool = false,
|
8489
8522
|
distributeExternal: Bool = false,
|
8490
8523
|
notifyExternalTesters: Bool = true,
|
@@ -8518,6 +8551,7 @@ func uploadToTestflight(username: String,
|
|
8518
8551
|
RubyCommand.Argument(name: "skip_submission", value: skipSubmission),
|
8519
8552
|
RubyCommand.Argument(name: "skip_waiting_for_build_processing", value: skipWaitingForBuildProcessing),
|
8520
8553
|
RubyCommand.Argument(name: "update_build_info_on_upload", value: updateBuildInfoOnUpload),
|
8554
|
+
RubyCommand.Argument(name: "distribute_only", value: distributeOnly),
|
8521
8555
|
RubyCommand.Argument(name: "uses_non_exempt_encryption", value: usesNonExemptEncryption),
|
8522
8556
|
RubyCommand.Argument(name: "distribute_external", value: distributeExternal),
|
8523
8557
|
RubyCommand.Argument(name: "notify_external_testers", value: notifyExternalTesters),
|
@@ -8977,4 +9011,4 @@ let snapshotfile: Snapshotfile = Snapshotfile()
|
|
8977
9011
|
|
8978
9012
|
// Please don't remove the lines below
|
8979
9013
|
// They are used to detect outdated files
|
8980
|
-
// FastlaneRunnerAPIVersion [0.9.
|
9014
|
+
// FastlaneRunnerAPIVersion [0.9.81]
|