fastlane 2.172.0 → 2.177.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/options.rb +2 -2
- data/deliver/lib/deliver/app_screenshot.rb +6 -2
- data/deliver/lib/deliver/options.rb +2 -2
- data/deliver/lib/deliver/runner.rb +2 -2
- data/deliver/lib/deliver/upload_metadata.rb +3 -3
- data/deliver/lib/deliver/upload_screenshots.rb +12 -11
- data/fastlane/lib/fastlane/actions/adb.rb +1 -1
- data/fastlane/lib/fastlane/actions/app_store_build_number.rb +2 -2
- data/fastlane/lib/fastlane/actions/app_store_connect_api_key.rb +2 -1
- data/fastlane/lib/fastlane/actions/appaloosa.rb +7 -2
- data/fastlane/lib/fastlane/actions/appetize.rb +13 -1
- data/fastlane/lib/fastlane/actions/build_and_upload_to_appetize.rb +10 -2
- data/fastlane/lib/fastlane/actions/carthage.rb +22 -0
- data/fastlane/lib/fastlane/actions/cocoapods.rb +15 -1
- data/fastlane/lib/fastlane/actions/docs/capture_android_screenshots.md +1 -1
- data/fastlane/lib/fastlane/actions/docs/frame_screenshots.md +1 -1
- data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +8 -2
- data/fastlane/lib/fastlane/actions/download_dsyms.rb +5 -15
- data/fastlane/lib/fastlane/actions/git_commit.rb +1 -1
- data/fastlane/lib/fastlane/actions/jazzy.rb +10 -1
- data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +2 -2
- data/fastlane/lib/fastlane/actions/push_to_git_remote.rb +1 -2
- data/fastlane/lib/fastlane/actions/register_device.rb +2 -2
- data/fastlane/lib/fastlane/actions/register_devices.rb +2 -2
- data/fastlane/lib/fastlane/actions/set_changelog.rb +2 -2
- data/fastlane/lib/fastlane/actions/swiftlint.rb +1 -1
- data/fastlane/lib/fastlane/actions/update_code_signing_settings.rb +1 -1
- data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +4 -5
- data/fastlane/lib/fastlane/actions/upload_to_testflight.rb +5 -1
- data/fastlane/lib/fastlane/documentation/actions_list.rb +2 -2
- data/fastlane/lib/fastlane/helper/adb_helper.rb +1 -1
- data/fastlane/lib/fastlane/helper/gem_helper.rb +2 -2
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Actions.swift +1 -1
- data/fastlane/swift/Appfile.swift +1 -1
- data/fastlane/swift/ArgumentProcessor.swift +1 -1
- data/fastlane/swift/ControlCommand.swift +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +1 -1
- data/fastlane/swift/Fastlane.swift +54 -19
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/GymfileProtocol.swift +1 -1
- data/fastlane/swift/LaneFileProtocol.swift +1 -1
- data/fastlane/swift/MainProcess.swift +1 -1
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/MatchfileProtocol.swift +1 -1
- data/fastlane/swift/Plugins.swift +1 -1
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
- data/fastlane/swift/RubyCommand.swift +1 -1
- data/fastlane/swift/RubyCommandable.swift +1 -1
- data/fastlane/swift/Runner.swift +2 -2
- data/fastlane/swift/RunnerArgument.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/ScreengrabfileProtocol.swift +1 -1
- data/fastlane/swift/Snapshotfile.swift +1 -1
- data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
- data/fastlane/swift/SocketClient.swift +1 -1
- data/fastlane/swift/SocketClientDelegateProtocol.swift +1 -1
- data/fastlane/swift/SocketResponse.swift +1 -1
- data/fastlane/swift/formatting/Brewfile.lock.json +20 -14
- data/fastlane/swift/main.swift +1 -1
- data/fastlane_core/lib/fastlane_core.rb +1 -0
- data/fastlane_core/lib/fastlane_core/command_executor.rb +3 -9
- data/fastlane_core/lib/fastlane_core/configuration/commander_generator.rb +1 -1
- data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +23 -0
- data/fastlane_core/lib/fastlane_core/configuration/configuration.rb +9 -5
- data/fastlane_core/lib/fastlane_core/helper.rb +26 -5
- data/fastlane_core/lib/fastlane_core/ipa_upload_package_builder.rb +3 -2
- data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +4 -2
- data/fastlane_core/lib/fastlane_core/keychain_importer.rb +1 -1
- data/fastlane_core/lib/fastlane_core/pkg_upload_package_builder.rb +3 -2
- data/fastlane_core/lib/fastlane_core/project.rb +23 -9
- data/{deliver/lib/deliver → fastlane_core/lib/fastlane_core}/queue_worker.rb +2 -2
- data/fastlane_core/lib/fastlane_core/update_checker/update_checker.rb +2 -2
- data/gym/lib/gym/.runner.rb.swp +0 -0
- data/gym/lib/gym/error_handler.rb +8 -0
- data/{fastlane/lib/fastlane/actions/.update_fastlane.rb.swp → gym/lib/gym/generators/.package_command_generator_xcode7.rb.swp} +0 -0
- data/gym/lib/gym/generators/package_command_generator_xcode7.rb +2 -2
- data/match/lib/match/nuke.rb +5 -0
- data/match/lib/match/options.rb +2 -2
- data/pilot/lib/pilot/build_manager.rb +16 -4
- data/pilot/lib/pilot/options.rb +3 -3
- data/precheck/lib/precheck/options.rb +2 -2
- data/precheck/lib/precheck/runner.rb +1 -1
- data/scan/lib/scan/detect_values.rb +4 -1
- data/scan/lib/scan/options.rb +10 -0
- data/scan/lib/scan/runner.rb +27 -0
- data/screengrab/lib/screengrab/android_environment.rb +2 -2
- data/screengrab/lib/screengrab/runner.rb +1 -2
- data/sigh/lib/sigh/options.rb +2 -2
- data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +2 -1
- data/spaceship/README.md +2 -2
- data/spaceship/lib/spaceship/client.rb +32 -18
- data/spaceship/lib/spaceship/connect_api/api_client.rb +40 -7
- data/spaceship/lib/spaceship/connect_api/models/app.rb +1 -1
- data/spaceship/lib/spaceship/connect_api/models/app_preview_set.rb +5 -0
- data/spaceship/lib/spaceship/connect_api/models/app_screenshot_set.rb +5 -0
- data/spaceship/lib/spaceship/connect_api/models/app_store_version_localization.rb +6 -0
- data/spaceship/lib/spaceship/connect_api/models/build.rb +5 -0
- data/spaceship/lib/spaceship/connect_api/models/build_beta_detail.rb +4 -0
- data/spaceship/lib/spaceship/connect_api/models/bundle_id.rb +24 -0
- data/spaceship/lib/spaceship/connect_api/models/bundle_id_capability.rb +26 -4
- data/spaceship/lib/spaceship/connect_api/models/user_invitation.rb +13 -0
- data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +53 -0
- data/spaceship/lib/spaceship/connect_api/token.rb +1 -1
- data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +15 -0
- data/spaceship/lib/spaceship/playground.rb +2 -2
- data/spaceship/lib/spaceship/tunes/tunes_client.rb +2 -2
- data/spaceship/lib/spaceship/two_step_or_factor_client.rb +42 -29
- data/spaceship/lib/spaceship/upgrade_2fa_later_client.rb +91 -0
- metadata +35 -19
@@ -40,7 +40,7 @@ module Spaceship
|
|
40
40
|
self.create(json)
|
41
41
|
end
|
42
42
|
|
43
|
-
def self.create(key_id: nil, issuer_id: nil, filepath: nil, key: nil, is_key_content_base64: false, duration: nil, in_house: nil)
|
43
|
+
def self.create(key_id: nil, issuer_id: nil, filepath: nil, key: nil, is_key_content_base64: false, duration: nil, in_house: nil, **)
|
44
44
|
key_id ||= ENV['SPACESHIP_CONNECT_API_KEY_ID']
|
45
45
|
issuer_id ||= ENV['SPACESHIP_CONNECT_API_ISSUER_ID']
|
46
46
|
filepath ||= ENV['SPACESHIP_CONNECT_API_KEY_FILEPATH']
|
@@ -381,6 +381,11 @@ module Spaceship
|
|
381
381
|
tunes_request_client.post("appPreviewSets", body)
|
382
382
|
end
|
383
383
|
|
384
|
+
def delete_app_preview_set(app_preview_set_id: nil)
|
385
|
+
params = tunes_request_client.build_params(filter: nil, includes: nil, limit: nil, sort: nil)
|
386
|
+
tunes_request_client.delete("appPreviewSets/#{app_preview_set_id}", params)
|
387
|
+
end
|
388
|
+
|
384
389
|
def patch_app_preview_set_previews(app_preview_set_id: nil, app_preview_ids: nil)
|
385
390
|
app_preview_ids ||= []
|
386
391
|
|
@@ -515,6 +520,11 @@ module Spaceship
|
|
515
520
|
tunes_request_client.patch("appScreenshotSets/#{app_screenshot_set_id}/relationships/appScreenshots", body)
|
516
521
|
end
|
517
522
|
|
523
|
+
def delete_app_screenshot_set(app_screenshot_set_id: nil)
|
524
|
+
params = tunes_request_client.build_params(filter: nil, includes: nil, limit: nil, sort: nil)
|
525
|
+
tunes_request_client.delete("appScreenshotSets/#{app_screenshot_set_id}", params)
|
526
|
+
end
|
527
|
+
|
518
528
|
#
|
519
529
|
# appScreenshots
|
520
530
|
#
|
@@ -757,6 +767,11 @@ module Spaceship
|
|
757
767
|
tunes_request_client.get("appStoreVersions/#{app_store_version_id}/appStoreVersionLocalizations", params)
|
758
768
|
end
|
759
769
|
|
770
|
+
def get_app_store_version_localization(app_store_version_localization_id: nil, filter: {}, includes: nil, limit: nil, sort: nil)
|
771
|
+
params = tunes_request_client.build_params(filter: nil, includes: nil, limit: nil, sort: nil)
|
772
|
+
tunes_request_client.get("appStoreVersionLocalizations/#{app_store_version_localization_id}", params)
|
773
|
+
end
|
774
|
+
|
760
775
|
def post_app_store_version_localization(app_store_version_id: nil, attributes: {})
|
761
776
|
body = {
|
762
777
|
data: {
|
@@ -13,8 +13,8 @@ module Spaceship
|
|
13
13
|
rescue Gem::LoadError
|
14
14
|
puts("Could not find gem 'pry'".red)
|
15
15
|
puts("")
|
16
|
-
puts("If you installed spaceship using `
|
17
|
-
puts("
|
16
|
+
puts("If you installed spaceship using `gem install spaceship` run")
|
17
|
+
puts(" gem install pry".yellow)
|
18
18
|
puts("to install the missing gem")
|
19
19
|
puts("")
|
20
20
|
puts("If you use a Gemfile add this to your Gemfile:")
|
@@ -579,10 +579,10 @@ module Spaceship
|
|
579
579
|
}
|
580
580
|
|
581
581
|
r = request(:post) do |req|
|
582
|
-
req.url("https://
|
582
|
+
req.url("https://appstoreconnect.apple.com/analytics/api/v1/data/time-series")
|
583
583
|
req.body = data.to_json
|
584
584
|
req.headers['Content-Type'] = 'application/json'
|
585
|
-
req.headers['X-Requested-By'] = '
|
585
|
+
req.headers['X-Requested-By'] = 'appstoreconnect.apple.com'
|
586
586
|
end
|
587
587
|
|
588
588
|
data = parse_response(r)
|
@@ -4,7 +4,7 @@ require_relative 'tunes/tunes_client'
|
|
4
4
|
module Spaceship
|
5
5
|
class Client
|
6
6
|
def handle_two_step_or_factor(response)
|
7
|
-
raise "2FA can only be performed in interactive mode" if ENV["FASTLANE_IS_INTERACTIVE"] == "false"
|
7
|
+
raise "2FA can only be performed in interactive mode" if ENV["SPACESHIP_ONLY_ALLOW_INTERACTIVE_2FA"] == "true" && ENV["FASTLANE_IS_INTERACTIVE"] == "false"
|
8
8
|
# extract `x-apple-id-session-id` and `scnt` from response, to be used by `update_request_headers`
|
9
9
|
@x_apple_id_session_id = response["x-apple-id-session-id"]
|
10
10
|
@scnt = response["scnt"]
|
@@ -135,7 +135,7 @@ module Spaceship
|
|
135
135
|
|
136
136
|
phone_number = env_2fa_sms_default_phone_number
|
137
137
|
phone_id = phone_id_from_number(response.body["trustedPhoneNumbers"], phone_number)
|
138
|
-
push_mode =
|
138
|
+
push_mode = push_mode_from_number(response.body["trustedPhoneNumbers"], phone_number)
|
139
139
|
# don't request sms if no trusted devices and env default is the only trusted number,
|
140
140
|
# code was automatically sent
|
141
141
|
should_request_code = !sms_automatically_sent(response)
|
@@ -234,34 +234,8 @@ module Spaceship
|
|
234
234
|
end
|
235
235
|
|
236
236
|
def phone_id_from_number(phone_numbers, phone_number)
|
237
|
-
characters_to_remove_from_phone_numbers = ' \-()"'
|
238
|
-
|
239
|
-
# start with e.g. +49 162 1234585 or +1-123-456-7866
|
240
|
-
phone_number = phone_number.tr(characters_to_remove_from_phone_numbers, '')
|
241
|
-
# cleaned: +491621234585 or +11234567866
|
242
|
-
|
243
237
|
phone_numbers.each do |phone|
|
244
|
-
|
245
|
-
# start with: +49 •••• •••••85 or +1 (•••) •••-••66
|
246
|
-
number_with_dialcode_masked = phone['numberWithDialCode'].tr(characters_to_remove_from_phone_numbers, '')
|
247
|
-
# cleaned: +49•••••••••85 or +1••••••••66
|
248
|
-
# rubocop:enable Style/AsciiComments
|
249
|
-
|
250
|
-
maskings_count = number_with_dialcode_masked.count('•') # => 9 or 8
|
251
|
-
pattern = /^([0-9+]{2,4})([•]{#{maskings_count}})([0-9]{2})$/
|
252
|
-
# following regex: range from maskings_count-2 because sometimes the masked number has 1 or 2 dots more than the actual number
|
253
|
-
# e.g. https://github.com/fastlane/fastlane/issues/14969
|
254
|
-
replacement = "\\1([0-9]{#{maskings_count - 2},#{maskings_count}})\\3"
|
255
|
-
number_with_dialcode_regex_part = number_with_dialcode_masked.gsub(pattern, replacement)
|
256
|
-
# => +49([0-9]{8,9})85 or +1([0-9]{7,8})66
|
257
|
-
|
258
|
-
backslash = '\\'
|
259
|
-
number_with_dialcode_regex_part = backslash + number_with_dialcode_regex_part
|
260
|
-
number_with_dialcode_regex = /^#{number_with_dialcode_regex_part}$/
|
261
|
-
# => /^\+49([0-9]{8})85$/ or /^\+1([0-9]{7,8})66$/
|
262
|
-
|
263
|
-
return phone['id'] if phone_number =~ number_with_dialcode_regex
|
264
|
-
# +491621234585 matches /^\+49([0-9]{8})85$/
|
238
|
+
return phone['id'] if match_phone_to_masked_phone(phone_number, phone['numberWithDialCode'])
|
265
239
|
end
|
266
240
|
|
267
241
|
# Handle case of phone_number not existing in phone_numbers because ENV var is wrong or matcher is broken
|
@@ -272,6 +246,45 @@ If it is, please open an issue at https://github.com/fastlane/fastlane/issues/ne
|
|
272
246
|
)
|
273
247
|
end
|
274
248
|
|
249
|
+
def push_mode_from_number(phone_numbers, phone_number)
|
250
|
+
phone_numbers.each do |phone|
|
251
|
+
return phone['pushMode'] if match_phone_to_masked_phone(phone_number, phone['numberWithDialCode'])
|
252
|
+
end
|
253
|
+
|
254
|
+
# If no pushMode was supplied, assume sms
|
255
|
+
return "sms"
|
256
|
+
end
|
257
|
+
|
258
|
+
def match_phone_to_masked_phone(phone_number, masked_number)
|
259
|
+
characters_to_remove_from_phone_numbers = ' \-()"'
|
260
|
+
|
261
|
+
# start with e.g. +49 162 1234585 or +1-123-456-7866
|
262
|
+
phone_number = phone_number.tr(characters_to_remove_from_phone_numbers, '')
|
263
|
+
# cleaned: +491621234585 or +11234567866
|
264
|
+
|
265
|
+
# rubocop:disable Style/AsciiComments
|
266
|
+
# start with: +49 •••• •••••85 or +1 (•••) •••-••66
|
267
|
+
number_with_dialcode_masked = masked_number.tr(characters_to_remove_from_phone_numbers, '')
|
268
|
+
# cleaned: +49•••••••••85 or +1••••••••66
|
269
|
+
# rubocop:enable Style/AsciiComments
|
270
|
+
|
271
|
+
maskings_count = number_with_dialcode_masked.count('•') # => 9 or 8
|
272
|
+
pattern = /^([0-9+]{2,4})([•]{#{maskings_count}})([0-9]{2})$/
|
273
|
+
# following regex: range from maskings_count-2 because sometimes the masked number has 1 or 2 dots more than the actual number
|
274
|
+
# e.g. https://github.com/fastlane/fastlane/issues/14969
|
275
|
+
replacement = "\\1([0-9]{#{maskings_count - 2},#{maskings_count}})\\3"
|
276
|
+
number_with_dialcode_regex_part = number_with_dialcode_masked.gsub(pattern, replacement)
|
277
|
+
# => +49([0-9]{8,9})85 or +1([0-9]{7,8})66
|
278
|
+
|
279
|
+
backslash = '\\'
|
280
|
+
number_with_dialcode_regex_part = backslash + number_with_dialcode_regex_part
|
281
|
+
number_with_dialcode_regex = /^#{number_with_dialcode_regex_part}$/
|
282
|
+
# => /^\+49([0-9]{8})85$/ or /^\+1([0-9]{7,8})66$/
|
283
|
+
|
284
|
+
return phone_number =~ number_with_dialcode_regex
|
285
|
+
# +491621234585 matches /^\+49([0-9]{8})85$/
|
286
|
+
end
|
287
|
+
|
275
288
|
def phone_id_from_masked_number(phone_numbers, masked_number)
|
276
289
|
phone_numbers.each do |phone|
|
277
290
|
return phone['id'] if phone['numberWithDialCode'] == masked_number
|
@@ -0,0 +1,91 @@
|
|
1
|
+
require_relative 'globals'
|
2
|
+
require_relative 'tunes/tunes_client'
|
3
|
+
|
4
|
+
module Spaceship
|
5
|
+
class Client
|
6
|
+
def try_upgrade_2fa_later(response)
|
7
|
+
if ENV['SPACESHIP_SKIP_2FA_UPGRADE'].nil?
|
8
|
+
return false
|
9
|
+
end
|
10
|
+
|
11
|
+
puts("This account is being prompted to upgrade to 2FA")
|
12
|
+
puts("Attempting to automatically bypass the upgrade until a later date")
|
13
|
+
puts("To disable this, remove SPACESHIP_SKIP_2FA_UPGRADE=1 environment variable")
|
14
|
+
|
15
|
+
# Get URL that requests a repair and gets the widget key
|
16
|
+
widget_key_location = response.headers['location']
|
17
|
+
uri = URI.parse(widget_key_location)
|
18
|
+
params = CGI.parse(uri.query)
|
19
|
+
|
20
|
+
widget_key = params.dig('widgetKey', 0)
|
21
|
+
if widget_key.nil?
|
22
|
+
STDERR.puts("Couldn't find widgetKey to continue with requests")
|
23
|
+
return false
|
24
|
+
end
|
25
|
+
|
26
|
+
# Step 1 - Request repair
|
27
|
+
response_repair = request(:get) do |req|
|
28
|
+
req.url(widget_key_location)
|
29
|
+
end
|
30
|
+
|
31
|
+
# Step 2 - Request repair options
|
32
|
+
response_repair_options = request(:get) do |req|
|
33
|
+
req.url("https://appleid.apple.com/account/manage/repair/options")
|
34
|
+
|
35
|
+
req.headers['scnt'] = response_repair.headers['scnt']
|
36
|
+
req.headers['X-Apple-Id-Session-Id'] = response.headers['X-Apple-Id-Session-Id']
|
37
|
+
req.headers['X-Apple-Session-Token'] = response.headers['X-Apple-Repair-Session-Token']
|
38
|
+
|
39
|
+
req.headers['X-Apple-Skip-Repair-Attributes'] = '[]'
|
40
|
+
req.headers['X-Apple-Widget-Key'] = widget_key
|
41
|
+
|
42
|
+
req.headers['Content-Type'] = 'application/json'
|
43
|
+
req.headers['X-Requested-With'] = 'XMLHttpRequest'
|
44
|
+
req.headers['Accept'] = 'application/json, text/javascript'
|
45
|
+
end
|
46
|
+
|
47
|
+
# Step 3 - Request setup later
|
48
|
+
request(:get) do |req|
|
49
|
+
req.url("https://appleid.apple.com/account/security/upgrade/setuplater")
|
50
|
+
|
51
|
+
req.headers['scnt'] = response_repair_options.headers['scnt']
|
52
|
+
req.headers['X-Apple-Id-Session-Id'] = response.headers['X-Apple-Id-Session-Id']
|
53
|
+
req.headers['X-Apple-Session-Token'] = response_repair_options.headers['x-apple-session-token']
|
54
|
+
req.headers['X-Apple-Skip-Repair-Attributes'] = '[]'
|
55
|
+
req.headers['X-Apple-Widget-Key'] = widget_key
|
56
|
+
|
57
|
+
req.headers['Content-Type'] = 'application/json'
|
58
|
+
req.headers['X-Requested-With'] = 'XMLHttpRequest'
|
59
|
+
req.headers['Accept'] = 'application/json, text/javascript'
|
60
|
+
end
|
61
|
+
|
62
|
+
# Step 4 - Post complete
|
63
|
+
response_repair_complete = request(:post) do |req|
|
64
|
+
req.url("https://idmsa.apple.com/appleauth/auth/repair/complete")
|
65
|
+
|
66
|
+
req.body = ''
|
67
|
+
req.headers['scnt'] = response.headers['scnt']
|
68
|
+
req.headers['X-Apple-Id-Session-Id'] = response.headers['X-Apple-Id-Session-Id']
|
69
|
+
req.headers['X-Apple-Repair-Session-Token'] = response_repair_options.headers['X-Apple-Session-Token']
|
70
|
+
|
71
|
+
req.headers['X-Apple-Widget-Key'] = widget_key
|
72
|
+
|
73
|
+
req.headers['Content-Type'] = 'application/json'
|
74
|
+
req.headers['X-Requested-With'] = 'XMLHttpRequest'
|
75
|
+
req.headers['Accept'] = 'application/json;charset=utf-8'
|
76
|
+
end
|
77
|
+
|
78
|
+
if response_repair_complete.status == 204
|
79
|
+
return true
|
80
|
+
else
|
81
|
+
STDERR.puts("Failed with status code of #{response_repair_complete.status}")
|
82
|
+
return false
|
83
|
+
end
|
84
|
+
rescue => error
|
85
|
+
STDERR.puts(error.backtrace)
|
86
|
+
STDERR.puts("Failed to bypass 2FA upgrade")
|
87
|
+
STDERR.puts("To disable this from trying again, set SPACESHIP_SKIP_UPGRADE_2FA_LATER=1")
|
88
|
+
return false
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
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.177.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
+
- Kohki Miki
|
8
|
+
- Jan Piotrowski
|
9
|
+
- Jimmy Dee
|
7
10
|
- Andrew McBurney
|
8
|
-
- Olivier Halligon
|
9
|
-
- Felix Krause
|
10
11
|
- Daniel Jankowski
|
11
|
-
- Danielle Tomlinson
|
12
|
-
- Jimmy Dee
|
13
|
-
- Max Ott
|
14
|
-
- Stefan Natchev
|
15
|
-
- Maksym Grebenets
|
16
|
-
- Jérôme Lacoste
|
17
|
-
- Jan Piotrowski
|
18
|
-
- Jorge Revuelta H
|
19
|
-
- Kohki Miki
|
20
|
-
- Aaron Brager
|
21
12
|
- Luka Mirosevic
|
22
|
-
- Josh Holtz
|
23
13
|
- Iulian Onofrei
|
24
14
|
- Helmut Januschka
|
25
|
-
-
|
26
|
-
- Fumiya Nakamura
|
15
|
+
- Maksym Grebenets
|
27
16
|
- Matthew Ellis
|
17
|
+
- Max Ott
|
18
|
+
- Danielle Tomlinson
|
19
|
+
- Aaron Brager
|
20
|
+
- Josh Holtz
|
21
|
+
- Fumiya Nakamura
|
22
|
+
- Olivier Halligon
|
23
|
+
- Jérôme Lacoste
|
24
|
+
- Joshua Liebowitz
|
25
|
+
- Stefan Natchev
|
26
|
+
- Felix Krause
|
27
|
+
- Jorge Revuelta H
|
28
28
|
- Manu Wallner
|
29
29
|
autorequire:
|
30
30
|
bindir: bin
|
31
31
|
cert_chain: []
|
32
|
-
date: 2021-
|
32
|
+
date: 2021-03-08 00:00:00.000000000 Z
|
33
33
|
dependencies:
|
34
34
|
- !ruby/object:Gem::Dependency
|
35
35
|
name: slack-notifier
|
@@ -477,6 +477,20 @@ dependencies:
|
|
477
477
|
- - "<"
|
478
478
|
- !ruby/object:Gem::Version
|
479
479
|
version: 5.0.0
|
480
|
+
- !ruby/object:Gem::Dependency
|
481
|
+
name: naturally
|
482
|
+
requirement: !ruby/object:Gem::Requirement
|
483
|
+
requirements:
|
484
|
+
- - "~>"
|
485
|
+
- !ruby/object:Gem::Version
|
486
|
+
version: '2.2'
|
487
|
+
type: :runtime
|
488
|
+
prerelease: false
|
489
|
+
version_requirements: !ruby/object:Gem::Requirement
|
490
|
+
requirements:
|
491
|
+
- - "~>"
|
492
|
+
- !ruby/object:Gem::Version
|
493
|
+
version: '2.2'
|
480
494
|
- !ruby/object:Gem::Dependency
|
481
495
|
name: rubyzip
|
482
496
|
requirement: !ruby/object:Gem::Requirement
|
@@ -969,7 +983,6 @@ files:
|
|
969
983
|
- deliver/lib/deliver/loader.rb
|
970
984
|
- deliver/lib/deliver/module.rb
|
971
985
|
- deliver/lib/deliver/options.rb
|
972
|
-
- deliver/lib/deliver/queue_worker.rb
|
973
986
|
- deliver/lib/deliver/runner.rb
|
974
987
|
- deliver/lib/deliver/setup.rb
|
975
988
|
- deliver/lib/deliver/submit_for_review.rb
|
@@ -999,7 +1012,6 @@ files:
|
|
999
1012
|
- fastlane/lib/fastlane/action.rb
|
1000
1013
|
- fastlane/lib/fastlane/action_collector.rb
|
1001
1014
|
- fastlane/lib/fastlane/actions/.git_commit.rb.swp
|
1002
|
-
- fastlane/lib/fastlane/actions/.update_fastlane.rb.swp
|
1003
1015
|
- fastlane/lib/fastlane/actions/README.md
|
1004
1016
|
- fastlane/lib/fastlane/actions/actions_helper.rb
|
1005
1017
|
- fastlane/lib/fastlane/actions/adb.rb
|
@@ -1410,6 +1422,7 @@ files:
|
|
1410
1422
|
- fastlane_core/lib/fastlane_core/print_table.rb
|
1411
1423
|
- fastlane_core/lib/fastlane_core/project.rb
|
1412
1424
|
- fastlane_core/lib/fastlane_core/provisioning_profile.rb
|
1425
|
+
- fastlane_core/lib/fastlane_core/queue_worker.rb
|
1413
1426
|
- fastlane_core/lib/fastlane_core/string_filters.rb
|
1414
1427
|
- fastlane_core/lib/fastlane_core/swag.rb
|
1415
1428
|
- fastlane_core/lib/fastlane_core/tag_version.rb
|
@@ -1452,10 +1465,12 @@ files:
|
|
1452
1465
|
- gym/lib/assets/GymfileTemplate.swift
|
1453
1466
|
- gym/lib/assets/wrap_xcodebuild/xcbuild-safe.sh
|
1454
1467
|
- gym/lib/gym.rb
|
1468
|
+
- gym/lib/gym/.runner.rb.swp
|
1455
1469
|
- gym/lib/gym/code_signing_mapping.rb
|
1456
1470
|
- gym/lib/gym/commands_generator.rb
|
1457
1471
|
- gym/lib/gym/detect_values.rb
|
1458
1472
|
- gym/lib/gym/error_handler.rb
|
1473
|
+
- gym/lib/gym/generators/.package_command_generator_xcode7.rb.swp
|
1459
1474
|
- gym/lib/gym/generators/README.md
|
1460
1475
|
- gym/lib/gym/generators/build_command_generator.rb
|
1461
1476
|
- gym/lib/gym/generators/package_command_generator.rb
|
@@ -1804,6 +1819,7 @@ files:
|
|
1804
1819
|
- spaceship/lib/spaceship/tunes/version_set.rb
|
1805
1820
|
- spaceship/lib/spaceship/two_step_or_factor_client.rb
|
1806
1821
|
- spaceship/lib/spaceship/ui.rb
|
1822
|
+
- spaceship/lib/spaceship/upgrade_2fa_later_client.rb
|
1807
1823
|
- supply/README.md
|
1808
1824
|
- supply/lib/supply.rb
|
1809
1825
|
- supply/lib/supply/apk_listing.rb
|