fastlane 2.147.0 → 2.148.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 +82 -82
- data/cert/lib/cert/commands_generator.rb +1 -0
- data/credentials_manager/lib/credentials_manager/cli.rb +2 -0
- data/deliver/lib/deliver/commands_generator.rb +1 -0
- data/deliver/lib/deliver/html_generator.rb +2 -2
- data/deliver/lib/deliver/submit_for_review.rb +5 -1
- data/fastlane/lib/fastlane/actions/crashlytics.rb +0 -4
- data/fastlane/lib/fastlane/actions/docs/build_app.md +1 -1
- data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +2 -2
- data/fastlane/lib/fastlane/actions/docs/upload_to_play_store.md +12 -0
- data/fastlane/lib/fastlane/actions/get_managed_play_store_publishing_rights.rb +1 -1
- data/fastlane/lib/fastlane/actions/push_to_git_remote.rb +1 -1
- data/fastlane/lib/fastlane/actions/swiftlint.rb +14 -0
- data/fastlane/lib/fastlane/actions/sync_code_signing.rb +1 -1
- data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +1 -1
- data/fastlane/lib/fastlane/actions/xcodebuild.rb +4 -4
- data/fastlane/lib/fastlane/cli_tools_distributor.rb +28 -6
- data/fastlane/lib/fastlane/commands_generator.rb +1 -1
- data/fastlane/lib/fastlane/lane_manager.rb +0 -10
- data/fastlane/lib/fastlane/plugins/plugin_manager.rb +2 -2
- data/fastlane/lib/fastlane/swift_lane_manager.rb +0 -8
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/Fastlane.swift +68 -15
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/LaneFileProtocol.swift +5 -2
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/MatchfileProtocol.swift +5 -1
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/ScanfileProtocol.swift +9 -1
- data/fastlane/swift/Screengrabfile.swift +1 -1
- data/fastlane/swift/Snapshotfile.swift +1 -1
- data/fastlane/swift/SnapshotfileProtocol.swift +9 -1
- data/frameit/lib/frameit/commands_generator.rb +1 -0
- data/gym/lib/gym/generators/package_command_generator.rb +4 -0
- data/gym/lib/gym/generators/package_command_generator_xcode7.rb +4 -0
- data/gym/lib/gym/runner.rb +14 -0
- data/match/lib/match/commands_generator.rb +1 -0
- data/match/lib/match/generator.rb +2 -1
- data/match/lib/match/options.rb +18 -1
- data/pem/lib/pem/commands_generator.rb +1 -0
- data/pilot/lib/pilot/build_manager.rb +23 -7
- data/pilot/lib/pilot/options.rb +5 -0
- data/produce/lib/produce/commands_generator.rb +1 -0
- data/scan/lib/scan/detect_values.rb +3 -0
- data/scan/lib/scan/options.rb +19 -1
- data/scan/lib/scan/test_command_generator.rb +6 -1
- data/screengrab/lib/screengrab/runner.rb +10 -9
- data/sigh/lib/sigh/commands_generator.rb +1 -0
- data/sigh/lib/sigh/options.rb +7 -1
- data/sigh/lib/sigh/runner.rb +2 -1
- data/snapshot/lib/assets/SnapshotHelper.swift +12 -33
- data/snapshot/lib/snapshot/.options.rb.swp +0 -0
- data/snapshot/lib/snapshot/.test_command_generator_base.rb.swp +0 -0
- data/snapshot/lib/snapshot/detect_values.rb +15 -0
- data/snapshot/lib/snapshot/options.rb +22 -1
- data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +3 -1
- data/snapshot/lib/snapshot/test_command_generator_base.rb +7 -1
- data/spaceship/lib/spaceship/commands_generator.rb +1 -0
- data/spaceship/lib/spaceship/connect_api/models/build.rb +4 -0
- data/supply/lib/supply/commands_generator.rb +1 -0
- data/supply/lib/supply/options.rb +9 -0
- data/supply/lib/supply/uploader.rb +4 -0
- metadata +25 -24
- data/supply/lib/supply/.client.rb.swp +0 -0
@@ -130,7 +130,7 @@ module Fastlane
|
|
130
130
|
end
|
131
131
|
|
132
132
|
def self.find_binary_path(params)
|
133
|
-
params[:binary_path] ||= (Dir["/Applications/Fabric.app/**/upload-symbols"] + Dir["./Pods/Fabric/upload-symbols"] + Dir["./Pods/FirebaseCrashlytics/upload-symbols"]).last
|
133
|
+
params[:binary_path] ||= (Dir["/Applications/Fabric.app/**/upload-symbols"] + Dir["./Pods/Fabric/upload-symbols"] + Dir["./scripts/upload-symbols"] + Dir["./Pods/FirebaseCrashlytics/upload-symbols"]).last
|
134
134
|
UI.user_error!("Failed to find Fabric's upload_symbols binary at /Applications/Fabric.app/**/upload-symbols or ./Pods/**/upload-symbols. Please specify the location of the binary explicitly by using the binary_path option") unless params[:binary_path]
|
135
135
|
|
136
136
|
params[:binary_path] = File.expand_path(params[:binary_path])
|
@@ -307,10 +307,10 @@ module Fastlane
|
|
307
307
|
export_options[:teamID] = CredentialsManager::AppfileConfig.try_fetch_value(:team_id) if !export_options[:teamID] && CredentialsManager::AppfileConfig.try_fetch_value(:team_id)
|
308
308
|
export_options[:onDemandResourcesAssetPacksBaseURL] = URI.escape(export_options[:onDemandResourcesAssetPacksBaseURL]) if export_options[:onDemandResourcesAssetPacksBaseURL]
|
309
309
|
if export_options[:manifest]
|
310
|
-
export_options[:manifest][:appURL] = URI.
|
311
|
-
export_options[:manifest][:displayImageURL] = URI.
|
312
|
-
export_options[:manifest][:fullSizeImageURL] = URI.
|
313
|
-
export_options[:manifest][:assetPackManifestURL] = URI.
|
310
|
+
export_options[:manifest][:appURL] = URI.encode_www_form_component(export_options[:manifest][:appURL]) if export_options[:manifest][:appURL]
|
311
|
+
export_options[:manifest][:displayImageURL] = URI.encode_www_form_component(export_options[:manifest][:displayImageURL]) if export_options[:manifest][:displayImageURL]
|
312
|
+
export_options[:manifest][:fullSizeImageURL] = URI.encode_www_form_component(export_options[:manifest][:fullSizeImageURL]) if export_options[:manifest][:fullSizeImageURL]
|
313
|
+
export_options[:manifest][:assetPackManifestURL] = URI.encode_www_form_component(export_options[:manifest][:assetPackManifestURL]) if export_options[:manifest][:assetPackManifestURL]
|
314
314
|
end
|
315
315
|
|
316
316
|
# Saves options to plist
|
@@ -44,6 +44,12 @@ module Fastlane
|
|
44
44
|
else
|
45
45
|
require "fastlane"
|
46
46
|
end
|
47
|
+
|
48
|
+
# Loading any .env files before any lanes are called since
|
49
|
+
# variables like FASTLANE_HIDE_CHANGELOG, SKIP_SLOW_FASTLANE_WARNING
|
50
|
+
# and FASTLANE_DISABLE_COLORS need to be set early on in execution
|
51
|
+
load_dot_env
|
52
|
+
|
47
53
|
# We want to avoid printing output other than the version number if we are running `fastlane -v`
|
48
54
|
unless running_version_command? || running_init_command?
|
49
55
|
print_bundle_exec_warning(is_slow: (Time.now - before_import_time > 3))
|
@@ -59,12 +65,6 @@ module Fastlane
|
|
59
65
|
end
|
60
66
|
end
|
61
67
|
|
62
|
-
# Loading any .env files before any lanes are called since
|
63
|
-
# variables like FASTLANE_HIDE_CHANGELOG and FASTLANE_DISABLE_COLORS
|
64
|
-
# need to be set early on in execution
|
65
|
-
require 'fastlane/helper/dotenv_helper'
|
66
|
-
Fastlane::Helper::DotenvHelper.load_dot_env(nil)
|
67
|
-
|
68
68
|
# Needs to go after load_dot_env for variable FASTLANE_SKIP_UPDATE_CHECK
|
69
69
|
FastlaneCore::UpdateChecker.start_looking_for_update('fastlane')
|
70
70
|
|
@@ -122,6 +122,28 @@ module Fastlane
|
|
122
122
|
FastlaneCore::UpdateChecker.show_update_status('fastlane', Fastlane::VERSION)
|
123
123
|
end
|
124
124
|
|
125
|
+
# Since loading dotenv should respect additional environments passed using
|
126
|
+
# --env, we must extrat the arguments out of ARGV and process them before
|
127
|
+
# calling into commander. This is required since the ENV must be configured
|
128
|
+
# before running any other commands in order to correclty respect variables
|
129
|
+
# like FASTLANE_HIDE_CHANGELOG and FASTLANE_DISABLE_COLORS
|
130
|
+
def load_dot_env
|
131
|
+
env_cl_param = lambda do
|
132
|
+
index = ARGV.index("--env")
|
133
|
+
return nil if index.nil?
|
134
|
+
ARGV.delete_at(index)
|
135
|
+
|
136
|
+
return nil if ARGV[index].nil?
|
137
|
+
value = ARGV[index]
|
138
|
+
ARGV.delete_at(index)
|
139
|
+
|
140
|
+
value
|
141
|
+
end
|
142
|
+
|
143
|
+
require 'fastlane/helper/dotenv_helper'
|
144
|
+
Fastlane::Helper::DotenvHelper.load_dot_env(env_cl_param.call)
|
145
|
+
end
|
146
|
+
|
125
147
|
# Since fastlane also supports the rocket and biceps emoji as executable
|
126
148
|
# we need to map those to the appropriate tools
|
127
149
|
def process_emojis(tool_name)
|
@@ -93,13 +93,13 @@ module Fastlane
|
|
93
93
|
FastlaneCore::Globals.verbose = true
|
94
94
|
end
|
95
95
|
global_option('--troubleshoot', 'Enables extended verbose mode. Use with caution, as this even includes ALL sensitive data. Cannot be used on CI.')
|
96
|
+
global_option('--env STRING[,STRING2]', String, 'Add environment(s) to use with `dotenv`')
|
96
97
|
|
97
98
|
always_trace!
|
98
99
|
|
99
100
|
command :trigger do |c|
|
100
101
|
c.syntax = 'fastlane [lane]'
|
101
102
|
c.description = 'Run a specific lane. Pass the lane name and optionally the platform first.'
|
102
|
-
c.option('--env STRING[,STRING2]', String, 'Add environment(s) to use with `dotenv`')
|
103
103
|
c.option('--disable_runner_upgrades', 'Prevents fastlane from attempting to update FastlaneRunner swift project')
|
104
104
|
c.option('--swift_server_port INT', 'Set specific port to communicate between fastlane and FastlaneRunner')
|
105
105
|
|
@@ -7,7 +7,6 @@ module Fastlane
|
|
7
7
|
# @param parameters [Hash] The parameters passed from the command line to the lane
|
8
8
|
# @param env Dot Env Information
|
9
9
|
# @param A custom Fastfile path, this is used by fastlane.ci
|
10
|
-
# rubocop:disable Metrics/PerceivedComplexity
|
11
10
|
def self.cruise_lane(platform, lane, parameters = nil, env = nil, fastfile_path = nil)
|
12
11
|
UI.user_error!("lane must be a string") unless lane.kind_of?(String) || lane.nil?
|
13
12
|
UI.user_error!("platform must be a string") unless platform.kind_of?(String) || platform.nil?
|
@@ -42,14 +41,6 @@ module Fastlane
|
|
42
41
|
|
43
42
|
platform, lane = choose_lane(ff, platform) unless lane
|
44
43
|
|
45
|
-
# xcodeproj has a bug in certain versions that causes it to change directories
|
46
|
-
# and not return to the original working directory
|
47
|
-
# https://github.com/CocoaPods/Xcodeproj/issues/426
|
48
|
-
# Setting this environment variable causes xcodeproj to work around the problem
|
49
|
-
ENV["FORK_XCODE_WRITING"] = "true" unless platform == 'android'
|
50
|
-
|
51
|
-
Fastlane::Helper::DotenvHelper.load_dot_env(env)
|
52
|
-
|
53
44
|
started = Time.now
|
54
45
|
e = nil
|
55
46
|
begin
|
@@ -77,7 +68,6 @@ module Fastlane
|
|
77
68
|
|
78
69
|
return ff
|
79
70
|
end
|
80
|
-
# rubocop:enable Metrics/PerceivedComplexity
|
81
71
|
|
82
72
|
def self.skip_docs?
|
83
73
|
Helper.test? || FastlaneCore::Env.truthy?("FASTLANE_SKIP_DOCS")
|
@@ -159,7 +159,7 @@ module Fastlane
|
|
159
159
|
require 'json'
|
160
160
|
url = "https://rubygems.org/api/v1/gems/#{gem_name}.json"
|
161
161
|
begin
|
162
|
-
JSON.parse(open(url).read)
|
162
|
+
JSON.parse(URI.open(url).read)
|
163
163
|
rescue
|
164
164
|
nil
|
165
165
|
end
|
@@ -215,7 +215,7 @@ module Fastlane
|
|
215
215
|
# Bundler.with_clean_env solves this problem by resetting Bundler state before the
|
216
216
|
# exec'd call gets merged into this process.
|
217
217
|
|
218
|
-
Bundler.
|
218
|
+
Bundler.with_original_env do
|
219
219
|
yield if block_given?
|
220
220
|
end
|
221
221
|
end
|
@@ -14,14 +14,6 @@ module Fastlane
|
|
14
14
|
ENV["FASTLANE_LANE_NAME"] = lane
|
15
15
|
Actions.lane_context[Actions::SharedValues::LANE_NAME] = lane
|
16
16
|
|
17
|
-
# xcodeproj has a bug in certain versions that causes it to change directories
|
18
|
-
# and not return to the original working directory
|
19
|
-
# https://github.com/CocoaPods/Xcodeproj/issues/426
|
20
|
-
# Setting this environment variable causes xcodeproj to work around the problem
|
21
|
-
ENV["FORK_XCODE_WRITING"] = "true"
|
22
|
-
|
23
|
-
Fastlane::Helper::DotenvHelper.load_dot_env(env)
|
24
|
-
|
25
17
|
started = Time.now
|
26
18
|
e = nil
|
27
19
|
begin
|
@@ -1465,6 +1465,8 @@ func captureAndroidScreenshots(androidHome: String? = nil,
|
|
1465
1465
|
- disableSlideToType: Disable the simulator from showing the 'Slide to type' prompt
|
1466
1466
|
- clonedSourcePackagesPath: Sets a custom path for Swift Package Manager dependencies
|
1467
1467
|
- testplan: The testplan associated with the scheme that should be used for testing
|
1468
|
+
- onlyTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to run
|
1469
|
+
- skipTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to skip
|
1468
1470
|
*/
|
1469
1471
|
func captureIosScreenshots(workspace: String? = nil,
|
1470
1472
|
project: String? = nil,
|
@@ -1503,7 +1505,9 @@ func captureIosScreenshots(workspace: String? = nil,
|
|
1503
1505
|
concurrentSimulators: Bool = true,
|
1504
1506
|
disableSlideToType: Bool = false,
|
1505
1507
|
clonedSourcePackagesPath: String? = nil,
|
1506
|
-
testplan: String? = nil
|
1508
|
+
testplan: String? = nil,
|
1509
|
+
onlyTesting: Any? = nil,
|
1510
|
+
skipTesting: Any? = nil) {
|
1507
1511
|
let command = RubyCommand(commandID: "", methodName: "capture_ios_screenshots", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
|
1508
1512
|
RubyCommand.Argument(name: "project", value: project),
|
1509
1513
|
RubyCommand.Argument(name: "xcargs", value: xcargs),
|
@@ -1541,7 +1545,9 @@ func captureIosScreenshots(workspace: String? = nil,
|
|
1541
1545
|
RubyCommand.Argument(name: "concurrent_simulators", value: concurrentSimulators),
|
1542
1546
|
RubyCommand.Argument(name: "disable_slide_to_type", value: disableSlideToType),
|
1543
1547
|
RubyCommand.Argument(name: "cloned_source_packages_path", value: clonedSourcePackagesPath),
|
1544
|
-
RubyCommand.Argument(name: "testplan", value: testplan)
|
1548
|
+
RubyCommand.Argument(name: "testplan", value: testplan),
|
1549
|
+
RubyCommand.Argument(name: "only_testing", value: onlyTesting),
|
1550
|
+
RubyCommand.Argument(name: "skip_testing", value: skipTesting)])
|
1545
1551
|
_ = runner.executeCommand(command)
|
1546
1552
|
}
|
1547
1553
|
|
@@ -1587,6 +1593,8 @@ func captureIosScreenshots(workspace: String? = nil,
|
|
1587
1593
|
- disableSlideToType: Disable the simulator from showing the 'Slide to type' prompt
|
1588
1594
|
- clonedSourcePackagesPath: Sets a custom path for Swift Package Manager dependencies
|
1589
1595
|
- testplan: The testplan associated with the scheme that should be used for testing
|
1596
|
+
- onlyTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to run
|
1597
|
+
- skipTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to skip
|
1590
1598
|
*/
|
1591
1599
|
func captureScreenshots(workspace: String? = nil,
|
1592
1600
|
project: String? = nil,
|
@@ -1625,7 +1633,9 @@ func captureScreenshots(workspace: String? = nil,
|
|
1625
1633
|
concurrentSimulators: Bool = true,
|
1626
1634
|
disableSlideToType: Bool = false,
|
1627
1635
|
clonedSourcePackagesPath: String? = nil,
|
1628
|
-
testplan: String? = nil
|
1636
|
+
testplan: String? = nil,
|
1637
|
+
onlyTesting: Any? = nil,
|
1638
|
+
skipTesting: Any? = nil) {
|
1629
1639
|
let command = RubyCommand(commandID: "", methodName: "capture_screenshots", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
|
1630
1640
|
RubyCommand.Argument(name: "project", value: project),
|
1631
1641
|
RubyCommand.Argument(name: "xcargs", value: xcargs),
|
@@ -1663,7 +1673,9 @@ func captureScreenshots(workspace: String? = nil,
|
|
1663
1673
|
RubyCommand.Argument(name: "concurrent_simulators", value: concurrentSimulators),
|
1664
1674
|
RubyCommand.Argument(name: "disable_slide_to_type", value: disableSlideToType),
|
1665
1675
|
RubyCommand.Argument(name: "cloned_source_packages_path", value: clonedSourcePackagesPath),
|
1666
|
-
RubyCommand.Argument(name: "testplan", value: testplan)
|
1676
|
+
RubyCommand.Argument(name: "testplan", value: testplan),
|
1677
|
+
RubyCommand.Argument(name: "only_testing", value: onlyTesting),
|
1678
|
+
RubyCommand.Argument(name: "skip_testing", value: skipTesting)])
|
1667
1679
|
_ = runner.executeCommand(command)
|
1668
1680
|
}
|
1669
1681
|
|
@@ -2149,10 +2161,6 @@ func copyArtifacts(keepOriginal: Bool = true,
|
|
2149
2161
|
- notifications: Crashlytics notification option (true/false)
|
2150
2162
|
- debug: Crashlytics debug option (true/false)
|
2151
2163
|
|
2152
|
-
Crashlytics Beta has been deprecated and replaced with Firebase App Distribution.
|
2153
|
-
Beta will continue working until May 4, 2020.
|
2154
|
-
Check out the [Firebase App Distribution docs](https://github.com/fastlane/fastlane-plugin-firebase_app_distribution) to get started.
|
2155
|
-
|
2156
2164
|
Additionally, you can specify `notes`, `emails`, `groups` and `notifications`.
|
2157
2165
|
Distributing to Groups: When using the `groups` parameter, it's important to use the group **alias** names for each group you'd like to distribute to. A group's alias can be found in the web UI. If you're viewing the Beta page, you can open the groups dialog by clicking the 'Manage Groups' button.
|
2158
2166
|
This action uses the `submit` binary provided by the Crashlytics framework. If the binary is not found in its usual path, you'll need to specify the path manually by using the `crashlytics_path` option.
|
@@ -3353,6 +3361,7 @@ func getManagedPlayStorePublishingRights(jsonKey: String? = nil,
|
|
3353
3361
|
- platform: Set the provisioning profile's platform (i.e. ios, tvos)
|
3354
3362
|
- readonly: Only fetch existing profile, don't generate new ones
|
3355
3363
|
- templateName: The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. "Apple Pay Pass Suppression Development")
|
3364
|
+
- failOnNameTaken: Should the command fail if it was about to create a duplicate of an existing provisioning profile. It can happen due to issues on Apple Developer Portal, when profile to be recreated was not properly deleted first
|
3356
3365
|
|
3357
3366
|
- returns: The UUID of the profile sigh just fetched/generated
|
3358
3367
|
|
@@ -3377,7 +3386,8 @@ func getProvisioningProfile(adhoc: Bool = false,
|
|
3377
3386
|
skipCertificateVerification: Bool = false,
|
3378
3387
|
platform: Any = "ios",
|
3379
3388
|
readonly: Bool = false,
|
3380
|
-
templateName: String? = nil
|
3389
|
+
templateName: String? = nil,
|
3390
|
+
failOnNameTaken: Bool = false) {
|
3381
3391
|
let command = RubyCommand(commandID: "", methodName: "get_provisioning_profile", className: nil, args: [RubyCommand.Argument(name: "adhoc", value: adhoc),
|
3382
3392
|
RubyCommand.Argument(name: "developer_id", value: developerId),
|
3383
3393
|
RubyCommand.Argument(name: "development", value: development),
|
@@ -3397,7 +3407,8 @@ func getProvisioningProfile(adhoc: Bool = false,
|
|
3397
3407
|
RubyCommand.Argument(name: "skip_certificate_verification", value: skipCertificateVerification),
|
3398
3408
|
RubyCommand.Argument(name: "platform", value: platform),
|
3399
3409
|
RubyCommand.Argument(name: "readonly", value: readonly),
|
3400
|
-
RubyCommand.Argument(name: "template_name", value: templateName)
|
3410
|
+
RubyCommand.Argument(name: "template_name", value: templateName),
|
3411
|
+
RubyCommand.Argument(name: "fail_on_name_taken", value: failOnNameTaken)])
|
3401
3412
|
_ = runner.executeCommand(command)
|
3402
3413
|
}
|
3403
3414
|
|
@@ -4509,6 +4520,7 @@ func makeChangelogFromJenkins(fallbackChangelog: String = "",
|
|
4509
4520
|
- platform: Set the provisioning profile's platform to work with (i.e. ios, tvos, macos)
|
4510
4521
|
- templateName: The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. "Apple Pay Pass Suppression Development")
|
4511
4522
|
- profileName: A custom name for the provisioning profile. This will replace the default provisioning profile name if specified
|
4523
|
+
- failOnNameTaken: Should the command fail if it was about to create a duplicate of an existing provisioning profile. It can happen due to issues on Apple Developer Portal, when profile to be recreated was not properly deleted first
|
4512
4524
|
- outputPath: Path in which to export certificates, key and profile
|
4513
4525
|
- verbose: Print out extra information and all commands
|
4514
4526
|
|
@@ -4548,6 +4560,7 @@ func match(type: Any = matchfile.type,
|
|
4548
4560
|
platform: Any = matchfile.platform,
|
4549
4561
|
templateName: Any? = matchfile.templateName,
|
4550
4562
|
profileName: Any? = matchfile.profileName,
|
4563
|
+
failOnNameTaken: Bool = matchfile.failOnNameTaken,
|
4551
4564
|
outputPath: Any? = matchfile.outputPath,
|
4552
4565
|
verbose: Bool = matchfile.verbose) {
|
4553
4566
|
let command = RubyCommand(commandID: "", methodName: "match", className: nil, args: [RubyCommand.Argument(name: "type", value: type),
|
@@ -4584,6 +4597,7 @@ func match(type: Any = matchfile.type,
|
|
4584
4597
|
RubyCommand.Argument(name: "platform", value: platform),
|
4585
4598
|
RubyCommand.Argument(name: "template_name", value: templateName),
|
4586
4599
|
RubyCommand.Argument(name: "profile_name", value: profileName),
|
4600
|
+
RubyCommand.Argument(name: "fail_on_name_taken", value: failOnNameTaken),
|
4587
4601
|
RubyCommand.Argument(name: "output_path", value: outputPath),
|
4588
4602
|
RubyCommand.Argument(name: "verbose", value: verbose)])
|
4589
4603
|
_ = runner.executeCommand(command)
|
@@ -4979,6 +4993,7 @@ func pem(development: Bool = false,
|
|
4979
4993
|
- notifyExternalTesters: Should notify external testers?
|
4980
4994
|
- appVersion: The version number of the application build to distribute. If the version number is not specified, then the most recent build uploaded to TestFlight will be distributed. If specified, the most recent build for the version number will be distributed
|
4981
4995
|
- buildNumber: The build number of the application build to distribute. If the build number is not specified, the most recent build is distributed
|
4996
|
+
- expirePreviousBuilds: Should expire previous builds?
|
4982
4997
|
- firstName: The tester's first name
|
4983
4998
|
- lastName: The tester's last name
|
4984
4999
|
- email: The tester's email
|
@@ -5015,6 +5030,7 @@ func pilot(username: String,
|
|
5015
5030
|
notifyExternalTesters: Bool = true,
|
5016
5031
|
appVersion: String? = nil,
|
5017
5032
|
buildNumber: String? = nil,
|
5033
|
+
expirePreviousBuilds: Bool = false,
|
5018
5034
|
firstName: String? = nil,
|
5019
5035
|
lastName: String? = nil,
|
5020
5036
|
email: String? = nil,
|
@@ -5047,6 +5063,7 @@ func pilot(username: String,
|
|
5047
5063
|
RubyCommand.Argument(name: "notify_external_testers", value: notifyExternalTesters),
|
5048
5064
|
RubyCommand.Argument(name: "app_version", value: appVersion),
|
5049
5065
|
RubyCommand.Argument(name: "build_number", value: buildNumber),
|
5066
|
+
RubyCommand.Argument(name: "expire_previous_builds", value: expirePreviousBuilds),
|
5050
5067
|
RubyCommand.Argument(name: "first_name", value: firstName),
|
5051
5068
|
RubyCommand.Argument(name: "last_name", value: lastName),
|
5052
5069
|
RubyCommand.Argument(name: "email", value: email),
|
@@ -5678,6 +5695,8 @@ func rubyVersion() {
|
|
5678
5695
|
- onlyTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to run
|
5679
5696
|
- skipTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to skip
|
5680
5697
|
- testplan: The testplan associated with the scheme that should be used for testing
|
5698
|
+
- onlyTestConfigurations: Array of strings matching test plan configurations to run
|
5699
|
+
- skipTestConfigurations: Array of strings matching test plan configurations to skip
|
5681
5700
|
- xctestrun: Run tests using the provided `.xctestrun` file
|
5682
5701
|
- toolchain: The toolchain that should be used for building the application (e.g. `com.apple.dt.toolchain.Swift_2_3, org.swift.30p620160816a`)
|
5683
5702
|
- clean: Should the project be cleaned before building it?
|
@@ -5742,6 +5761,8 @@ func runTests(workspace: String? = nil,
|
|
5742
5761
|
onlyTesting: Any? = nil,
|
5743
5762
|
skipTesting: Any? = nil,
|
5744
5763
|
testplan: String? = nil,
|
5764
|
+
onlyTestConfigurations: Any? = nil,
|
5765
|
+
skipTestConfigurations: Any? = nil,
|
5745
5766
|
xctestrun: String? = nil,
|
5746
5767
|
toolchain: Any? = nil,
|
5747
5768
|
clean: Bool = false,
|
@@ -5803,6 +5824,8 @@ func runTests(workspace: String? = nil,
|
|
5803
5824
|
RubyCommand.Argument(name: "only_testing", value: onlyTesting),
|
5804
5825
|
RubyCommand.Argument(name: "skip_testing", value: skipTesting),
|
5805
5826
|
RubyCommand.Argument(name: "testplan", value: testplan),
|
5827
|
+
RubyCommand.Argument(name: "only_test_configurations", value: onlyTestConfigurations),
|
5828
|
+
RubyCommand.Argument(name: "skip_test_configurations", value: skipTestConfigurations),
|
5806
5829
|
RubyCommand.Argument(name: "xctestrun", value: xctestrun),
|
5807
5830
|
RubyCommand.Argument(name: "toolchain", value: toolchain),
|
5808
5831
|
RubyCommand.Argument(name: "clean", value: clean),
|
@@ -5945,6 +5968,8 @@ func say(text: Any,
|
|
5945
5968
|
- onlyTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to run
|
5946
5969
|
- skipTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to skip
|
5947
5970
|
- testplan: The testplan associated with the scheme that should be used for testing
|
5971
|
+
- onlyTestConfigurations: Array of strings matching test plan configurations to run
|
5972
|
+
- skipTestConfigurations: Array of strings matching test plan configurations to skip
|
5948
5973
|
- xctestrun: Run tests using the provided `.xctestrun` file
|
5949
5974
|
- toolchain: The toolchain that should be used for building the application (e.g. `com.apple.dt.toolchain.Swift_2_3, org.swift.30p620160816a`)
|
5950
5975
|
- clean: Should the project be cleaned before building it?
|
@@ -6009,6 +6034,8 @@ func scan(workspace: Any? = scanfile.workspace,
|
|
6009
6034
|
onlyTesting: Any? = scanfile.onlyTesting,
|
6010
6035
|
skipTesting: Any? = scanfile.skipTesting,
|
6011
6036
|
testplan: Any? = scanfile.testplan,
|
6037
|
+
onlyTestConfigurations: Any? = scanfile.onlyTestConfigurations,
|
6038
|
+
skipTestConfigurations: Any? = scanfile.skipTestConfigurations,
|
6012
6039
|
xctestrun: Any? = scanfile.xctestrun,
|
6013
6040
|
toolchain: Any? = scanfile.toolchain,
|
6014
6041
|
clean: Bool = scanfile.clean,
|
@@ -6070,6 +6097,8 @@ func scan(workspace: Any? = scanfile.workspace,
|
|
6070
6097
|
RubyCommand.Argument(name: "only_testing", value: onlyTesting),
|
6071
6098
|
RubyCommand.Argument(name: "skip_testing", value: skipTesting),
|
6072
6099
|
RubyCommand.Argument(name: "testplan", value: testplan),
|
6100
|
+
RubyCommand.Argument(name: "only_test_configurations", value: onlyTestConfigurations),
|
6101
|
+
RubyCommand.Argument(name: "skip_test_configurations", value: skipTestConfigurations),
|
6073
6102
|
RubyCommand.Argument(name: "xctestrun", value: xctestrun),
|
6074
6103
|
RubyCommand.Argument(name: "toolchain", value: toolchain),
|
6075
6104
|
RubyCommand.Argument(name: "clean", value: clean),
|
@@ -6510,6 +6539,7 @@ func setupTravis(force: Bool = false) {
|
|
6510
6539
|
- platform: Set the provisioning profile's platform (i.e. ios, tvos)
|
6511
6540
|
- readonly: Only fetch existing profile, don't generate new ones
|
6512
6541
|
- templateName: The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. "Apple Pay Pass Suppression Development")
|
6542
|
+
- failOnNameTaken: Should the command fail if it was about to create a duplicate of an existing provisioning profile. It can happen due to issues on Apple Developer Portal, when profile to be recreated was not properly deleted first
|
6513
6543
|
|
6514
6544
|
- returns: The UUID of the profile sigh just fetched/generated
|
6515
6545
|
|
@@ -6534,7 +6564,8 @@ func sigh(adhoc: Bool = false,
|
|
6534
6564
|
skipCertificateVerification: Bool = false,
|
6535
6565
|
platform: Any = "ios",
|
6536
6566
|
readonly: Bool = false,
|
6537
|
-
templateName: String? = nil
|
6567
|
+
templateName: String? = nil,
|
6568
|
+
failOnNameTaken: Bool = false) {
|
6538
6569
|
let command = RubyCommand(commandID: "", methodName: "sigh", className: nil, args: [RubyCommand.Argument(name: "adhoc", value: adhoc),
|
6539
6570
|
RubyCommand.Argument(name: "developer_id", value: developerId),
|
6540
6571
|
RubyCommand.Argument(name: "development", value: development),
|
@@ -6554,7 +6585,8 @@ func sigh(adhoc: Bool = false,
|
|
6554
6585
|
RubyCommand.Argument(name: "skip_certificate_verification", value: skipCertificateVerification),
|
6555
6586
|
RubyCommand.Argument(name: "platform", value: platform),
|
6556
6587
|
RubyCommand.Argument(name: "readonly", value: readonly),
|
6557
|
-
RubyCommand.Argument(name: "template_name", value: templateName)
|
6588
|
+
RubyCommand.Argument(name: "template_name", value: templateName),
|
6589
|
+
RubyCommand.Argument(name: "fail_on_name_taken", value: failOnNameTaken)])
|
6558
6590
|
_ = runner.executeCommand(command)
|
6559
6591
|
}
|
6560
6592
|
|
@@ -6795,6 +6827,8 @@ func slather(buildDirectory: String? = nil,
|
|
6795
6827
|
- disableSlideToType: Disable the simulator from showing the 'Slide to type' prompt
|
6796
6828
|
- clonedSourcePackagesPath: Sets a custom path for Swift Package Manager dependencies
|
6797
6829
|
- testplan: The testplan associated with the scheme that should be used for testing
|
6830
|
+
- onlyTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to run
|
6831
|
+
- skipTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to skip
|
6798
6832
|
*/
|
6799
6833
|
func snapshot(workspace: Any? = snapshotfile.workspace,
|
6800
6834
|
project: Any? = snapshotfile.project,
|
@@ -6833,7 +6867,9 @@ func snapshot(workspace: Any? = snapshotfile.workspace,
|
|
6833
6867
|
concurrentSimulators: Bool = snapshotfile.concurrentSimulators,
|
6834
6868
|
disableSlideToType: Bool = snapshotfile.disableSlideToType,
|
6835
6869
|
clonedSourcePackagesPath: Any? = snapshotfile.clonedSourcePackagesPath,
|
6836
|
-
testplan: Any? = snapshotfile.testplan
|
6870
|
+
testplan: Any? = snapshotfile.testplan,
|
6871
|
+
onlyTesting: Any? = snapshotfile.onlyTesting,
|
6872
|
+
skipTesting: Any? = snapshotfile.skipTesting) {
|
6837
6873
|
let command = RubyCommand(commandID: "", methodName: "snapshot", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
|
6838
6874
|
RubyCommand.Argument(name: "project", value: project),
|
6839
6875
|
RubyCommand.Argument(name: "xcargs", value: xcargs),
|
@@ -6871,7 +6907,9 @@ func snapshot(workspace: Any? = snapshotfile.workspace,
|
|
6871
6907
|
RubyCommand.Argument(name: "concurrent_simulators", value: concurrentSimulators),
|
6872
6908
|
RubyCommand.Argument(name: "disable_slide_to_type", value: disableSlideToType),
|
6873
6909
|
RubyCommand.Argument(name: "cloned_source_packages_path", value: clonedSourcePackagesPath),
|
6874
|
-
RubyCommand.Argument(name: "testplan", value: testplan)
|
6910
|
+
RubyCommand.Argument(name: "testplan", value: testplan),
|
6911
|
+
RubyCommand.Argument(name: "only_testing", value: onlyTesting),
|
6912
|
+
RubyCommand.Argument(name: "skip_testing", value: skipTesting)])
|
6875
6913
|
_ = runner.executeCommand(command)
|
6876
6914
|
}
|
6877
6915
|
|
@@ -7087,6 +7125,7 @@ func ssh(username: String,
|
|
7087
7125
|
- timeout: Timeout for read, open, and send (in seconds)
|
7088
7126
|
- deactivateOnPromote: **DEPRECATED!** Google Play does this automatically now - When promoting to a new track, deactivate the binary in the origin track
|
7089
7127
|
- versionCodesToRetain: An array of version codes to retain when publishing a new APK
|
7128
|
+
- inAppUpdatePriority: In-app update priority for all the newly added apks in the release. Can take values between [0,5]
|
7090
7129
|
- obbMainReferencesVersion: References version of 'main' expansion file
|
7091
7130
|
- obbMainFileSize: Size of 'main' expansion file in bytes
|
7092
7131
|
- obbPatchReferencesVersion: References version of 'patch' expansion file
|
@@ -7124,6 +7163,7 @@ func supply(packageName: String,
|
|
7124
7163
|
timeout: Int = 300,
|
7125
7164
|
deactivateOnPromote: Bool = true,
|
7126
7165
|
versionCodesToRetain: [String]? = nil,
|
7166
|
+
inAppUpdatePriority: Int? = nil,
|
7127
7167
|
obbMainReferencesVersion: String? = nil,
|
7128
7168
|
obbMainFileSize: String? = nil,
|
7129
7169
|
obbPatchReferencesVersion: String? = nil,
|
@@ -7158,6 +7198,7 @@ func supply(packageName: String,
|
|
7158
7198
|
RubyCommand.Argument(name: "timeout", value: timeout),
|
7159
7199
|
RubyCommand.Argument(name: "deactivate_on_promote", value: deactivateOnPromote),
|
7160
7200
|
RubyCommand.Argument(name: "version_codes_to_retain", value: versionCodesToRetain),
|
7201
|
+
RubyCommand.Argument(name: "in_app_update_priority", value: inAppUpdatePriority),
|
7161
7202
|
RubyCommand.Argument(name: "obb_main_references_version", value: obbMainReferencesVersion),
|
7162
7203
|
RubyCommand.Argument(name: "obb_main_file_size", value: obbMainFileSize),
|
7163
7204
|
RubyCommand.Argument(name: "obb_patch_references_version", value: obbPatchReferencesVersion),
|
@@ -7253,6 +7294,7 @@ func swiftlint(mode: Any = "lint",
|
|
7253
7294
|
- platform: Set the provisioning profile's platform to work with (i.e. ios, tvos, macos)
|
7254
7295
|
- templateName: The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. "Apple Pay Pass Suppression Development")
|
7255
7296
|
- profileName: A custom name for the provisioning profile. This will replace the default provisioning profile name if specified
|
7297
|
+
- failOnNameTaken: Should the command fail if it was about to create a duplicate of an existing provisioning profile. It can happen due to issues on Apple Developer Portal, when profile to be recreated was not properly deleted first
|
7256
7298
|
- outputPath: Path in which to export certificates, key and profile
|
7257
7299
|
- verbose: Print out extra information and all commands
|
7258
7300
|
|
@@ -7292,6 +7334,7 @@ func syncCodeSigning(type: String = "development",
|
|
7292
7334
|
platform: String = "ios",
|
7293
7335
|
templateName: String? = nil,
|
7294
7336
|
profileName: String? = nil,
|
7337
|
+
failOnNameTaken: Bool = false,
|
7295
7338
|
outputPath: String? = nil,
|
7296
7339
|
verbose: Bool = false) {
|
7297
7340
|
let command = RubyCommand(commandID: "", methodName: "sync_code_signing", className: nil, args: [RubyCommand.Argument(name: "type", value: type),
|
@@ -7328,6 +7371,7 @@ func syncCodeSigning(type: String = "development",
|
|
7328
7371
|
RubyCommand.Argument(name: "platform", value: platform),
|
7329
7372
|
RubyCommand.Argument(name: "template_name", value: templateName),
|
7330
7373
|
RubyCommand.Argument(name: "profile_name", value: profileName),
|
7374
|
+
RubyCommand.Argument(name: "fail_on_name_taken", value: failOnNameTaken),
|
7331
7375
|
RubyCommand.Argument(name: "output_path", value: outputPath),
|
7332
7376
|
RubyCommand.Argument(name: "verbose", value: verbose)])
|
7333
7377
|
_ = runner.executeCommand(command)
|
@@ -7422,6 +7466,7 @@ func testfairy(apiKey: String,
|
|
7422
7466
|
- notifyExternalTesters: Should notify external testers?
|
7423
7467
|
- appVersion: The version number of the application build to distribute. If the version number is not specified, then the most recent build uploaded to TestFlight will be distributed. If specified, the most recent build for the version number will be distributed
|
7424
7468
|
- buildNumber: The build number of the application build to distribute. If the build number is not specified, the most recent build is distributed
|
7469
|
+
- expirePreviousBuilds: Should expire previous builds?
|
7425
7470
|
- firstName: The tester's first name
|
7426
7471
|
- lastName: The tester's last name
|
7427
7472
|
- email: The tester's email
|
@@ -7458,6 +7503,7 @@ func testflight(username: String,
|
|
7458
7503
|
notifyExternalTesters: Bool = true,
|
7459
7504
|
appVersion: String? = nil,
|
7460
7505
|
buildNumber: String? = nil,
|
7506
|
+
expirePreviousBuilds: Bool = false,
|
7461
7507
|
firstName: String? = nil,
|
7462
7508
|
lastName: String? = nil,
|
7463
7509
|
email: String? = nil,
|
@@ -7490,6 +7536,7 @@ func testflight(username: String,
|
|
7490
7536
|
RubyCommand.Argument(name: "notify_external_testers", value: notifyExternalTesters),
|
7491
7537
|
RubyCommand.Argument(name: "app_version", value: appVersion),
|
7492
7538
|
RubyCommand.Argument(name: "build_number", value: buildNumber),
|
7539
|
+
RubyCommand.Argument(name: "expire_previous_builds", value: expirePreviousBuilds),
|
7493
7540
|
RubyCommand.Argument(name: "first_name", value: firstName),
|
7494
7541
|
RubyCommand.Argument(name: "last_name", value: lastName),
|
7495
7542
|
RubyCommand.Argument(name: "email", value: email),
|
@@ -8187,6 +8234,7 @@ func uploadToAppStore(username: String,
|
|
8187
8234
|
- timeout: Timeout for read, open, and send (in seconds)
|
8188
8235
|
- deactivateOnPromote: **DEPRECATED!** Google Play does this automatically now - When promoting to a new track, deactivate the binary in the origin track
|
8189
8236
|
- versionCodesToRetain: An array of version codes to retain when publishing a new APK
|
8237
|
+
- inAppUpdatePriority: In-app update priority for all the newly added apks in the release. Can take values between [0,5]
|
8190
8238
|
- obbMainReferencesVersion: References version of 'main' expansion file
|
8191
8239
|
- obbMainFileSize: Size of 'main' expansion file in bytes
|
8192
8240
|
- obbPatchReferencesVersion: References version of 'patch' expansion file
|
@@ -8224,6 +8272,7 @@ func uploadToPlayStore(packageName: String,
|
|
8224
8272
|
timeout: Int = 300,
|
8225
8273
|
deactivateOnPromote: Bool = true,
|
8226
8274
|
versionCodesToRetain: [String]? = nil,
|
8275
|
+
inAppUpdatePriority: Int? = nil,
|
8227
8276
|
obbMainReferencesVersion: String? = nil,
|
8228
8277
|
obbMainFileSize: String? = nil,
|
8229
8278
|
obbPatchReferencesVersion: String? = nil,
|
@@ -8258,6 +8307,7 @@ func uploadToPlayStore(packageName: String,
|
|
8258
8307
|
RubyCommand.Argument(name: "timeout", value: timeout),
|
8259
8308
|
RubyCommand.Argument(name: "deactivate_on_promote", value: deactivateOnPromote),
|
8260
8309
|
RubyCommand.Argument(name: "version_codes_to_retain", value: versionCodesToRetain),
|
8310
|
+
RubyCommand.Argument(name: "in_app_update_priority", value: inAppUpdatePriority),
|
8261
8311
|
RubyCommand.Argument(name: "obb_main_references_version", value: obbMainReferencesVersion),
|
8262
8312
|
RubyCommand.Argument(name: "obb_main_file_size", value: obbMainFileSize),
|
8263
8313
|
RubyCommand.Argument(name: "obb_patch_references_version", value: obbPatchReferencesVersion),
|
@@ -8328,6 +8378,7 @@ func uploadToPlayStoreInternalAppSharing(packageName: String,
|
|
8328
8378
|
- notifyExternalTesters: Should notify external testers?
|
8329
8379
|
- appVersion: The version number of the application build to distribute. If the version number is not specified, then the most recent build uploaded to TestFlight will be distributed. If specified, the most recent build for the version number will be distributed
|
8330
8380
|
- buildNumber: The build number of the application build to distribute. If the build number is not specified, the most recent build is distributed
|
8381
|
+
- expirePreviousBuilds: Should expire previous builds?
|
8331
8382
|
- firstName: The tester's first name
|
8332
8383
|
- lastName: The tester's last name
|
8333
8384
|
- email: The tester's email
|
@@ -8364,6 +8415,7 @@ func uploadToTestflight(username: String,
|
|
8364
8415
|
notifyExternalTesters: Bool = true,
|
8365
8416
|
appVersion: String? = nil,
|
8366
8417
|
buildNumber: String? = nil,
|
8418
|
+
expirePreviousBuilds: Bool = false,
|
8367
8419
|
firstName: String? = nil,
|
8368
8420
|
lastName: String? = nil,
|
8369
8421
|
email: String? = nil,
|
@@ -8396,6 +8448,7 @@ func uploadToTestflight(username: String,
|
|
8396
8448
|
RubyCommand.Argument(name: "notify_external_testers", value: notifyExternalTesters),
|
8397
8449
|
RubyCommand.Argument(name: "app_version", value: appVersion),
|
8398
8450
|
RubyCommand.Argument(name: "build_number", value: buildNumber),
|
8451
|
+
RubyCommand.Argument(name: "expire_previous_builds", value: expirePreviousBuilds),
|
8399
8452
|
RubyCommand.Argument(name: "first_name", value: firstName),
|
8400
8453
|
RubyCommand.Argument(name: "last_name", value: lastName),
|
8401
8454
|
RubyCommand.Argument(name: "email", value: email),
|
@@ -8850,4 +8903,4 @@ let snapshotfile: Snapshotfile = Snapshotfile()
|
|
8850
8903
|
|
8851
8904
|
// Please don't remove the lines below
|
8852
8905
|
// They are used to detect outdated files
|
8853
|
-
// FastlaneRunnerAPIVersion [0.9.
|
8906
|
+
// FastlaneRunnerAPIVersion [0.9.76]
|