fastlane 2.146.0 → 2.149.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 +86 -86
- data/cert/lib/cert/commands_generator.rb +1 -0
- data/credentials_manager/lib/credentials_manager/cli.rb +2 -0
- data/deliver/lib/deliver/app_screenshot.rb +3 -3
- 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/.update_code_signing_settings.rb.swp → assets/.s3_html_template.erb.swp} +0 -0
- data/fastlane/lib/assets/custom_action_template.rb +6 -6
- data/fastlane/lib/assets/s3_html_template.erb +1 -1
- data/fastlane/lib/fastlane/actions/.hipchat.rb.swp +0 -0
- data/fastlane/lib/fastlane/actions/.slack.rb.swp +0 -0
- data/fastlane/lib/fastlane/actions/cocoapods.rb +1 -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/capture_android_screenshots.md +42 -2
- data/fastlane/lib/fastlane/actions/docs/capture_ios_screenshots.md +3 -1
- data/fastlane/lib/fastlane/actions/docs/frame_screenshots.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/git_branch.rb +1 -1
- data/fastlane/lib/fastlane/actions/hipchat.rb +1 -1
- data/fastlane/lib/fastlane/actions/push_to_git_remote.rb +1 -1
- data/fastlane/lib/fastlane/actions/set_pod_key.rb +3 -3
- data/fastlane/lib/fastlane/actions/slack.rb +1 -1
- data/fastlane/lib/fastlane/actions/slather.rb +8 -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/testfairy.rb +18 -3
- data/fastlane/lib/fastlane/actions/update_code_signing_settings.rb +7 -2
- data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +2 -2
- data/fastlane/lib/fastlane/actions/verify_xcode.rb +7 -0
- 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 +5 -2
- data/fastlane/lib/fastlane/documentation/actions_list.rb +1 -1
- data/fastlane/lib/fastlane/helper/lane_helper.rb +13 -0
- data/fastlane/lib/fastlane/lane_manager.rb +0 -10
- data/fastlane/lib/fastlane/plugins/plugin_manager.rb +3 -3
- data/fastlane/lib/fastlane/plugins/template/.github/workflows/test.yml +29 -0
- data/fastlane/lib/fastlane/swift_fastlane_function.rb +15 -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 +130 -26
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/GymfileProtocol.swift +1 -1
- data/fastlane/swift/LaneFileProtocol.swift +5 -2
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/MatchfileProtocol.swift +9 -1
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/ScanfileProtocol.swift +15 -3
- data/fastlane/swift/Screengrabfile.swift +1 -1
- data/fastlane/swift/Snapshotfile.swift +1 -1
- data/fastlane/swift/SnapshotfileProtocol.swift +25 -1
- data/fastlane_core/lib/fastlane_core/helper.rb +17 -0
- data/fastlane_core/lib/fastlane_core/keychain_importer.rb +46 -2
- data/fastlane_core/lib/fastlane_core/project.rb +1 -0
- data/frameit/lib/frameit/commands_generator.rb +1 -0
- data/frameit/lib/frameit/device_types.rb +10 -0
- data/frameit/lib/frameit/options.rb +5 -2
- data/frameit/lib/frameit/runner.rb +5 -0
- data/frameit/lib/frameit/screenshot.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/options.rb +1 -1
- data/gym/lib/gym/runner.rb +14 -0
- data/match/lib/match/change_password.rb +1 -18
- data/match/lib/match/commands_generator.rb +1 -0
- data/match/lib/match/encryption/openssl.rb +1 -1
- data/match/lib/match/generator.rb +7 -2
- data/match/lib/match/nuke.rb +21 -16
- data/match/lib/match/options.rb +23 -1
- data/match/lib/match/storage/git_storage.rb +4 -0
- data/match/lib/match/storage/google_cloud_storage.rb +4 -0
- data/match/lib/match/storage/interface.rb +4 -0
- data/match/lib/match/storage/s3_storage.rb +4 -0
- data/match/lib/match/utils.rb +1 -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/.options.rb.swp +0 -0
- data/scan/lib/scan/detect_values.rb +3 -0
- data/scan/lib/scan/options.rb +26 -3
- data/scan/lib/scan/runner.rb +2 -0
- data/scan/lib/scan/test_command_generator.rb +7 -2
- data/scan/lib/scan/test_result_parser.rb +9 -2
- 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/SnapfileTemplate +3 -0
- data/snapshot/lib/assets/SnapshotHelper.swift +12 -33
- data/snapshot/lib/snapshot/detect_values.rb +15 -0
- data/snapshot/lib/snapshot/options.rb +42 -0
- data/snapshot/lib/snapshot/reports_generator.rb +1 -1
- data/snapshot/lib/snapshot/simulator_launchers/launcher_configuration.rb +2 -0
- data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb +4 -0
- data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +24 -1
- data/snapshot/lib/snapshot/test_command_generator.rb +8 -3
- data/snapshot/lib/snapshot/test_command_generator_base.rb +10 -1
- data/spaceship/lib/spaceship/base.rb +1 -1
- data/spaceship/lib/spaceship/client.rb +9 -1
- data/spaceship/lib/spaceship/commands_generator.rb +1 -0
- data/spaceship/lib/spaceship/connect_api/model.rb +6 -0
- data/spaceship/lib/spaceship/connect_api/models/build.rb +4 -0
- data/spaceship/lib/spaceship/errors.rb +3 -0
- data/spaceship/lib/spaceship/tunes/iap.rb +15 -0
- data/spaceship/lib/spaceship/tunes/tunes_client.rb +14 -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 +47 -30
@@ -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
|
|
@@ -141,10 +141,12 @@ module Fastlane
|
|
141
141
|
c.description = 'Starts local socket server and enables only a single local connection'
|
142
142
|
c.option('-s', '--stay_alive', 'Keeps socket server up even after error or disconnects, requires CTRL-C to kill.')
|
143
143
|
c.option('-c seconds', '--connection_timeout', 'Sets connection established timeout')
|
144
|
+
c.option('-p port', '--port', "Sets the port on localhost for the socket connection")
|
144
145
|
c.action do |args, options|
|
145
146
|
default_connection_timeout = 5
|
146
147
|
stay_alive = options.stay_alive || false
|
147
148
|
connection_timeout = options.connection_timeout || default_connection_timeout
|
149
|
+
port = options.port || 2000
|
148
150
|
|
149
151
|
if stay_alive && options.connection_timeout.nil?
|
150
152
|
UI.important("stay_alive is set, but the connection timeout is not, this will give you #{default_connection_timeout} seconds to (re)connect")
|
@@ -157,7 +159,8 @@ module Fastlane
|
|
157
159
|
server = Fastlane::SocketServer.new(
|
158
160
|
command_executor: command_executor,
|
159
161
|
connection_timeout: connection_timeout,
|
160
|
-
stay_alive: stay_alive
|
162
|
+
stay_alive: stay_alive,
|
163
|
+
port: port
|
161
164
|
)
|
162
165
|
result = server.start
|
163
166
|
UI.success("Result: #{result}") if result
|
@@ -176,7 +176,7 @@ module Fastlane
|
|
176
176
|
# them as broken actions in the table, regardless of platform specification
|
177
177
|
next if platform && action.respond_to?(:is_supported?) && !action.is_supported?(platform.to_sym)
|
178
178
|
|
179
|
-
name = symbol.to_s.gsub(
|
179
|
+
name = symbol.to_s.gsub(/Action$/, '').fastlane_underscore
|
180
180
|
yield(action, name)
|
181
181
|
end
|
182
182
|
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module Fastlane
|
2
|
+
module Helper
|
3
|
+
class LaneHelper
|
4
|
+
def self.current_platform
|
5
|
+
return Fastlane::Actions.lane_context[Fastlane::Actions::SharedValues::PLATFORM_NAME]
|
6
|
+
end
|
7
|
+
|
8
|
+
def self.current_lane
|
9
|
+
return Fastlane::Actions.lane_context[Fastlane::Actions::SharedValues::LANE_NAME]
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -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
|
@@ -375,7 +375,7 @@ module Fastlane
|
|
375
375
|
references = Fastlane.const_get(module_name).all_classes.collect do |path|
|
376
376
|
next unless File.dirname(path).include?("/actions") # we only want to match actions
|
377
377
|
|
378
|
-
File.basename(path).gsub("
|
378
|
+
File.basename(path).gsub(".rb", "").gsub(/_action$/, '').to_sym # the _action is optional
|
379
379
|
end
|
380
380
|
references.compact!
|
381
381
|
|
@@ -0,0 +1,29 @@
|
|
1
|
+
name: Test
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
|
6
|
+
jobs:
|
7
|
+
test:
|
8
|
+
runs-on: ubuntu-latest
|
9
|
+
steps:
|
10
|
+
- uses: actions/checkout@v2
|
11
|
+
- uses: actions/cache@v1
|
12
|
+
with:
|
13
|
+
path: vendor/bundle
|
14
|
+
key: ${{ runner.os }}-gem-${{ hashFiles('**/Gemfile') }}
|
15
|
+
restore-keys: |
|
16
|
+
${{ runner.os }}-gem-
|
17
|
+
- name: Set up Ruby
|
18
|
+
uses: ruby/setup-ruby@v1
|
19
|
+
with:
|
20
|
+
ruby-version: 2.4
|
21
|
+
- name: Install dependencies
|
22
|
+
run: bundle check || bundle install --jobs=4 --retry=3 --path vendor/bundle
|
23
|
+
- name: Run tests
|
24
|
+
run: bundle exec rake
|
25
|
+
- name: Upload artifact
|
26
|
+
uses: actions/upload-artifact@v2
|
27
|
+
with:
|
28
|
+
name: test-results
|
29
|
+
path: test-results
|
@@ -95,6 +95,8 @@ module Fastlane
|
|
95
95
|
return "Int"
|
96
96
|
elsif type_override == Boolean
|
97
97
|
return "Bool"
|
98
|
+
elsif type_override == Float
|
99
|
+
return "Float"
|
98
100
|
elsif type_override == :string_callback
|
99
101
|
return "((String) -> Void)"
|
100
102
|
else
|
@@ -130,8 +132,19 @@ module Fastlane
|
|
130
132
|
type = "[String]"
|
131
133
|
elsif default_value.kind_of?(Hash)
|
132
134
|
type = "[String : Any]"
|
135
|
+
# Altough we can have a default value of Integer type, if param_type_override overridden that value, respect it.
|
133
136
|
elsif default_value.kind_of?(Integer)
|
134
|
-
type
|
137
|
+
if type == "Double" || type == "Float"
|
138
|
+
begin
|
139
|
+
# If we're not able to instantiate
|
140
|
+
_ = BigDecimal(default_value)
|
141
|
+
rescue
|
142
|
+
# We set it as a Int
|
143
|
+
type = "Int"
|
144
|
+
end
|
145
|
+
else
|
146
|
+
type = "Int"
|
147
|
+
end
|
135
148
|
end
|
136
149
|
return "#{type}#{optional_specifier}"
|
137
150
|
end
|
@@ -149,7 +162,7 @@ module Fastlane
|
|
149
162
|
# we can't handle default values for Hashes, yet
|
150
163
|
# see method swift_default_implementations for similar behavior
|
151
164
|
default_value = "[:]"
|
152
|
-
elsif type != "Bool" && type != "[String]" && type != "Int" && type != "((String) -> Void)"
|
165
|
+
elsif type != "Bool" && type != "[String]" && type != "Int" && type != "((String) -> Void)" && type != "Float" && type != "Double"
|
153
166
|
default_value = "\"#{default_value}\""
|
154
167
|
end
|
155
168
|
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
|
@@ -894,7 +894,7 @@ func buildAndroidApp(task: String? = nil,
|
|
894
894
|
- skipArchive: After building, don't archive, effectively not including -archivePath param
|
895
895
|
- skipCodesigning: Build without codesigning
|
896
896
|
- catalystPlatform: Platform to build when using a Catalyst enabled app. Valid values are: ios, macos
|
897
|
-
- installerCertName: Full name of 3rd Party Mac Developer Installer or
|
897
|
+
- installerCertName: Full name of 3rd Party Mac Developer Installer or Developer ID Installer certificate. Example: `3rd Party Mac Developer Installer: Your Company (ABC1234XWYZ)`
|
898
898
|
- buildPath: The directory in which the archive should be stored in
|
899
899
|
- archivePath: The path to the created archive
|
900
900
|
- derivedDataPath: The directory where built products and other derived data will go
|
@@ -1171,7 +1171,7 @@ func buildIosApp(workspace: String? = nil,
|
|
1171
1171
|
- skipBuildArchive: Export ipa from previously built xcarchive. Uses archive_path as source
|
1172
1172
|
- skipArchive: After building, don't archive, effectively not including -archivePath param
|
1173
1173
|
- skipCodesigning: Build without codesigning
|
1174
|
-
- installerCertName: Full name of 3rd Party Mac Developer Installer or
|
1174
|
+
- installerCertName: Full name of 3rd Party Mac Developer Installer or Developer ID Installer certificate. Example: `3rd Party Mac Developer Installer: Your Company (ABC1234XWYZ)`
|
1175
1175
|
- buildPath: The directory in which the archive should be stored in
|
1176
1176
|
- archivePath: The path to the created archive
|
1177
1177
|
- derivedDataPath: The directory where built products and other derived data will go
|
@@ -1442,11 +1442,13 @@ 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
|
+
- overrideStatusBar: Enabling this option wil automatically override the status bar to show 9:41 AM, full battery, and full reception
|
1445
1446
|
- localizeSimulator: Enabling this option will configure the Simulator's system language
|
1446
1447
|
- darkMode: Enabling this option will configure the Simulator to be in dark mode (false for light, true for dark)
|
1447
1448
|
- appIdentifier: The bundle identifier of the app to uninstall (only needed when enabling reinstall_app)
|
1448
1449
|
- addPhotos: A list of photos that should be added to the simulator before running the application
|
1449
1450
|
- addVideos: A list of videos that should be added to the simulator before running the application
|
1451
|
+
- htmlTemplate: A path to screenshots.html template
|
1450
1452
|
- buildlogPath: The directory where to store the build log
|
1451
1453
|
- clean: Should the project be cleaned before building it?
|
1452
1454
|
- testWithoutBuilding: Test without building, requires a derived data path
|
@@ -1463,6 +1465,10 @@ func captureAndroidScreenshots(androidHome: String? = nil,
|
|
1463
1465
|
- concurrentSimulators: Take snapshots on multiple simulators concurrently. Note: This option is only applicable when running against Xcode 9
|
1464
1466
|
- disableSlideToType: Disable the simulator from showing the 'Slide to type' prompt
|
1465
1467
|
- clonedSourcePackagesPath: Sets a custom path for Swift Package Manager dependencies
|
1468
|
+
- testplan: The testplan associated with the scheme that should be used for testing
|
1469
|
+
- onlyTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to run
|
1470
|
+
- skipTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to skip
|
1471
|
+
- disableXcpretty: Disable xcpretty formatting of build
|
1466
1472
|
*/
|
1467
1473
|
func captureIosScreenshots(workspace: String? = nil,
|
1468
1474
|
project: String? = nil,
|
@@ -1479,11 +1485,13 @@ func captureIosScreenshots(workspace: String? = nil,
|
|
1479
1485
|
clearPreviousScreenshots: Bool = false,
|
1480
1486
|
reinstallApp: Bool = false,
|
1481
1487
|
eraseSimulator: Bool = false,
|
1488
|
+
overrideStatusBar: Bool = false,
|
1482
1489
|
localizeSimulator: Bool = false,
|
1483
1490
|
darkMode: Bool? = nil,
|
1484
1491
|
appIdentifier: String? = nil,
|
1485
1492
|
addPhotos: [String]? = nil,
|
1486
1493
|
addVideos: [String]? = nil,
|
1494
|
+
htmlTemplate: String = "/Users/josh/Projects/fastlane/fastlane/snapshot/lib/snapshot/page.html.erb",
|
1487
1495
|
buildlogPath: String = "~/Library/Logs/snapshot",
|
1488
1496
|
clean: Bool = false,
|
1489
1497
|
testWithoutBuilding: Bool? = nil,
|
@@ -1499,7 +1507,11 @@ func captureIosScreenshots(workspace: String? = nil,
|
|
1499
1507
|
namespaceLogFiles: Any? = nil,
|
1500
1508
|
concurrentSimulators: Bool = true,
|
1501
1509
|
disableSlideToType: Bool = false,
|
1502
|
-
clonedSourcePackagesPath: String? = nil
|
1510
|
+
clonedSourcePackagesPath: String? = nil,
|
1511
|
+
testplan: String? = nil,
|
1512
|
+
onlyTesting: Any? = nil,
|
1513
|
+
skipTesting: Any? = nil,
|
1514
|
+
disableXcpretty: Bool? = nil) {
|
1503
1515
|
let command = RubyCommand(commandID: "", methodName: "capture_ios_screenshots", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
|
1504
1516
|
RubyCommand.Argument(name: "project", value: project),
|
1505
1517
|
RubyCommand.Argument(name: "xcargs", value: xcargs),
|
@@ -1515,11 +1527,13 @@ func captureIosScreenshots(workspace: String? = nil,
|
|
1515
1527
|
RubyCommand.Argument(name: "clear_previous_screenshots", value: clearPreviousScreenshots),
|
1516
1528
|
RubyCommand.Argument(name: "reinstall_app", value: reinstallApp),
|
1517
1529
|
RubyCommand.Argument(name: "erase_simulator", value: eraseSimulator),
|
1530
|
+
RubyCommand.Argument(name: "override_status_bar", value: overrideStatusBar),
|
1518
1531
|
RubyCommand.Argument(name: "localize_simulator", value: localizeSimulator),
|
1519
1532
|
RubyCommand.Argument(name: "dark_mode", value: darkMode),
|
1520
1533
|
RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
|
1521
1534
|
RubyCommand.Argument(name: "add_photos", value: addPhotos),
|
1522
1535
|
RubyCommand.Argument(name: "add_videos", value: addVideos),
|
1536
|
+
RubyCommand.Argument(name: "html_template", value: htmlTemplate),
|
1523
1537
|
RubyCommand.Argument(name: "buildlog_path", value: buildlogPath),
|
1524
1538
|
RubyCommand.Argument(name: "clean", value: clean),
|
1525
1539
|
RubyCommand.Argument(name: "test_without_building", value: testWithoutBuilding),
|
@@ -1535,7 +1549,11 @@ func captureIosScreenshots(workspace: String? = nil,
|
|
1535
1549
|
RubyCommand.Argument(name: "namespace_log_files", value: namespaceLogFiles),
|
1536
1550
|
RubyCommand.Argument(name: "concurrent_simulators", value: concurrentSimulators),
|
1537
1551
|
RubyCommand.Argument(name: "disable_slide_to_type", value: disableSlideToType),
|
1538
|
-
RubyCommand.Argument(name: "cloned_source_packages_path", value: clonedSourcePackagesPath)
|
1552
|
+
RubyCommand.Argument(name: "cloned_source_packages_path", value: clonedSourcePackagesPath),
|
1553
|
+
RubyCommand.Argument(name: "testplan", value: testplan),
|
1554
|
+
RubyCommand.Argument(name: "only_testing", value: onlyTesting),
|
1555
|
+
RubyCommand.Argument(name: "skip_testing", value: skipTesting),
|
1556
|
+
RubyCommand.Argument(name: "disable_xcpretty", value: disableXcpretty)])
|
1539
1557
|
_ = runner.executeCommand(command)
|
1540
1558
|
}
|
1541
1559
|
|
@@ -1558,11 +1576,13 @@ func captureIosScreenshots(workspace: String? = nil,
|
|
1558
1576
|
- clearPreviousScreenshots: Enabling this option will automatically clear previously generated screenshots before running snapshot
|
1559
1577
|
- reinstallApp: Enabling this option will automatically uninstall the application before running it
|
1560
1578
|
- eraseSimulator: Enabling this option will automatically erase the simulator before running the application
|
1579
|
+
- overrideStatusBar: Enabling this option wil automatically override the status bar to show 9:41 AM, full battery, and full reception
|
1561
1580
|
- localizeSimulator: Enabling this option will configure the Simulator's system language
|
1562
1581
|
- darkMode: Enabling this option will configure the Simulator to be in dark mode (false for light, true for dark)
|
1563
1582
|
- appIdentifier: The bundle identifier of the app to uninstall (only needed when enabling reinstall_app)
|
1564
1583
|
- addPhotos: A list of photos that should be added to the simulator before running the application
|
1565
1584
|
- addVideos: A list of videos that should be added to the simulator before running the application
|
1585
|
+
- htmlTemplate: A path to screenshots.html template
|
1566
1586
|
- buildlogPath: The directory where to store the build log
|
1567
1587
|
- clean: Should the project be cleaned before building it?
|
1568
1588
|
- testWithoutBuilding: Test without building, requires a derived data path
|
@@ -1579,6 +1599,10 @@ func captureIosScreenshots(workspace: String? = nil,
|
|
1579
1599
|
- concurrentSimulators: Take snapshots on multiple simulators concurrently. Note: This option is only applicable when running against Xcode 9
|
1580
1600
|
- disableSlideToType: Disable the simulator from showing the 'Slide to type' prompt
|
1581
1601
|
- clonedSourcePackagesPath: Sets a custom path for Swift Package Manager dependencies
|
1602
|
+
- testplan: The testplan associated with the scheme that should be used for testing
|
1603
|
+
- onlyTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to run
|
1604
|
+
- skipTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to skip
|
1605
|
+
- disableXcpretty: Disable xcpretty formatting of build
|
1582
1606
|
*/
|
1583
1607
|
func captureScreenshots(workspace: String? = nil,
|
1584
1608
|
project: String? = nil,
|
@@ -1595,11 +1619,13 @@ func captureScreenshots(workspace: String? = nil,
|
|
1595
1619
|
clearPreviousScreenshots: Bool = false,
|
1596
1620
|
reinstallApp: Bool = false,
|
1597
1621
|
eraseSimulator: Bool = false,
|
1622
|
+
overrideStatusBar: Bool = false,
|
1598
1623
|
localizeSimulator: Bool = false,
|
1599
1624
|
darkMode: Bool? = nil,
|
1600
1625
|
appIdentifier: String? = nil,
|
1601
1626
|
addPhotos: [String]? = nil,
|
1602
1627
|
addVideos: [String]? = nil,
|
1628
|
+
htmlTemplate: String = "/Users/josh/Projects/fastlane/fastlane/snapshot/lib/snapshot/page.html.erb",
|
1603
1629
|
buildlogPath: String = "~/Library/Logs/snapshot",
|
1604
1630
|
clean: Bool = false,
|
1605
1631
|
testWithoutBuilding: Bool? = nil,
|
@@ -1615,7 +1641,11 @@ func captureScreenshots(workspace: String? = nil,
|
|
1615
1641
|
namespaceLogFiles: Any? = nil,
|
1616
1642
|
concurrentSimulators: Bool = true,
|
1617
1643
|
disableSlideToType: Bool = false,
|
1618
|
-
clonedSourcePackagesPath: String? = nil
|
1644
|
+
clonedSourcePackagesPath: String? = nil,
|
1645
|
+
testplan: String? = nil,
|
1646
|
+
onlyTesting: Any? = nil,
|
1647
|
+
skipTesting: Any? = nil,
|
1648
|
+
disableXcpretty: Bool? = nil) {
|
1619
1649
|
let command = RubyCommand(commandID: "", methodName: "capture_screenshots", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
|
1620
1650
|
RubyCommand.Argument(name: "project", value: project),
|
1621
1651
|
RubyCommand.Argument(name: "xcargs", value: xcargs),
|
@@ -1631,11 +1661,13 @@ func captureScreenshots(workspace: String? = nil,
|
|
1631
1661
|
RubyCommand.Argument(name: "clear_previous_screenshots", value: clearPreviousScreenshots),
|
1632
1662
|
RubyCommand.Argument(name: "reinstall_app", value: reinstallApp),
|
1633
1663
|
RubyCommand.Argument(name: "erase_simulator", value: eraseSimulator),
|
1664
|
+
RubyCommand.Argument(name: "override_status_bar", value: overrideStatusBar),
|
1634
1665
|
RubyCommand.Argument(name: "localize_simulator", value: localizeSimulator),
|
1635
1666
|
RubyCommand.Argument(name: "dark_mode", value: darkMode),
|
1636
1667
|
RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
|
1637
1668
|
RubyCommand.Argument(name: "add_photos", value: addPhotos),
|
1638
1669
|
RubyCommand.Argument(name: "add_videos", value: addVideos),
|
1670
|
+
RubyCommand.Argument(name: "html_template", value: htmlTemplate),
|
1639
1671
|
RubyCommand.Argument(name: "buildlog_path", value: buildlogPath),
|
1640
1672
|
RubyCommand.Argument(name: "clean", value: clean),
|
1641
1673
|
RubyCommand.Argument(name: "test_without_building", value: testWithoutBuilding),
|
@@ -1651,7 +1683,11 @@ func captureScreenshots(workspace: String? = nil,
|
|
1651
1683
|
RubyCommand.Argument(name: "namespace_log_files", value: namespaceLogFiles),
|
1652
1684
|
RubyCommand.Argument(name: "concurrent_simulators", value: concurrentSimulators),
|
1653
1685
|
RubyCommand.Argument(name: "disable_slide_to_type", value: disableSlideToType),
|
1654
|
-
RubyCommand.Argument(name: "cloned_source_packages_path", value: clonedSourcePackagesPath)
|
1686
|
+
RubyCommand.Argument(name: "cloned_source_packages_path", value: clonedSourcePackagesPath),
|
1687
|
+
RubyCommand.Argument(name: "testplan", value: testplan),
|
1688
|
+
RubyCommand.Argument(name: "only_testing", value: onlyTesting),
|
1689
|
+
RubyCommand.Argument(name: "skip_testing", value: skipTesting),
|
1690
|
+
RubyCommand.Argument(name: "disable_xcpretty", value: disableXcpretty)])
|
1655
1691
|
_ = runner.executeCommand(command)
|
1656
1692
|
}
|
1657
1693
|
|
@@ -2137,10 +2173,6 @@ func copyArtifacts(keepOriginal: Bool = true,
|
|
2137
2173
|
- notifications: Crashlytics notification option (true/false)
|
2138
2174
|
- debug: Crashlytics debug option (true/false)
|
2139
2175
|
|
2140
|
-
Crashlytics Beta has been deprecated and replaced with Firebase App Distribution.
|
2141
|
-
Beta will continue working until May 4, 2020.
|
2142
|
-
Check out the [Firebase App Distribution docs](https://github.com/fastlane/fastlane-plugin-firebase_app_distribution) to get started.
|
2143
|
-
|
2144
2176
|
Additionally, you can specify `notes`, `emails`, `groups` and `notifications`.
|
2145
2177
|
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.
|
2146
2178
|
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.
|
@@ -3004,7 +3036,7 @@ func flock(message: String,
|
|
3004
3036
|
- forceOrientationBlock: [Advanced] A block to customize your screenshots' device orientation
|
3005
3037
|
- debugMode: Output debug information in framed screenshots
|
3006
3038
|
- resume: Resume frameit instead of reprocessing all screenshots
|
3007
|
-
- usePlatform: Choose a platform, the valid options are IOS, ANDROID and ANY (
|
3039
|
+
- usePlatform: Choose a platform, the valid options are IOS, ANDROID and ANY (default is either general platform defined in the fastfile or IOS to ensure backward compatibility)
|
3008
3040
|
- path: The path to the directory containing the screenshots
|
3009
3041
|
|
3010
3042
|
Uses [frameit](https://docs.fastlane.tools/actions/frameit/) to prepare perfect screenshots for the App Store, your website, QA or emails.
|
@@ -3066,7 +3098,7 @@ func frameScreenshots(white: Bool? = nil,
|
|
3066
3098
|
- forceOrientationBlock: [Advanced] A block to customize your screenshots' device orientation
|
3067
3099
|
- debugMode: Output debug information in framed screenshots
|
3068
3100
|
- resume: Resume frameit instead of reprocessing all screenshots
|
3069
|
-
- usePlatform: Choose a platform, the valid options are IOS, ANDROID and ANY (
|
3101
|
+
- usePlatform: Choose a platform, the valid options are IOS, ANDROID and ANY (default is either general platform defined in the fastfile or IOS to ensure backward compatibility)
|
3070
3102
|
- path: The path to the directory containing the screenshots
|
3071
3103
|
|
3072
3104
|
Uses [frameit](https://docs.fastlane.tools/actions/frameit/) to prepare perfect screenshots for the App Store, your website, QA or emails.
|
@@ -3341,6 +3373,7 @@ func getManagedPlayStorePublishingRights(jsonKey: String? = nil,
|
|
3341
3373
|
- platform: Set the provisioning profile's platform (i.e. ios, tvos)
|
3342
3374
|
- readonly: Only fetch existing profile, don't generate new ones
|
3343
3375
|
- 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")
|
3376
|
+
- 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
|
3344
3377
|
|
3345
3378
|
- returns: The UUID of the profile sigh just fetched/generated
|
3346
3379
|
|
@@ -3365,7 +3398,8 @@ func getProvisioningProfile(adhoc: Bool = false,
|
|
3365
3398
|
skipCertificateVerification: Bool = false,
|
3366
3399
|
platform: Any = "ios",
|
3367
3400
|
readonly: Bool = false,
|
3368
|
-
templateName: String? = nil
|
3401
|
+
templateName: String? = nil,
|
3402
|
+
failOnNameTaken: Bool = false) {
|
3369
3403
|
let command = RubyCommand(commandID: "", methodName: "get_provisioning_profile", className: nil, args: [RubyCommand.Argument(name: "adhoc", value: adhoc),
|
3370
3404
|
RubyCommand.Argument(name: "developer_id", value: developerId),
|
3371
3405
|
RubyCommand.Argument(name: "development", value: development),
|
@@ -3385,7 +3419,8 @@ func getProvisioningProfile(adhoc: Bool = false,
|
|
3385
3419
|
RubyCommand.Argument(name: "skip_certificate_verification", value: skipCertificateVerification),
|
3386
3420
|
RubyCommand.Argument(name: "platform", value: platform),
|
3387
3421
|
RubyCommand.Argument(name: "readonly", value: readonly),
|
3388
|
-
RubyCommand.Argument(name: "template_name", value: templateName)
|
3422
|
+
RubyCommand.Argument(name: "template_name", value: templateName),
|
3423
|
+
RubyCommand.Argument(name: "fail_on_name_taken", value: failOnNameTaken)])
|
3389
3424
|
_ = runner.executeCommand(command)
|
3390
3425
|
}
|
3391
3426
|
|
@@ -3712,7 +3747,7 @@ func gradle(task: String? = nil,
|
|
3712
3747
|
- skipArchive: After building, don't archive, effectively not including -archivePath param
|
3713
3748
|
- skipCodesigning: Build without codesigning
|
3714
3749
|
- catalystPlatform: Platform to build when using a Catalyst enabled app. Valid values are: ios, macos
|
3715
|
-
- installerCertName: Full name of 3rd Party Mac Developer Installer or
|
3750
|
+
- installerCertName: Full name of 3rd Party Mac Developer Installer or Developer ID Installer certificate. Example: `3rd Party Mac Developer Installer: Your Company (ABC1234XWYZ)`
|
3716
3751
|
- buildPath: The directory in which the archive should be stored in
|
3717
3752
|
- archivePath: The path to the created archive
|
3718
3753
|
- derivedDataPath: The directory where built products and other derived data will go
|
@@ -4496,6 +4531,8 @@ func makeChangelogFromJenkins(fallbackChangelog: String = "",
|
|
4496
4531
|
- skipDocs: Skip generation of a README.md for the created git repository
|
4497
4532
|
- platform: Set the provisioning profile's platform to work with (i.e. ios, tvos, macos)
|
4498
4533
|
- 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")
|
4534
|
+
- profileName: A custom name for the provisioning profile. This will replace the default provisioning profile name if specified
|
4535
|
+
- 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
|
4499
4536
|
- outputPath: Path in which to export certificates, key and profile
|
4500
4537
|
- verbose: Print out extra information and all commands
|
4501
4538
|
|
@@ -4534,6 +4571,8 @@ func match(type: Any = matchfile.type,
|
|
4534
4571
|
skipDocs: Bool = matchfile.skipDocs,
|
4535
4572
|
platform: Any = matchfile.platform,
|
4536
4573
|
templateName: Any? = matchfile.templateName,
|
4574
|
+
profileName: Any? = matchfile.profileName,
|
4575
|
+
failOnNameTaken: Bool = matchfile.failOnNameTaken,
|
4537
4576
|
outputPath: Any? = matchfile.outputPath,
|
4538
4577
|
verbose: Bool = matchfile.verbose) {
|
4539
4578
|
let command = RubyCommand(commandID: "", methodName: "match", className: nil, args: [RubyCommand.Argument(name: "type", value: type),
|
@@ -4569,6 +4608,8 @@ func match(type: Any = matchfile.type,
|
|
4569
4608
|
RubyCommand.Argument(name: "skip_docs", value: skipDocs),
|
4570
4609
|
RubyCommand.Argument(name: "platform", value: platform),
|
4571
4610
|
RubyCommand.Argument(name: "template_name", value: templateName),
|
4611
|
+
RubyCommand.Argument(name: "profile_name", value: profileName),
|
4612
|
+
RubyCommand.Argument(name: "fail_on_name_taken", value: failOnNameTaken),
|
4572
4613
|
RubyCommand.Argument(name: "output_path", value: outputPath),
|
4573
4614
|
RubyCommand.Argument(name: "verbose", value: verbose)])
|
4574
4615
|
_ = runner.executeCommand(command)
|
@@ -4964,6 +5005,7 @@ func pem(development: Bool = false,
|
|
4964
5005
|
- notifyExternalTesters: Should notify external testers?
|
4965
5006
|
- 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
|
4966
5007
|
- buildNumber: The build number of the application build to distribute. If the build number is not specified, the most recent build is distributed
|
5008
|
+
- expirePreviousBuilds: Should expire previous builds?
|
4967
5009
|
- firstName: The tester's first name
|
4968
5010
|
- lastName: The tester's last name
|
4969
5011
|
- email: The tester's email
|
@@ -5000,6 +5042,7 @@ func pilot(username: String,
|
|
5000
5042
|
notifyExternalTesters: Bool = true,
|
5001
5043
|
appVersion: String? = nil,
|
5002
5044
|
buildNumber: String? = nil,
|
5045
|
+
expirePreviousBuilds: Bool = false,
|
5003
5046
|
firstName: String? = nil,
|
5004
5047
|
lastName: String? = nil,
|
5005
5048
|
email: String? = nil,
|
@@ -5032,6 +5075,7 @@ func pilot(username: String,
|
|
5032
5075
|
RubyCommand.Argument(name: "notify_external_testers", value: notifyExternalTesters),
|
5033
5076
|
RubyCommand.Argument(name: "app_version", value: appVersion),
|
5034
5077
|
RubyCommand.Argument(name: "build_number", value: buildNumber),
|
5078
|
+
RubyCommand.Argument(name: "expire_previous_builds", value: expirePreviousBuilds),
|
5035
5079
|
RubyCommand.Argument(name: "first_name", value: firstName),
|
5036
5080
|
RubyCommand.Argument(name: "last_name", value: lastName),
|
5037
5081
|
RubyCommand.Argument(name: "email", value: email),
|
@@ -5663,6 +5707,8 @@ func rubyVersion() {
|
|
5663
5707
|
- onlyTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to run
|
5664
5708
|
- skipTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to skip
|
5665
5709
|
- testplan: The testplan associated with the scheme that should be used for testing
|
5710
|
+
- onlyTestConfigurations: Array of strings matching test plan configurations to run
|
5711
|
+
- skipTestConfigurations: Array of strings matching test plan configurations to skip
|
5666
5712
|
- xctestrun: Run tests using the provided `.xctestrun` file
|
5667
5713
|
- toolchain: The toolchain that should be used for building the application (e.g. `com.apple.dt.toolchain.Swift_2_3, org.swift.30p620160816a`)
|
5668
5714
|
- clean: Should the project be cleaned before building it?
|
@@ -5670,8 +5716,9 @@ func rubyVersion() {
|
|
5670
5716
|
- addressSanitizer: Should the address sanitizer be turned on?
|
5671
5717
|
- threadSanitizer: Should the thread sanitizer be turned on?
|
5672
5718
|
- openReport: Should the HTML report be opened when tests are completed?
|
5719
|
+
- disableXcpretty: Disable xcpretty formatting of build, similar to `output_style='raw'` but this will also skip the test results table
|
5673
5720
|
- outputDirectory: The directory in which all reports will be stored
|
5674
|
-
- outputStyle: Define how the output should look like. Valid values are: standard, basic, rspec, or raw (disables xcpretty)
|
5721
|
+
- outputStyle: Define how the output should look like. Valid values are: standard, basic, rspec, or raw (disables xcpretty during xcodebuild)
|
5675
5722
|
- outputTypes: Comma separated list of the output types (e.g. html, junit, json-compilation-database)
|
5676
5723
|
- outputFiles: Comma separated list of the output files, corresponding to the types provided by :output_types (order should match). If specifying an output type of json-compilation-database with :use_clang_report_name enabled, that option will take precedence
|
5677
5724
|
- buildlogPath: The directory where to store the raw log
|
@@ -5726,6 +5773,8 @@ func runTests(workspace: String? = nil,
|
|
5726
5773
|
onlyTesting: Any? = nil,
|
5727
5774
|
skipTesting: Any? = nil,
|
5728
5775
|
testplan: String? = nil,
|
5776
|
+
onlyTestConfigurations: Any? = nil,
|
5777
|
+
skipTestConfigurations: Any? = nil,
|
5729
5778
|
xctestrun: String? = nil,
|
5730
5779
|
toolchain: Any? = nil,
|
5731
5780
|
clean: Bool = false,
|
@@ -5733,6 +5782,7 @@ func runTests(workspace: String? = nil,
|
|
5733
5782
|
addressSanitizer: Bool? = nil,
|
5734
5783
|
threadSanitizer: Bool? = nil,
|
5735
5784
|
openReport: Bool = false,
|
5785
|
+
disableXcpretty: Bool? = nil,
|
5736
5786
|
outputDirectory: String = "./test_output",
|
5737
5787
|
outputStyle: String? = nil,
|
5738
5788
|
outputTypes: String = "html,junit",
|
@@ -5763,7 +5813,7 @@ func runTests(workspace: String? = nil,
|
|
5763
5813
|
slackMessage: String? = nil,
|
5764
5814
|
slackUseWebhookConfiguredUsernameAndIcon: Bool = false,
|
5765
5815
|
slackUsername: String = "fastlane",
|
5766
|
-
slackIconUrl: String = "https://
|
5816
|
+
slackIconUrl: String = "https://fastlane.tools/assets/img/fastlane_icon.png",
|
5767
5817
|
skipSlack: Bool = false,
|
5768
5818
|
slackOnlyOnFailure: Bool = false,
|
5769
5819
|
destination: Any? = nil,
|
@@ -5786,6 +5836,8 @@ func runTests(workspace: String? = nil,
|
|
5786
5836
|
RubyCommand.Argument(name: "only_testing", value: onlyTesting),
|
5787
5837
|
RubyCommand.Argument(name: "skip_testing", value: skipTesting),
|
5788
5838
|
RubyCommand.Argument(name: "testplan", value: testplan),
|
5839
|
+
RubyCommand.Argument(name: "only_test_configurations", value: onlyTestConfigurations),
|
5840
|
+
RubyCommand.Argument(name: "skip_test_configurations", value: skipTestConfigurations),
|
5789
5841
|
RubyCommand.Argument(name: "xctestrun", value: xctestrun),
|
5790
5842
|
RubyCommand.Argument(name: "toolchain", value: toolchain),
|
5791
5843
|
RubyCommand.Argument(name: "clean", value: clean),
|
@@ -5793,6 +5845,7 @@ func runTests(workspace: String? = nil,
|
|
5793
5845
|
RubyCommand.Argument(name: "address_sanitizer", value: addressSanitizer),
|
5794
5846
|
RubyCommand.Argument(name: "thread_sanitizer", value: threadSanitizer),
|
5795
5847
|
RubyCommand.Argument(name: "open_report", value: openReport),
|
5848
|
+
RubyCommand.Argument(name: "disable_xcpretty", value: disableXcpretty),
|
5796
5849
|
RubyCommand.Argument(name: "output_directory", value: outputDirectory),
|
5797
5850
|
RubyCommand.Argument(name: "output_style", value: outputStyle),
|
5798
5851
|
RubyCommand.Argument(name: "output_types", value: outputTypes),
|
@@ -5927,6 +5980,8 @@ func say(text: Any,
|
|
5927
5980
|
- onlyTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to run
|
5928
5981
|
- skipTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to skip
|
5929
5982
|
- testplan: The testplan associated with the scheme that should be used for testing
|
5983
|
+
- onlyTestConfigurations: Array of strings matching test plan configurations to run
|
5984
|
+
- skipTestConfigurations: Array of strings matching test plan configurations to skip
|
5930
5985
|
- xctestrun: Run tests using the provided `.xctestrun` file
|
5931
5986
|
- toolchain: The toolchain that should be used for building the application (e.g. `com.apple.dt.toolchain.Swift_2_3, org.swift.30p620160816a`)
|
5932
5987
|
- clean: Should the project be cleaned before building it?
|
@@ -5934,8 +5989,9 @@ func say(text: Any,
|
|
5934
5989
|
- addressSanitizer: Should the address sanitizer be turned on?
|
5935
5990
|
- threadSanitizer: Should the thread sanitizer be turned on?
|
5936
5991
|
- openReport: Should the HTML report be opened when tests are completed?
|
5992
|
+
- disableXcpretty: Disable xcpretty formatting of build, similar to `output_style='raw'` but this will also skip the test results table
|
5937
5993
|
- outputDirectory: The directory in which all reports will be stored
|
5938
|
-
- outputStyle: Define how the output should look like. Valid values are: standard, basic, rspec, or raw (disables xcpretty)
|
5994
|
+
- outputStyle: Define how the output should look like. Valid values are: standard, basic, rspec, or raw (disables xcpretty during xcodebuild)
|
5939
5995
|
- outputTypes: Comma separated list of the output types (e.g. html, junit, json-compilation-database)
|
5940
5996
|
- outputFiles: Comma separated list of the output files, corresponding to the types provided by :output_types (order should match). If specifying an output type of json-compilation-database with :use_clang_report_name enabled, that option will take precedence
|
5941
5997
|
- buildlogPath: The directory where to store the raw log
|
@@ -5990,6 +6046,8 @@ func scan(workspace: Any? = scanfile.workspace,
|
|
5990
6046
|
onlyTesting: Any? = scanfile.onlyTesting,
|
5991
6047
|
skipTesting: Any? = scanfile.skipTesting,
|
5992
6048
|
testplan: Any? = scanfile.testplan,
|
6049
|
+
onlyTestConfigurations: Any? = scanfile.onlyTestConfigurations,
|
6050
|
+
skipTestConfigurations: Any? = scanfile.skipTestConfigurations,
|
5993
6051
|
xctestrun: Any? = scanfile.xctestrun,
|
5994
6052
|
toolchain: Any? = scanfile.toolchain,
|
5995
6053
|
clean: Bool = scanfile.clean,
|
@@ -5997,6 +6055,7 @@ func scan(workspace: Any? = scanfile.workspace,
|
|
5997
6055
|
addressSanitizer: Bool? = scanfile.addressSanitizer,
|
5998
6056
|
threadSanitizer: Bool? = scanfile.threadSanitizer,
|
5999
6057
|
openReport: Bool = scanfile.openReport,
|
6058
|
+
disableXcpretty: Bool? = scanfile.disableXcpretty,
|
6000
6059
|
outputDirectory: Any = scanfile.outputDirectory,
|
6001
6060
|
outputStyle: Any? = scanfile.outputStyle,
|
6002
6061
|
outputTypes: Any = scanfile.outputTypes,
|
@@ -6050,6 +6109,8 @@ func scan(workspace: Any? = scanfile.workspace,
|
|
6050
6109
|
RubyCommand.Argument(name: "only_testing", value: onlyTesting),
|
6051
6110
|
RubyCommand.Argument(name: "skip_testing", value: skipTesting),
|
6052
6111
|
RubyCommand.Argument(name: "testplan", value: testplan),
|
6112
|
+
RubyCommand.Argument(name: "only_test_configurations", value: onlyTestConfigurations),
|
6113
|
+
RubyCommand.Argument(name: "skip_test_configurations", value: skipTestConfigurations),
|
6053
6114
|
RubyCommand.Argument(name: "xctestrun", value: xctestrun),
|
6054
6115
|
RubyCommand.Argument(name: "toolchain", value: toolchain),
|
6055
6116
|
RubyCommand.Argument(name: "clean", value: clean),
|
@@ -6057,6 +6118,7 @@ func scan(workspace: Any? = scanfile.workspace,
|
|
6057
6118
|
RubyCommand.Argument(name: "address_sanitizer", value: addressSanitizer),
|
6058
6119
|
RubyCommand.Argument(name: "thread_sanitizer", value: threadSanitizer),
|
6059
6120
|
RubyCommand.Argument(name: "open_report", value: openReport),
|
6121
|
+
RubyCommand.Argument(name: "disable_xcpretty", value: disableXcpretty),
|
6060
6122
|
RubyCommand.Argument(name: "output_directory", value: outputDirectory),
|
6061
6123
|
RubyCommand.Argument(name: "output_style", value: outputStyle),
|
6062
6124
|
RubyCommand.Argument(name: "output_types", value: outputTypes),
|
@@ -6489,6 +6551,7 @@ func setupTravis(force: Bool = false) {
|
|
6489
6551
|
- platform: Set the provisioning profile's platform (i.e. ios, tvos)
|
6490
6552
|
- readonly: Only fetch existing profile, don't generate new ones
|
6491
6553
|
- 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")
|
6554
|
+
- 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
|
6492
6555
|
|
6493
6556
|
- returns: The UUID of the profile sigh just fetched/generated
|
6494
6557
|
|
@@ -6513,7 +6576,8 @@ func sigh(adhoc: Bool = false,
|
|
6513
6576
|
skipCertificateVerification: Bool = false,
|
6514
6577
|
platform: Any = "ios",
|
6515
6578
|
readonly: Bool = false,
|
6516
|
-
templateName: String? = nil
|
6579
|
+
templateName: String? = nil,
|
6580
|
+
failOnNameTaken: Bool = false) {
|
6517
6581
|
let command = RubyCommand(commandID: "", methodName: "sigh", className: nil, args: [RubyCommand.Argument(name: "adhoc", value: adhoc),
|
6518
6582
|
RubyCommand.Argument(name: "developer_id", value: developerId),
|
6519
6583
|
RubyCommand.Argument(name: "development", value: development),
|
@@ -6533,7 +6597,8 @@ func sigh(adhoc: Bool = false,
|
|
6533
6597
|
RubyCommand.Argument(name: "skip_certificate_verification", value: skipCertificateVerification),
|
6534
6598
|
RubyCommand.Argument(name: "platform", value: platform),
|
6535
6599
|
RubyCommand.Argument(name: "readonly", value: readonly),
|
6536
|
-
RubyCommand.Argument(name: "template_name", value: templateName)
|
6600
|
+
RubyCommand.Argument(name: "template_name", value: templateName),
|
6601
|
+
RubyCommand.Argument(name: "fail_on_name_taken", value: failOnNameTaken)])
|
6537
6602
|
_ = runner.executeCommand(command)
|
6538
6603
|
}
|
6539
6604
|
|
@@ -6573,7 +6638,7 @@ func slack(message: String? = nil,
|
|
6573
6638
|
useWebhookConfiguredUsernameAndIcon: Bool = false,
|
6574
6639
|
slackUrl: String,
|
6575
6640
|
username: String = "fastlane",
|
6576
|
-
iconUrl: String = "https://
|
6641
|
+
iconUrl: String = "https://fastlane.tools/assets/img/fastlane_icon.png",
|
6577
6642
|
payload: [String : Any] = [:],
|
6578
6643
|
defaultPayloads: [String]? = nil,
|
6579
6644
|
attachmentProperties: [String : Any] = [:],
|
@@ -6654,6 +6719,7 @@ func slackTrainStart(distance: Int = 5,
|
|
6654
6719
|
- simpleOutput: Tell slather that it should output results to the terminal
|
6655
6720
|
- gutterJson: Tell slather that it should output results as Gutter JSON format
|
6656
6721
|
- coberturaXml: Tell slather that it should output results as Cobertura XML format
|
6722
|
+
- sonarqubeXml: Tell slather that it should output results as SonarQube Generic XML format
|
6657
6723
|
- llvmCov: Tell slather that it should output results as llvm-cov show format
|
6658
6724
|
- html: Tell slather that it should output results as static HTML pages
|
6659
6725
|
- show: Tell slather that it should open static html pages automatically
|
@@ -6687,6 +6753,7 @@ func slather(buildDirectory: String? = nil,
|
|
6687
6753
|
simpleOutput: Bool? = nil,
|
6688
6754
|
gutterJson: Bool? = nil,
|
6689
6755
|
coberturaXml: Bool? = nil,
|
6756
|
+
sonarqubeXml: Bool? = nil,
|
6690
6757
|
llvmCov: Any? = nil,
|
6691
6758
|
html: Bool? = nil,
|
6692
6759
|
show: Bool = false,
|
@@ -6716,6 +6783,7 @@ func slather(buildDirectory: String? = nil,
|
|
6716
6783
|
RubyCommand.Argument(name: "simple_output", value: simpleOutput),
|
6717
6784
|
RubyCommand.Argument(name: "gutter_json", value: gutterJson),
|
6718
6785
|
RubyCommand.Argument(name: "cobertura_xml", value: coberturaXml),
|
6786
|
+
RubyCommand.Argument(name: "sonarqube_xml", value: sonarqubeXml),
|
6719
6787
|
RubyCommand.Argument(name: "llvm_cov", value: llvmCov),
|
6720
6788
|
RubyCommand.Argument(name: "html", value: html),
|
6721
6789
|
RubyCommand.Argument(name: "show", value: show),
|
@@ -6751,11 +6819,13 @@ func slather(buildDirectory: String? = nil,
|
|
6751
6819
|
- clearPreviousScreenshots: Enabling this option will automatically clear previously generated screenshots before running snapshot
|
6752
6820
|
- reinstallApp: Enabling this option will automatically uninstall the application before running it
|
6753
6821
|
- eraseSimulator: Enabling this option will automatically erase the simulator before running the application
|
6822
|
+
- overrideStatusBar: Enabling this option wil automatically override the status bar to show 9:41 AM, full battery, and full reception
|
6754
6823
|
- localizeSimulator: Enabling this option will configure the Simulator's system language
|
6755
6824
|
- darkMode: Enabling this option will configure the Simulator to be in dark mode (false for light, true for dark)
|
6756
6825
|
- appIdentifier: The bundle identifier of the app to uninstall (only needed when enabling reinstall_app)
|
6757
6826
|
- addPhotos: A list of photos that should be added to the simulator before running the application
|
6758
6827
|
- addVideos: A list of videos that should be added to the simulator before running the application
|
6828
|
+
- htmlTemplate: A path to screenshots.html template
|
6759
6829
|
- buildlogPath: The directory where to store the build log
|
6760
6830
|
- clean: Should the project be cleaned before building it?
|
6761
6831
|
- testWithoutBuilding: Test without building, requires a derived data path
|
@@ -6772,6 +6842,10 @@ func slather(buildDirectory: String? = nil,
|
|
6772
6842
|
- concurrentSimulators: Take snapshots on multiple simulators concurrently. Note: This option is only applicable when running against Xcode 9
|
6773
6843
|
- disableSlideToType: Disable the simulator from showing the 'Slide to type' prompt
|
6774
6844
|
- clonedSourcePackagesPath: Sets a custom path for Swift Package Manager dependencies
|
6845
|
+
- testplan: The testplan associated with the scheme that should be used for testing
|
6846
|
+
- onlyTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to run
|
6847
|
+
- skipTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to skip
|
6848
|
+
- disableXcpretty: Disable xcpretty formatting of build
|
6775
6849
|
*/
|
6776
6850
|
func snapshot(workspace: Any? = snapshotfile.workspace,
|
6777
6851
|
project: Any? = snapshotfile.project,
|
@@ -6788,11 +6862,13 @@ func snapshot(workspace: Any? = snapshotfile.workspace,
|
|
6788
6862
|
clearPreviousScreenshots: Bool = snapshotfile.clearPreviousScreenshots,
|
6789
6863
|
reinstallApp: Bool = snapshotfile.reinstallApp,
|
6790
6864
|
eraseSimulator: Bool = snapshotfile.eraseSimulator,
|
6865
|
+
overrideStatusBar: Bool = snapshotfile.overrideStatusBar,
|
6791
6866
|
localizeSimulator: Bool = snapshotfile.localizeSimulator,
|
6792
6867
|
darkMode: Bool? = snapshotfile.darkMode,
|
6793
6868
|
appIdentifier: Any? = snapshotfile.appIdentifier,
|
6794
6869
|
addPhotos: [String]? = snapshotfile.addPhotos,
|
6795
6870
|
addVideos: [String]? = snapshotfile.addVideos,
|
6871
|
+
htmlTemplate: Any = snapshotfile.htmlTemplate,
|
6796
6872
|
buildlogPath: Any = snapshotfile.buildlogPath,
|
6797
6873
|
clean: Bool = snapshotfile.clean,
|
6798
6874
|
testWithoutBuilding: Bool? = snapshotfile.testWithoutBuilding,
|
@@ -6808,7 +6884,11 @@ func snapshot(workspace: Any? = snapshotfile.workspace,
|
|
6808
6884
|
namespaceLogFiles: Any? = snapshotfile.namespaceLogFiles,
|
6809
6885
|
concurrentSimulators: Bool = snapshotfile.concurrentSimulators,
|
6810
6886
|
disableSlideToType: Bool = snapshotfile.disableSlideToType,
|
6811
|
-
clonedSourcePackagesPath: Any? = snapshotfile.clonedSourcePackagesPath
|
6887
|
+
clonedSourcePackagesPath: Any? = snapshotfile.clonedSourcePackagesPath,
|
6888
|
+
testplan: Any? = snapshotfile.testplan,
|
6889
|
+
onlyTesting: Any? = snapshotfile.onlyTesting,
|
6890
|
+
skipTesting: Any? = snapshotfile.skipTesting,
|
6891
|
+
disableXcpretty: Bool? = snapshotfile.disableXcpretty) {
|
6812
6892
|
let command = RubyCommand(commandID: "", methodName: "snapshot", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
|
6813
6893
|
RubyCommand.Argument(name: "project", value: project),
|
6814
6894
|
RubyCommand.Argument(name: "xcargs", value: xcargs),
|
@@ -6824,11 +6904,13 @@ func snapshot(workspace: Any? = snapshotfile.workspace,
|
|
6824
6904
|
RubyCommand.Argument(name: "clear_previous_screenshots", value: clearPreviousScreenshots),
|
6825
6905
|
RubyCommand.Argument(name: "reinstall_app", value: reinstallApp),
|
6826
6906
|
RubyCommand.Argument(name: "erase_simulator", value: eraseSimulator),
|
6907
|
+
RubyCommand.Argument(name: "override_status_bar", value: overrideStatusBar),
|
6827
6908
|
RubyCommand.Argument(name: "localize_simulator", value: localizeSimulator),
|
6828
6909
|
RubyCommand.Argument(name: "dark_mode", value: darkMode),
|
6829
6910
|
RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
|
6830
6911
|
RubyCommand.Argument(name: "add_photos", value: addPhotos),
|
6831
6912
|
RubyCommand.Argument(name: "add_videos", value: addVideos),
|
6913
|
+
RubyCommand.Argument(name: "html_template", value: htmlTemplate),
|
6832
6914
|
RubyCommand.Argument(name: "buildlog_path", value: buildlogPath),
|
6833
6915
|
RubyCommand.Argument(name: "clean", value: clean),
|
6834
6916
|
RubyCommand.Argument(name: "test_without_building", value: testWithoutBuilding),
|
@@ -6844,7 +6926,11 @@ func snapshot(workspace: Any? = snapshotfile.workspace,
|
|
6844
6926
|
RubyCommand.Argument(name: "namespace_log_files", value: namespaceLogFiles),
|
6845
6927
|
RubyCommand.Argument(name: "concurrent_simulators", value: concurrentSimulators),
|
6846
6928
|
RubyCommand.Argument(name: "disable_slide_to_type", value: disableSlideToType),
|
6847
|
-
RubyCommand.Argument(name: "cloned_source_packages_path", value: clonedSourcePackagesPath)
|
6929
|
+
RubyCommand.Argument(name: "cloned_source_packages_path", value: clonedSourcePackagesPath),
|
6930
|
+
RubyCommand.Argument(name: "testplan", value: testplan),
|
6931
|
+
RubyCommand.Argument(name: "only_testing", value: onlyTesting),
|
6932
|
+
RubyCommand.Argument(name: "skip_testing", value: skipTesting),
|
6933
|
+
RubyCommand.Argument(name: "disable_xcpretty", value: disableXcpretty)])
|
6848
6934
|
_ = runner.executeCommand(command)
|
6849
6935
|
}
|
6850
6936
|
|
@@ -7060,6 +7146,7 @@ func ssh(username: String,
|
|
7060
7146
|
- timeout: Timeout for read, open, and send (in seconds)
|
7061
7147
|
- deactivateOnPromote: **DEPRECATED!** Google Play does this automatically now - When promoting to a new track, deactivate the binary in the origin track
|
7062
7148
|
- versionCodesToRetain: An array of version codes to retain when publishing a new APK
|
7149
|
+
- inAppUpdatePriority: In-app update priority for all the newly added apks in the release. Can take values between [0,5]
|
7063
7150
|
- obbMainReferencesVersion: References version of 'main' expansion file
|
7064
7151
|
- obbMainFileSize: Size of 'main' expansion file in bytes
|
7065
7152
|
- obbPatchReferencesVersion: References version of 'patch' expansion file
|
@@ -7097,6 +7184,7 @@ func supply(packageName: String,
|
|
7097
7184
|
timeout: Int = 300,
|
7098
7185
|
deactivateOnPromote: Bool = true,
|
7099
7186
|
versionCodesToRetain: [String]? = nil,
|
7187
|
+
inAppUpdatePriority: Int? = nil,
|
7100
7188
|
obbMainReferencesVersion: String? = nil,
|
7101
7189
|
obbMainFileSize: String? = nil,
|
7102
7190
|
obbPatchReferencesVersion: String? = nil,
|
@@ -7131,6 +7219,7 @@ func supply(packageName: String,
|
|
7131
7219
|
RubyCommand.Argument(name: "timeout", value: timeout),
|
7132
7220
|
RubyCommand.Argument(name: "deactivate_on_promote", value: deactivateOnPromote),
|
7133
7221
|
RubyCommand.Argument(name: "version_codes_to_retain", value: versionCodesToRetain),
|
7222
|
+
RubyCommand.Argument(name: "in_app_update_priority", value: inAppUpdatePriority),
|
7134
7223
|
RubyCommand.Argument(name: "obb_main_references_version", value: obbMainReferencesVersion),
|
7135
7224
|
RubyCommand.Argument(name: "obb_main_file_size", value: obbMainFileSize),
|
7136
7225
|
RubyCommand.Argument(name: "obb_patch_references_version", value: obbPatchReferencesVersion),
|
@@ -7225,6 +7314,8 @@ func swiftlint(mode: Any = "lint",
|
|
7225
7314
|
- skipDocs: Skip generation of a README.md for the created git repository
|
7226
7315
|
- platform: Set the provisioning profile's platform to work with (i.e. ios, tvos, macos)
|
7227
7316
|
- 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")
|
7317
|
+
- profileName: A custom name for the provisioning profile. This will replace the default provisioning profile name if specified
|
7318
|
+
- 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
|
7228
7319
|
- outputPath: Path in which to export certificates, key and profile
|
7229
7320
|
- verbose: Print out extra information and all commands
|
7230
7321
|
|
@@ -7263,6 +7354,8 @@ func syncCodeSigning(type: String = "development",
|
|
7263
7354
|
skipDocs: Bool = false,
|
7264
7355
|
platform: String = "ios",
|
7265
7356
|
templateName: String? = nil,
|
7357
|
+
profileName: String? = nil,
|
7358
|
+
failOnNameTaken: Bool = false,
|
7266
7359
|
outputPath: String? = nil,
|
7267
7360
|
verbose: Bool = false) {
|
7268
7361
|
let command = RubyCommand(commandID: "", methodName: "sync_code_signing", className: nil, args: [RubyCommand.Argument(name: "type", value: type),
|
@@ -7298,6 +7391,8 @@ func syncCodeSigning(type: String = "development",
|
|
7298
7391
|
RubyCommand.Argument(name: "skip_docs", value: skipDocs),
|
7299
7392
|
RubyCommand.Argument(name: "platform", value: platform),
|
7300
7393
|
RubyCommand.Argument(name: "template_name", value: templateName),
|
7394
|
+
RubyCommand.Argument(name: "profile_name", value: profileName),
|
7395
|
+
RubyCommand.Argument(name: "fail_on_name_taken", value: failOnNameTaken),
|
7301
7396
|
RubyCommand.Argument(name: "output_path", value: outputPath),
|
7302
7397
|
RubyCommand.Argument(name: "verbose", value: verbose)])
|
7303
7398
|
_ = runner.executeCommand(command)
|
@@ -7392,6 +7487,7 @@ func testfairy(apiKey: String,
|
|
7392
7487
|
- notifyExternalTesters: Should notify external testers?
|
7393
7488
|
- 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
|
7394
7489
|
- buildNumber: The build number of the application build to distribute. If the build number is not specified, the most recent build is distributed
|
7490
|
+
- expirePreviousBuilds: Should expire previous builds?
|
7395
7491
|
- firstName: The tester's first name
|
7396
7492
|
- lastName: The tester's last name
|
7397
7493
|
- email: The tester's email
|
@@ -7428,6 +7524,7 @@ func testflight(username: String,
|
|
7428
7524
|
notifyExternalTesters: Bool = true,
|
7429
7525
|
appVersion: String? = nil,
|
7430
7526
|
buildNumber: String? = nil,
|
7527
|
+
expirePreviousBuilds: Bool = false,
|
7431
7528
|
firstName: String? = nil,
|
7432
7529
|
lastName: String? = nil,
|
7433
7530
|
email: String? = nil,
|
@@ -7460,6 +7557,7 @@ func testflight(username: String,
|
|
7460
7557
|
RubyCommand.Argument(name: "notify_external_testers", value: notifyExternalTesters),
|
7461
7558
|
RubyCommand.Argument(name: "app_version", value: appVersion),
|
7462
7559
|
RubyCommand.Argument(name: "build_number", value: buildNumber),
|
7560
|
+
RubyCommand.Argument(name: "expire_previous_builds", value: expirePreviousBuilds),
|
7463
7561
|
RubyCommand.Argument(name: "first_name", value: firstName),
|
7464
7562
|
RubyCommand.Argument(name: "last_name", value: lastName),
|
7465
7563
|
RubyCommand.Argument(name: "email", value: email),
|
@@ -8157,6 +8255,7 @@ func uploadToAppStore(username: String,
|
|
8157
8255
|
- timeout: Timeout for read, open, and send (in seconds)
|
8158
8256
|
- deactivateOnPromote: **DEPRECATED!** Google Play does this automatically now - When promoting to a new track, deactivate the binary in the origin track
|
8159
8257
|
- versionCodesToRetain: An array of version codes to retain when publishing a new APK
|
8258
|
+
- inAppUpdatePriority: In-app update priority for all the newly added apks in the release. Can take values between [0,5]
|
8160
8259
|
- obbMainReferencesVersion: References version of 'main' expansion file
|
8161
8260
|
- obbMainFileSize: Size of 'main' expansion file in bytes
|
8162
8261
|
- obbPatchReferencesVersion: References version of 'patch' expansion file
|
@@ -8194,6 +8293,7 @@ func uploadToPlayStore(packageName: String,
|
|
8194
8293
|
timeout: Int = 300,
|
8195
8294
|
deactivateOnPromote: Bool = true,
|
8196
8295
|
versionCodesToRetain: [String]? = nil,
|
8296
|
+
inAppUpdatePriority: Int? = nil,
|
8197
8297
|
obbMainReferencesVersion: String? = nil,
|
8198
8298
|
obbMainFileSize: String? = nil,
|
8199
8299
|
obbPatchReferencesVersion: String? = nil,
|
@@ -8228,6 +8328,7 @@ func uploadToPlayStore(packageName: String,
|
|
8228
8328
|
RubyCommand.Argument(name: "timeout", value: timeout),
|
8229
8329
|
RubyCommand.Argument(name: "deactivate_on_promote", value: deactivateOnPromote),
|
8230
8330
|
RubyCommand.Argument(name: "version_codes_to_retain", value: versionCodesToRetain),
|
8331
|
+
RubyCommand.Argument(name: "in_app_update_priority", value: inAppUpdatePriority),
|
8231
8332
|
RubyCommand.Argument(name: "obb_main_references_version", value: obbMainReferencesVersion),
|
8232
8333
|
RubyCommand.Argument(name: "obb_main_file_size", value: obbMainFileSize),
|
8233
8334
|
RubyCommand.Argument(name: "obb_patch_references_version", value: obbPatchReferencesVersion),
|
@@ -8298,6 +8399,7 @@ func uploadToPlayStoreInternalAppSharing(packageName: String,
|
|
8298
8399
|
- notifyExternalTesters: Should notify external testers?
|
8299
8400
|
- 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
|
8300
8401
|
- buildNumber: The build number of the application build to distribute. If the build number is not specified, the most recent build is distributed
|
8402
|
+
- expirePreviousBuilds: Should expire previous builds?
|
8301
8403
|
- firstName: The tester's first name
|
8302
8404
|
- lastName: The tester's last name
|
8303
8405
|
- email: The tester's email
|
@@ -8334,6 +8436,7 @@ func uploadToTestflight(username: String,
|
|
8334
8436
|
notifyExternalTesters: Bool = true,
|
8335
8437
|
appVersion: String? = nil,
|
8336
8438
|
buildNumber: String? = nil,
|
8439
|
+
expirePreviousBuilds: Bool = false,
|
8337
8440
|
firstName: String? = nil,
|
8338
8441
|
lastName: String? = nil,
|
8339
8442
|
email: String? = nil,
|
@@ -8366,6 +8469,7 @@ func uploadToTestflight(username: String,
|
|
8366
8469
|
RubyCommand.Argument(name: "notify_external_testers", value: notifyExternalTesters),
|
8367
8470
|
RubyCommand.Argument(name: "app_version", value: appVersion),
|
8368
8471
|
RubyCommand.Argument(name: "build_number", value: buildNumber),
|
8472
|
+
RubyCommand.Argument(name: "expire_previous_builds", value: expirePreviousBuilds),
|
8369
8473
|
RubyCommand.Argument(name: "first_name", value: firstName),
|
8370
8474
|
RubyCommand.Argument(name: "last_name", value: lastName),
|
8371
8475
|
RubyCommand.Argument(name: "email", value: email),
|
@@ -8659,7 +8763,7 @@ func xcov(workspace: String? = nil,
|
|
8659
8763
|
htmlReport: Bool = true,
|
8660
8764
|
markdownReport: Bool = false,
|
8661
8765
|
jsonReport: Bool = false,
|
8662
|
-
minimumCoveragePercentage:
|
8766
|
+
minimumCoveragePercentage: Float = 0,
|
8663
8767
|
slackUrl: String? = nil,
|
8664
8768
|
slackChannel: String? = nil,
|
8665
8769
|
skipSlack: Bool = false,
|
@@ -8675,7 +8779,7 @@ func xcov(workspace: String? = nil,
|
|
8675
8779
|
coverallsServiceJobId: String? = nil,
|
8676
8780
|
coverallsRepoToken: String? = nil,
|
8677
8781
|
xcconfig: String? = nil,
|
8678
|
-
ideFoundationPath: String = "/Applications/Xcode-11.
|
8782
|
+
ideFoundationPath: String = "/Applications/Xcode-11.5.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
|
8679
8783
|
legacySupport: Bool = false) {
|
8680
8784
|
let command = RubyCommand(commandID: "", methodName: "xcov", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
|
8681
8785
|
RubyCommand.Argument(name: "project", value: project),
|
@@ -8820,4 +8924,4 @@ let snapshotfile: Snapshotfile = Snapshotfile()
|
|
8820
8924
|
|
8821
8925
|
// Please don't remove the lines below
|
8822
8926
|
// They are used to detect outdated files
|
8823
|
-
// FastlaneRunnerAPIVersion [0.9.
|
8927
|
+
// FastlaneRunnerAPIVersion [0.9.77]
|