fastlane 2.146.1 → 2.147.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/fastlane/lib/assets/custom_action_template.rb +6 -6
- data/fastlane/lib/fastlane/actions/cocoapods.rb +1 -1
- 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/git_branch.rb +1 -1
- data/fastlane/lib/fastlane/actions/set_pod_key.rb +3 -3
- data/fastlane/lib/fastlane/actions/testfairy.rb +18 -3
- data/fastlane/lib/fastlane/actions/verify_xcode.rb +7 -0
- data/fastlane/lib/fastlane/commands_generator.rb +4 -1
- data/fastlane/lib/fastlane/helper/lane_helper.rb +13 -0
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/Fastlane.swift +41 -11
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/MatchfileProtocol.swift +5 -1
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/ScanfileProtocol.swift +6 -2
- data/fastlane/swift/Screengrabfile.swift +1 -1
- data/fastlane/swift/Snapshotfile.swift +1 -1
- data/fastlane/swift/SnapshotfileProtocol.swift +9 -1
- data/fastlane_core/lib/fastlane_core/helper.rb +17 -0
- data/fastlane_core/lib/fastlane_core/keychain_importer.rb +46 -2
- 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/match/lib/match/change_password.rb +1 -18
- data/match/lib/match/encryption/openssl.rb +1 -1
- data/match/lib/match/generator.rb +5 -1
- data/match/lib/match/options.rb +5 -0
- data/match/lib/match/utils.rb +1 -1
- data/scan/lib/scan/options.rb +6 -1
- data/scan/lib/scan/runner.rb +2 -0
- data/scan/lib/scan/test_command_generator.rb +1 -1
- data/snapshot/lib/assets/SnapfileTemplate +3 -0
- data/snapshot/lib/snapshot/options.rb +10 -0
- 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 +21 -0
- data/snapshot/lib/snapshot/test_command_generator_base.rb +3 -0
- data/spaceship/lib/spaceship/base.rb +1 -1
- data/spaceship/lib/spaceship/connect_api/model.rb +6 -0
- data/spaceship/lib/spaceship/tunes/iap.rb +15 -0
- data/spaceship/lib/spaceship/tunes/tunes_client.rb +14 -0
- data/supply/lib/supply/.client.rb.swp +0 -0
- metadata +35 -21
@@ -99,7 +99,7 @@ module Match
|
|
99
99
|
UI.important("Enter the passphrase that should be used to encrypt/decrypt your certificates")
|
100
100
|
UI.important("This passphrase is specific per repository and will be stored in your local keychain")
|
101
101
|
UI.important("Make sure to remember the password, as you'll need it when you run match on a different machine")
|
102
|
-
password =
|
102
|
+
password = FastlaneCore::Helper.ask_password(message: "Passphrase for Match storage: ", confirm: true)
|
103
103
|
store_password(password)
|
104
104
|
end
|
105
105
|
end
|
@@ -60,7 +60,11 @@ module Match
|
|
60
60
|
names << params[:platform]
|
61
61
|
end
|
62
62
|
|
63
|
-
profile_name
|
63
|
+
if params[:profile_name].to_s.empty?
|
64
|
+
profile_name = names.join(" ")
|
65
|
+
else
|
66
|
+
profile_name = params[:profile_name]
|
67
|
+
end
|
64
68
|
|
65
69
|
values = {
|
66
70
|
app_identifier: app_identifier,
|
data/match/lib/match/options.rb
CHANGED
@@ -226,6 +226,11 @@ module Match
|
|
226
226
|
description: "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\")",
|
227
227
|
optional: true,
|
228
228
|
default_value: nil),
|
229
|
+
FastlaneCore::ConfigItem.new(key: :profile_name,
|
230
|
+
env_name: "MATCH_PROVISIONING_PROFILE_NAME",
|
231
|
+
description: "A custom name for the provisioning profile. This will replace the default provisioning profile name if specified",
|
232
|
+
optional: true,
|
233
|
+
default_value: nil),
|
229
234
|
FastlaneCore::ConfigItem.new(key: :output_path,
|
230
235
|
env_name: "MATCH_OUTPUT_PATH",
|
231
236
|
description: "Path in which to export certificates, key and profile",
|
data/match/lib/match/utils.rb
CHANGED
@@ -4,7 +4,7 @@ require_relative 'module'
|
|
4
4
|
|
5
5
|
module Match
|
6
6
|
class Utils
|
7
|
-
def self.import(item_path, keychain, password:
|
7
|
+
def self.import(item_path, keychain, password: nil)
|
8
8
|
keychain_path = FastlaneCore::Helper.keychain_path(keychain)
|
9
9
|
FastlaneCore::KeychainImporter.import_file(item_path, keychain_path, keychain_password: password, output: FastlaneCore::Globals.verbose?)
|
10
10
|
end
|
data/scan/lib/scan/options.rb
CHANGED
@@ -180,6 +180,11 @@ module Scan
|
|
180
180
|
description: "Should the HTML report be opened when tests are completed?",
|
181
181
|
is_string: false,
|
182
182
|
default_value: false),
|
183
|
+
FastlaneCore::ConfigItem.new(key: :disable_xcpretty,
|
184
|
+
env_name: "SCAN_DISABLE_XCPRETTY",
|
185
|
+
description: "Disable xcpretty formatting of build, similar to `output_style='raw'` but this will also skip the test results table",
|
186
|
+
type: Boolean,
|
187
|
+
optional: true),
|
183
188
|
FastlaneCore::ConfigItem.new(key: :output_directory,
|
184
189
|
short_option: "-o",
|
185
190
|
env_name: "SCAN_OUTPUT_DIRECTORY",
|
@@ -191,7 +196,7 @@ module Scan
|
|
191
196
|
FastlaneCore::ConfigItem.new(key: :output_style,
|
192
197
|
short_option: "-b",
|
193
198
|
env_name: "SCAN_OUTPUT_STYLE",
|
194
|
-
description: "Define how the output should look like. Valid values are: standard, basic, rspec, or raw (disables xcpretty)",
|
199
|
+
description: "Define how the output should look like. Valid values are: standard, basic, rspec, or raw (disables xcpretty during xcodebuild)",
|
195
200
|
optional: true,
|
196
201
|
verify_block: proc do |value|
|
197
202
|
UI.user_error!("Invalid output_style #{value}") unless ['standard', 'basic', 'rspec', 'raw'].include?(value)
|
data/scan/lib/scan/runner.rb
CHANGED
@@ -27,6 +27,9 @@
|
|
27
27
|
# remove the '#' to clear all previously generated screenshots before creating new ones
|
28
28
|
# clear_previous_screenshots(true)
|
29
29
|
|
30
|
+
# Remove the '#' to set the status bar to 9:41 AM, and show full battery and reception.
|
31
|
+
# override_status_bar(true)
|
32
|
+
|
30
33
|
# Arguments to pass to the app on launch. See https://docs.fastlane.tools/actions/snapshot/#launch-arguments
|
31
34
|
# launch_arguments(["-favColor red"])
|
32
35
|
|
@@ -111,6 +111,11 @@ module Snapshot
|
|
111
111
|
description: "Enabling this option will automatically erase the simulator before running the application",
|
112
112
|
default_value: false,
|
113
113
|
is_string: false),
|
114
|
+
FastlaneCore::ConfigItem.new(key: :override_status_bar,
|
115
|
+
env_name: 'SNAPSHOT_OVERRIDE_STATUS_BAR',
|
116
|
+
description: "Enabling this option wil automatically override the status bar to show 9:41 AM, full battery, and full reception",
|
117
|
+
default_value: false,
|
118
|
+
is_string: false),
|
114
119
|
FastlaneCore::ConfigItem.new(key: :localize_simulator,
|
115
120
|
env_name: 'SNAPSHOT_LOCALIZE_SIMULATOR',
|
116
121
|
description: "Enabling this option will configure the Simulator's system language",
|
@@ -232,6 +237,11 @@ module Snapshot
|
|
232
237
|
env_name: "SNAPSHOT_CLONED_SOURCE_PACKAGES_PATH",
|
233
238
|
description: "Sets a custom path for Swift Package Manager dependencies",
|
234
239
|
type: String,
|
240
|
+
optional: true),
|
241
|
+
FastlaneCore::ConfigItem.new(key: :testplan,
|
242
|
+
env_name: "SNAPSHOT_TESTPLAN",
|
243
|
+
description: "The testplan associated with the scheme that should be used for testing",
|
244
|
+
is_string: true,
|
235
245
|
optional: true)
|
236
246
|
]
|
237
247
|
end
|
@@ -12,6 +12,7 @@ module Snapshot
|
|
12
12
|
attr_accessor :reinstall_app
|
13
13
|
attr_accessor :app_identifier
|
14
14
|
attr_accessor :disable_slide_to_type
|
15
|
+
attr_accessor :override_status_bar
|
15
16
|
|
16
17
|
# xcode 8
|
17
18
|
attr_accessor :number_of_retries
|
@@ -43,6 +44,7 @@ module Snapshot
|
|
43
44
|
@output_directory = snapshot_config[:output_directory]
|
44
45
|
@concurrent_simulators = snapshot_config[:concurrent_simulators]
|
45
46
|
@disable_slide_to_type = snapshot_config[:disable_slide_to_type]
|
47
|
+
@override_status_bar = snapshot_config[:override_status_bar]
|
46
48
|
|
47
49
|
launch_arguments = Array(snapshot_config[:launch_arguments])
|
48
50
|
# if more than 1 set of arguments, use a tuple with an index
|
@@ -89,10 +89,14 @@ module Snapshot
|
|
89
89
|
log_path: xcodebuild_log_path(language: language, locale: locale)
|
90
90
|
)
|
91
91
|
|
92
|
+
devices.each { |device_type| override_status_bar(device_type) } if launcher_config.override_status_bar
|
93
|
+
|
92
94
|
UI.important("Running snapshot on: #{devices.join(', ')}")
|
93
95
|
|
94
96
|
execute(command: command, language: language, locale: locale, launch_args: launch_arguments, devices: devices)
|
95
97
|
|
98
|
+
devices.each { |device_type| clear_status_bar(device_type) } if launcher_config.override_status_bar
|
99
|
+
|
96
100
|
return copy_screenshots(language: language, locale: locale, launch_args: launch_arguments)
|
97
101
|
end
|
98
102
|
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'plist'
|
2
|
+
require 'time'
|
2
3
|
|
3
4
|
require_relative '../module'
|
4
5
|
require_relative '../test_command_generator'
|
@@ -102,6 +103,26 @@ module Snapshot
|
|
102
103
|
end
|
103
104
|
end
|
104
105
|
|
106
|
+
def override_status_bar(device_type)
|
107
|
+
device_udid = TestCommandGenerator.device_udid(device_type)
|
108
|
+
|
109
|
+
UI.message("Launch Simulator #{device_type}")
|
110
|
+
Helper.backticks("xcrun instruments -w #{device_udid} &> /dev/null")
|
111
|
+
|
112
|
+
UI.message("Overriding Status Bar")
|
113
|
+
|
114
|
+
# The time needs to be passed as ISO8601 so the simulator formats it correctly
|
115
|
+
time = Time.new(2007, 1, 9, 9, 41, 0)
|
116
|
+
Helper.backticks("xcrun simctl status_bar #{device_udid} override --time #{time.iso8601} --dataNetwork wifi --wifiMode active --wifiBars 3 --cellularMode active --cellularBars 4 --batteryState charged --batteryLevel 100 &> /dev/null")
|
117
|
+
end
|
118
|
+
|
119
|
+
def clear_status_bar(device_type)
|
120
|
+
device_udid = TestCommandGenerator.device_udid(device_type)
|
121
|
+
|
122
|
+
UI.message("Clearing Status Bar Override")
|
123
|
+
Helper.backticks("xcrun simctl status_bar #{device_udid} clear &> /dev/null")
|
124
|
+
end
|
125
|
+
|
105
126
|
def uninstall_app(device_type)
|
106
127
|
launcher_config.app_identifier ||= UI.input("App Identifier: ")
|
107
128
|
device_udid = TestCommandGenerator.device_udid(device_type)
|
@@ -26,6 +26,9 @@ module Snapshot
|
|
26
26
|
options << "-sdk '#{config[:sdk]}'" if config[:sdk]
|
27
27
|
options << "-derivedDataPath '#{derived_data_path}'"
|
28
28
|
options << "-resultBundlePath '#{result_bundle_path}'" if result_bundle_path
|
29
|
+
if FastlaneCore::Helper.xcode_at_least?(11)
|
30
|
+
options << "-testPlan '#{config[:testplan]}'" if config[:testplan]
|
31
|
+
end
|
29
32
|
options << config[:xcargs] if config[:xcargs]
|
30
33
|
return options
|
31
34
|
end
|
@@ -132,6 +132,21 @@ module Spaceship
|
|
132
132
|
return nil
|
133
133
|
end
|
134
134
|
|
135
|
+
# generate app-specific shared secret (or regenerate if exists)
|
136
|
+
def generate_shared_secret
|
137
|
+
client.generate_shared_secret(app_id: self.application.apple_id)
|
138
|
+
end
|
139
|
+
|
140
|
+
# retrieve app-specific shared secret
|
141
|
+
# @param create (Boolean) Create new shared secret if does not exist
|
142
|
+
def get_shared_secret(create: false)
|
143
|
+
secret = client.get_shared_secret(app_id: self.application.apple_id)
|
144
|
+
if create && secret.nil?
|
145
|
+
secret = generate_shared_secret
|
146
|
+
end
|
147
|
+
secret
|
148
|
+
end
|
149
|
+
|
135
150
|
private
|
136
151
|
|
137
152
|
def find_product_with_retries(product_id, max_tries)
|
@@ -1422,6 +1422,20 @@ module Spaceship
|
|
1422
1422
|
handle_itc_response(r.body)
|
1423
1423
|
end
|
1424
1424
|
|
1425
|
+
# Retrieves app-specific shared secret key
|
1426
|
+
def get_shared_secret(app_id: nil)
|
1427
|
+
r = request(:get, "ra/apps/#{app_id}/iaps/appSharedSecret")
|
1428
|
+
data = parse_response(r, 'data')
|
1429
|
+
data['sharedSecret']
|
1430
|
+
end
|
1431
|
+
|
1432
|
+
# Generates app-specific shared secret key
|
1433
|
+
def generate_shared_secret(app_id: nil)
|
1434
|
+
r = request(:post, "ra/apps/#{app_id}/iaps/appSharedSecret")
|
1435
|
+
data = parse_response(r, 'data')
|
1436
|
+
data['sharedSecret']
|
1437
|
+
end
|
1438
|
+
|
1425
1439
|
#####################################################
|
1426
1440
|
# @!group Sandbox Testers
|
1427
1441
|
#####################################################
|
Binary file
|
metadata
CHANGED
@@ -1,35 +1,35 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.147.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- Josh Holtz
|
8
|
+
- Joshua Liebowitz
|
9
|
+
- Felix Krause
|
8
10
|
- Iulian Onofrei
|
9
|
-
-
|
10
|
-
-
|
11
|
+
- Stefan Natchev
|
12
|
+
- Fumiya Nakamura
|
13
|
+
- Jorge Revuelta H
|
11
14
|
- Helmut Januschka
|
12
15
|
- Manu Wallner
|
13
16
|
- Olivier Halligon
|
17
|
+
- Danielle Tomlinson
|
18
|
+
- Jérôme Lacoste
|
19
|
+
- Matthew Ellis
|
20
|
+
- Max Ott
|
14
21
|
- Aaron Brager
|
15
|
-
-
|
16
|
-
-
|
22
|
+
- Luka Mirosevic
|
23
|
+
- Andrew McBurney
|
17
24
|
- Maksym Grebenets
|
18
|
-
- Felix Krause
|
19
|
-
- Josh Holtz
|
20
|
-
- Max Ott
|
21
|
-
- Danielle Tomlinson
|
22
25
|
- Daniel Jankowski
|
26
|
+
- Jan Piotrowski
|
27
|
+
- Kohki Miki
|
23
28
|
- Jimmy Dee
|
24
|
-
- Fumiya Nakamura
|
25
|
-
- Andrew McBurney
|
26
|
-
- Stefan Natchev
|
27
|
-
- Joshua Liebowitz
|
28
|
-
- Jorge Revuelta H
|
29
29
|
autorequire:
|
30
30
|
bindir: bin
|
31
31
|
cert_chain: []
|
32
|
-
date: 2020-
|
32
|
+
date: 2020-05-12 00:00:00.000000000 Z
|
33
33
|
dependencies:
|
34
34
|
- !ruby/object:Gem::Dependency
|
35
35
|
name: slack-notifier
|
@@ -359,30 +359,42 @@ dependencies:
|
|
359
359
|
name: faraday
|
360
360
|
requirement: !ruby/object:Gem::Requirement
|
361
361
|
requirements:
|
362
|
-
- - "
|
362
|
+
- - ">="
|
363
363
|
- !ruby/object:Gem::Version
|
364
364
|
version: '0.17'
|
365
|
+
- - "<"
|
366
|
+
- !ruby/object:Gem::Version
|
367
|
+
version: '2.0'
|
365
368
|
type: :runtime
|
366
369
|
prerelease: false
|
367
370
|
version_requirements: !ruby/object:Gem::Requirement
|
368
371
|
requirements:
|
369
|
-
- - "
|
372
|
+
- - ">="
|
370
373
|
- !ruby/object:Gem::Version
|
371
374
|
version: '0.17'
|
375
|
+
- - "<"
|
376
|
+
- !ruby/object:Gem::Version
|
377
|
+
version: '2.0'
|
372
378
|
- !ruby/object:Gem::Dependency
|
373
379
|
name: faraday_middleware
|
374
380
|
requirement: !ruby/object:Gem::Requirement
|
375
381
|
requirements:
|
376
|
-
- - "
|
382
|
+
- - ">="
|
377
383
|
- !ruby/object:Gem::Version
|
378
384
|
version: 0.13.1
|
385
|
+
- - "<"
|
386
|
+
- !ruby/object:Gem::Version
|
387
|
+
version: '2.0'
|
379
388
|
type: :runtime
|
380
389
|
prerelease: false
|
381
390
|
version_requirements: !ruby/object:Gem::Requirement
|
382
391
|
requirements:
|
383
|
-
- - "
|
392
|
+
- - ">="
|
384
393
|
- !ruby/object:Gem::Version
|
385
394
|
version: 0.13.1
|
395
|
+
- - "<"
|
396
|
+
- !ruby/object:Gem::Version
|
397
|
+
version: '2.0'
|
386
398
|
- !ruby/object:Gem::Dependency
|
387
399
|
name: fastimage
|
388
400
|
requirement: !ruby/object:Gem::Requirement
|
@@ -1277,6 +1289,7 @@ files:
|
|
1277
1289
|
- fastlane/lib/fastlane/helper/gem_helper.rb
|
1278
1290
|
- fastlane/lib/fastlane/helper/git_helper.rb
|
1279
1291
|
- fastlane/lib/fastlane/helper/gradle_helper.rb
|
1292
|
+
- fastlane/lib/fastlane/helper/lane_helper.rb
|
1280
1293
|
- fastlane/lib/fastlane/helper/podspec_helper.rb
|
1281
1294
|
- fastlane/lib/fastlane/helper/s3_client_helper.rb
|
1282
1295
|
- fastlane/lib/fastlane/helper/sh_helper.rb
|
@@ -1771,6 +1784,7 @@ files:
|
|
1771
1784
|
- spaceship/lib/spaceship/ui.rb
|
1772
1785
|
- supply/README.md
|
1773
1786
|
- supply/lib/supply.rb
|
1787
|
+
- supply/lib/supply/.client.rb.swp
|
1774
1788
|
- supply/lib/supply/apk_listing.rb
|
1775
1789
|
- supply/lib/supply/client.rb
|
1776
1790
|
- supply/lib/supply/commands_generator.rb
|
@@ -1811,7 +1825,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
1811
1825
|
requirements:
|
1812
1826
|
- - ">="
|
1813
1827
|
- !ruby/object:Gem::Version
|
1814
|
-
version: 2.
|
1828
|
+
version: '2.4'
|
1815
1829
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
1816
1830
|
requirements:
|
1817
1831
|
- - ">="
|