fastlane 2.236.1 → 2.238.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +109 -102
- data/deliver/lib/deliver/options.rb +1 -1
- data/fastlane/lib/fastlane/actions/deploygate.rb +3 -2
- data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +7 -3
- data/fastlane/lib/fastlane/actions/hockey.rb +3 -2
- data/fastlane/lib/fastlane/actions/installr.rb +3 -2
- data/fastlane/lib/fastlane/actions/mailgun.rb +1 -0
- data/fastlane/lib/fastlane/actions/notarize.rb +3 -18
- data/fastlane/lib/fastlane/actions/register_devices.rb +21 -5
- data/fastlane/lib/fastlane/actions/setup_ci.rb +7 -2
- data/fastlane/lib/fastlane/actions/spm.rb +6 -0
- data/fastlane/lib/fastlane/actions/swiftlint.rb +10 -1
- data/fastlane/lib/fastlane/actions/testfairy.rb +5 -3
- data/fastlane/lib/fastlane/actions/tryouts.rb +3 -2
- data/fastlane/lib/fastlane/actions/update_project_team.rb +17 -9
- data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +33 -7
- data/fastlane/lib/fastlane/helper/sh_helper.rb +7 -3
- data/fastlane/lib/fastlane/lane_manager.rb +0 -1
- data/fastlane/lib/fastlane/plugins/template/.github/workflows/test.yml +0 -7
- data/fastlane/lib/fastlane/plugins/template/.gitignore +0 -1
- data/fastlane/lib/fastlane/plugins/template/.rspec +0 -2
- data/fastlane/lib/fastlane/plugins/template/Gemfile.erb +0 -2
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +2 -2
- data/fastlane/swift/Fastlane.swift +50 -20
- data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.pbxproj +1 -1
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/GymfileProtocol.swift +1 -1
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/MatchfileProtocol.swift +8 -1
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/ScanfileProtocol.swift +8 -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_core/lib/fastlane_core/analytics/analytics_event_builder.rb +31 -5
- data/fastlane_core/lib/fastlane_core/analytics/analytics_ingester_client.rb +24 -12
- data/fastlane_core/lib/fastlane_core/analytics/analytics_session.rb +22 -12
- data/fastlane_core/lib/fastlane_core/cert_checker.rb +22 -9
- data/fastlane_core/lib/fastlane_core/helper.rb +4 -3
- data/fastlane_core/lib/fastlane_core/ipa_upload_package_builder.rb +6 -2
- data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +3 -1
- data/fastlane_core/lib/fastlane_core/keychain_importer.rb +1 -1
- data/fastlane_core/lib/fastlane_core/pkg_upload_package_builder.rb +1 -1
- data/fastlane_core/lib/fastlane_core/print_table.rb +0 -16
- data/fastlane_core/lib/fastlane_core/project.rb +3 -1
- data/fastlane_core/lib/fastlane_core/queue_worker.rb +10 -1
- data/fastlane_core/lib/fastlane_core/ui/errors/fastlane_shell_error.rb +6 -0
- data/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb +1 -1
- data/fastlane_core/lib/fastlane_core/video_utils.rb +4 -2
- data/gym/lib/gym/error_handler.rb +11 -1
- data/gym/lib/gym/generators/build_command_generator.rb +2 -0
- data/gym/lib/gym/module.rb +20 -2
- data/match/lib/match/options.rb +8 -0
- data/match/lib/match/runner.rb +4 -2
- data/match/lib/match/storage/git_storage.rb +18 -2
- data/pilot/lib/pilot/build_manager.rb +2 -2
- data/pilot/lib/pilot/options.rb +2 -2
- data/pilot/lib/pilot/tester_manager.rb +2 -2
- data/precheck/lib/precheck/rules/copyright_date_rule.rb +16 -10
- data/precheck/lib/precheck/rules/unreachable_urls_rule.rb +2 -2
- data/scan/lib/scan/options.rb +5 -0
- data/scan/lib/scan/runner.rb +1 -0
- data/scan/lib/scan/test_command_generator.rb +2 -0
- data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +4 -1
- data/spaceship/lib/spaceship/client.rb +0 -1
- data/spaceship/lib/spaceship/connect_api/file_uploader.rb +1 -1
- data/spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb +6 -0
- data/spaceship/lib/spaceship/connect_api/models/beta_group.rb +5 -0
- data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +7 -2
- data/spaceship/lib/spaceship/helper/plist_middleware.rb +37 -8
- data/supply/lib/supply/uploader.rb +7 -1
- data/trainer/lib/trainer/xcresult/test_case.rb +21 -2
- data/trainer/lib/trainer/xcresult/test_plan.rb +3 -3
- data/trainer/lib/trainer/xcresult/test_suite.rb +28 -19
- metadata +74 -32
|
@@ -177,6 +177,8 @@ module Scan
|
|
|
177
177
|
end
|
|
178
178
|
|
|
179
179
|
def pipe_xcpretty
|
|
180
|
+
UI.important("Using xcpretty can result in missing some build errors and is slower than the preferred xcbeautify. See https://docs.fastlane.tools/best-practices/xcodebuild-formatters/ for more information.")
|
|
181
|
+
|
|
180
182
|
formatter = []
|
|
181
183
|
if (custom_formatter = Scan.config[:xcpretty_formatter] || Scan.config[:formatter])
|
|
182
184
|
if custom_formatter.end_with?(".rb")
|
|
@@ -81,7 +81,10 @@ module Snapshot
|
|
|
81
81
|
|
|
82
82
|
unless launcher_config.headless
|
|
83
83
|
simulator_path = File.join(Helper.xcode_path, 'Applications', 'Simulator.app')
|
|
84
|
-
|
|
84
|
+
device_udid = TestCommandGenerator.device_udid(device_types.first)
|
|
85
|
+
command = "open -a #{simulator_path} -g"
|
|
86
|
+
command += " --args -CurrentDeviceUDID #{device_udid}" if device_udid
|
|
87
|
+
Helper.backticks(command, print: FastlaneCore::Globals.verbose?)
|
|
85
88
|
end
|
|
86
89
|
end
|
|
87
90
|
|
|
@@ -27,6 +27,8 @@ module Spaceship
|
|
|
27
27
|
attr_accessor :loot_box
|
|
28
28
|
attr_accessor :messaging_and_chat
|
|
29
29
|
attr_accessor :parental_controls
|
|
30
|
+
attr_accessor :social_media
|
|
31
|
+
attr_accessor :social_media_age_restricted
|
|
30
32
|
attr_accessor :unrestricted_web_access
|
|
31
33
|
attr_accessor :user_generated_content
|
|
32
34
|
|
|
@@ -96,6 +98,8 @@ module Spaceship
|
|
|
96
98
|
"profanityOrCrudeHumor" => "profanity_or_crude_humor",
|
|
97
99
|
"sexualContentGraphicAndNudity" => "sexual_content_graphic_and_nudity",
|
|
98
100
|
"sexualContentOrNudity" => "sexual_content_or_nudity",
|
|
101
|
+
"socialMedia" => "social_media",
|
|
102
|
+
"socialMediaAgeRestricted" => "social_media_age_restricted",
|
|
99
103
|
"unrestrictedWebAccess" => "unrestricted_web_access",
|
|
100
104
|
"userGeneratedContent" => "user_generated_content",
|
|
101
105
|
"violenceCartoonOrFantasy" => "violence_cartoon_or_fantasy",
|
|
@@ -174,6 +178,8 @@ module Spaceship
|
|
|
174
178
|
"lootBox",
|
|
175
179
|
"messagingAndChat",
|
|
176
180
|
"parentalControls",
|
|
181
|
+
"socialMedia",
|
|
182
|
+
"socialMediaAgeRestricted",
|
|
177
183
|
"unrestrictedWebAccess",
|
|
178
184
|
"userGeneratedContent"
|
|
179
185
|
]
|
|
@@ -32,6 +32,11 @@ module Spaceship
|
|
|
32
32
|
return "betaGroups"
|
|
33
33
|
end
|
|
34
34
|
|
|
35
|
+
# Whether this group is referenced by any of the given identifiers (its name or id)
|
|
36
|
+
def matches_identifiers?(identifiers)
|
|
37
|
+
identifiers.include?(name) || identifiers.include?(id)
|
|
38
|
+
end
|
|
39
|
+
|
|
35
40
|
#
|
|
36
41
|
# API
|
|
37
42
|
#
|
|
@@ -717,9 +717,9 @@ module Spaceship
|
|
|
717
717
|
type: "appInfoLocalizations",
|
|
718
718
|
attributes: attributes,
|
|
719
719
|
relationships: {
|
|
720
|
-
|
|
720
|
+
appInfo: {
|
|
721
721
|
data: {
|
|
722
|
-
type: "
|
|
722
|
+
type: "appInfos",
|
|
723
723
|
id: app_info_id
|
|
724
724
|
}
|
|
725
725
|
}
|
|
@@ -742,6 +742,11 @@ module Spaceship
|
|
|
742
742
|
tunes_request_client.patch("#{Version::V1}/appInfoLocalizations/#{app_info_localization_id}", body)
|
|
743
743
|
end
|
|
744
744
|
|
|
745
|
+
def delete_app_info_localization(app_info_localization_id: nil)
|
|
746
|
+
params = tunes_request_client.build_params(filter: nil, includes: nil, limit: nil, sort: nil)
|
|
747
|
+
tunes_request_client.delete("#{Version::V1}/appInfoLocalizations/#{app_info_localization_id}", params)
|
|
748
|
+
end
|
|
749
|
+
|
|
745
750
|
#
|
|
746
751
|
# appStoreReviewDetails
|
|
747
752
|
#
|
|
@@ -1,16 +1,45 @@
|
|
|
1
|
-
require '
|
|
1
|
+
require 'faraday'
|
|
2
2
|
|
|
3
|
-
module
|
|
4
|
-
class PlistMiddleware <
|
|
5
|
-
|
|
3
|
+
module Spaceship
|
|
4
|
+
class PlistMiddleware < Faraday::Middleware
|
|
5
|
+
def on_complete(env)
|
|
6
|
+
process_response(env) if parse_response?(env)
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
private
|
|
10
|
+
|
|
11
|
+
def process_response(env)
|
|
12
|
+
env.body = parse(env.body)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def parse(body)
|
|
6
16
|
require 'plist' unless Object.const_defined?("Plist")
|
|
17
|
+
Plist.parse_xml(body.force_encoding("UTF-8"))
|
|
18
|
+
rescue StandardError, SyntaxError => e
|
|
19
|
+
raise Faraday::ParsingError.new(e, env)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def parse_response?(env)
|
|
23
|
+
env.body.kind_of?(String) && process_response_type?(env) && env.parse_body?
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def process_response_type?(env)
|
|
27
|
+
type = response_type(env)
|
|
28
|
+
content_types.empty? || content_types.any? do |pattern|
|
|
29
|
+
pattern.kind_of?(Regexp) ? type.match?(pattern) : type == pattern
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def response_type(env)
|
|
34
|
+
type = env.response_headers['Content-Type'].to_s
|
|
35
|
+
type = type.split(';', 2).first if type.index(';')
|
|
36
|
+
type
|
|
7
37
|
end
|
|
8
38
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
Plist.parse_xml(body)
|
|
39
|
+
def content_types
|
|
40
|
+
@content_types ||= Array(options[:content_type])
|
|
12
41
|
end
|
|
13
42
|
end
|
|
14
43
|
end
|
|
15
44
|
|
|
16
|
-
Faraday::Response.register_middleware(plist:
|
|
45
|
+
Faraday::Response.register_middleware(plist: Spaceship::PlistMiddleware)
|
|
@@ -19,9 +19,15 @@ module Supply
|
|
|
19
19
|
|
|
20
20
|
track_to_update = Supply.config[:track]
|
|
21
21
|
|
|
22
|
+
# Capture whether any new binaries were actually uploaded before appending
|
|
23
|
+
# version_codes_to_retain. The branch below uses this flag so that retained
|
|
24
|
+
# codes do not cause a promote-only run to take the upload path.
|
|
25
|
+
# See: https://github.com/fastlane/fastlane/issues/29984
|
|
26
|
+
uploading_new_binaries = !apk_version_codes.empty?
|
|
27
|
+
|
|
22
28
|
apk_version_codes.concat(Supply.config[:version_codes_to_retain]) if Supply.config[:version_codes_to_retain]
|
|
23
29
|
|
|
24
|
-
if
|
|
30
|
+
if uploading_new_binaries
|
|
25
31
|
# Only update tracks if we have version codes
|
|
26
32
|
# update_track handle setting rollout if needed
|
|
27
33
|
# Updating a track with empty version codes can completely clear out a track
|
|
@@ -115,11 +115,30 @@ module Trainer
|
|
|
115
115
|
@retries&.count || 0
|
|
116
116
|
end
|
|
117
117
|
|
|
118
|
-
|
|
118
|
+
# Result of the final attempt (last repetition), or the overall result when there are no retries.
|
|
119
|
+
# When retry attempts are removed, counts should reflect this final outcome rather than the
|
|
120
|
+
# aggregate `@result`, which xcresulttool reports as `Failed` even if the test was skipped on retry.
|
|
121
|
+
def final_result
|
|
122
|
+
@retries && !@retries.empty? ? @retries.last.result : @result
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
def final_failed?
|
|
126
|
+
final_result == 'Failed'
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
def final_skipped?
|
|
130
|
+
final_result == 'Skipped'
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
def total_tests_count(output_remove_retry_attempts: false)
|
|
134
|
+
return 1 if output_remove_retry_attempts
|
|
135
|
+
|
|
119
136
|
retries_count > 0 ? retries_count : 1
|
|
120
137
|
end
|
|
121
138
|
|
|
122
|
-
def total_failures_count
|
|
139
|
+
def total_failures_count(output_remove_retry_attempts: false)
|
|
140
|
+
return final_failed? ? 1 : 0 if output_remove_retry_attempts
|
|
141
|
+
|
|
123
142
|
if retries_count > 0
|
|
124
143
|
@retries.count(&:failed?)
|
|
125
144
|
elsif failed?
|
|
@@ -40,7 +40,7 @@ module Trainer
|
|
|
40
40
|
# Allows iteration over test suites. Used by TestParser to collect test results
|
|
41
41
|
include Enumerable
|
|
42
42
|
def each(&block)
|
|
43
|
-
test_suites.map(
|
|
43
|
+
test_suites.map { |suite| suite.to_hash(output_remove_retry_attempts: output_remove_retry_attempts) }.each(&block)
|
|
44
44
|
end
|
|
45
45
|
|
|
46
46
|
# Generates a JUnit-compatible XML representation of the test plan
|
|
@@ -49,8 +49,8 @@ module Trainer
|
|
|
49
49
|
# Create the root testsuites element with calculated summary attributes
|
|
50
50
|
testsuites = Helper.create_xml_element('testsuites',
|
|
51
51
|
tests: test_suites.sum(&:test_cases_count).to_s,
|
|
52
|
-
failures: test_suites.sum(
|
|
53
|
-
skipped: test_suites.sum(
|
|
52
|
+
failures: test_suites.sum { |suite| suite.failures_count(output_remove_retry_attempts: output_remove_retry_attempts) }.to_s,
|
|
53
|
+
skipped: test_suites.sum { |suite| suite.skipped_count(output_remove_retry_attempts: output_remove_retry_attempts) }.to_s,
|
|
54
54
|
time: test_suites.sum(&:duration).to_s)
|
|
55
55
|
|
|
56
56
|
# Create <properties> node for configuration and device, to be applied to each suite node
|
|
@@ -58,38 +58,47 @@ module Trainer
|
|
|
58
58
|
@test_cases_count ||= @test_cases.count + @sub_suites.sum(&:test_cases_count)
|
|
59
59
|
end
|
|
60
60
|
|
|
61
|
-
|
|
62
|
-
|
|
61
|
+
# When output_remove_retry_attempts is true, counts reflect each test case's final attempt
|
|
62
|
+
# only (matching the trimmed JUnit output), so a test that failed then was skipped on retry
|
|
63
|
+
# is no longer counted as a failure.
|
|
64
|
+
def failures_count(output_remove_retry_attempts: false)
|
|
65
|
+
predicate = output_remove_retry_attempts ? :final_failed? : :failed?
|
|
66
|
+
@test_cases.count(&predicate) +
|
|
67
|
+
@sub_suites.sum { |suite| suite.failures_count(output_remove_retry_attempts: output_remove_retry_attempts) }
|
|
63
68
|
end
|
|
64
69
|
|
|
65
|
-
def skipped_count
|
|
66
|
-
|
|
70
|
+
def skipped_count(output_remove_retry_attempts: false)
|
|
71
|
+
predicate = output_remove_retry_attempts ? :final_skipped? : :skipped?
|
|
72
|
+
@test_cases.count(&predicate) +
|
|
73
|
+
@sub_suites.sum { |suite| suite.skipped_count(output_remove_retry_attempts: output_remove_retry_attempts) }
|
|
67
74
|
end
|
|
68
75
|
|
|
69
|
-
def total_tests_count
|
|
70
|
-
@test_cases.sum(
|
|
71
|
-
@sub_suites.sum(
|
|
76
|
+
def total_tests_count(output_remove_retry_attempts: false)
|
|
77
|
+
@test_cases.sum { |test_case| test_case.total_tests_count(output_remove_retry_attempts: output_remove_retry_attempts) } +
|
|
78
|
+
@sub_suites.sum { |suite| suite.total_tests_count(output_remove_retry_attempts: output_remove_retry_attempts) }
|
|
72
79
|
end
|
|
73
80
|
|
|
74
|
-
def total_failures_count
|
|
75
|
-
@test_cases.sum(
|
|
76
|
-
@sub_suites.sum(
|
|
81
|
+
def total_failures_count(output_remove_retry_attempts: false)
|
|
82
|
+
@test_cases.sum { |test_case| test_case.total_failures_count(output_remove_retry_attempts: output_remove_retry_attempts) } +
|
|
83
|
+
@sub_suites.sum { |suite| suite.total_failures_count(output_remove_retry_attempts: output_remove_retry_attempts) }
|
|
77
84
|
end
|
|
78
85
|
|
|
79
|
-
def total_retries_count
|
|
86
|
+
def total_retries_count(output_remove_retry_attempts: false)
|
|
87
|
+
return 0 if output_remove_retry_attempts
|
|
88
|
+
|
|
80
89
|
@test_cases.sum(&:retries_count) +
|
|
81
90
|
@sub_suites.sum(&:total_retries_count)
|
|
82
91
|
end
|
|
83
92
|
|
|
84
93
|
# Hash representation used by TestParser to collect test results
|
|
85
|
-
def to_hash
|
|
94
|
+
def to_hash(output_remove_retry_attempts: false)
|
|
86
95
|
{
|
|
87
|
-
number_of_tests: total_tests_count,
|
|
88
|
-
number_of_failures: total_failures_count,
|
|
96
|
+
number_of_tests: total_tests_count(output_remove_retry_attempts: output_remove_retry_attempts),
|
|
97
|
+
number_of_failures: total_failures_count(output_remove_retry_attempts: output_remove_retry_attempts),
|
|
89
98
|
number_of_tests_excluding_retries: test_cases_count,
|
|
90
|
-
number_of_failures_excluding_retries: failures_count,
|
|
91
|
-
number_of_retries: total_retries_count,
|
|
92
|
-
number_of_skipped: skipped_count
|
|
99
|
+
number_of_failures_excluding_retries: failures_count(output_remove_retry_attempts: output_remove_retry_attempts),
|
|
100
|
+
number_of_retries: total_retries_count(output_remove_retry_attempts: output_remove_retry_attempts),
|
|
101
|
+
number_of_skipped: skipped_count(output_remove_retry_attempts: output_remove_retry_attempts)
|
|
93
102
|
}
|
|
94
103
|
end
|
|
95
104
|
|
|
@@ -100,8 +109,8 @@ module Trainer
|
|
|
100
109
|
name: @name,
|
|
101
110
|
time: duration.to_s,
|
|
102
111
|
tests: test_cases_count.to_s,
|
|
103
|
-
failures: failures_count.to_s,
|
|
104
|
-
skipped: skipped_count.to_s)
|
|
112
|
+
failures: failures_count(output_remove_retry_attempts: output_remove_retry_attempts).to_s,
|
|
113
|
+
skipped: skipped_count(output_remove_retry_attempts: output_remove_retry_attempts).to_s)
|
|
105
114
|
|
|
106
115
|
# Add test cases
|
|
107
116
|
@test_cases.each do |test_case|
|
metadata
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: fastlane
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.238.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
|
-
- Manish Rathi
|
|
8
|
-
- Max Ott
|
|
9
|
-
- Jan Piotrowski
|
|
10
|
-
- Matthew Ellis
|
|
11
|
-
- Maksym Grebenets
|
|
12
|
-
- Felix Krause
|
|
13
|
-
- Jimmy Dee
|
|
14
7
|
- Łukasz Grabowski
|
|
15
|
-
- Helmut Januschka
|
|
16
8
|
- Jérôme Lacoste
|
|
9
|
+
- Felix Krause
|
|
10
|
+
- Joshua Liebowitz
|
|
11
|
+
- Roger Oba
|
|
12
|
+
- Olivier Halligon
|
|
13
|
+
- Helmut Januschka
|
|
17
14
|
- Connor Tumbleson
|
|
18
|
-
-
|
|
15
|
+
- Josh Holtz
|
|
16
|
+
- Max Ott
|
|
19
17
|
- Satoshi Namai
|
|
20
|
-
- Roger Oba
|
|
21
18
|
- Jorge Revuelta H
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
-
|
|
19
|
+
- Aaron Brager
|
|
20
|
+
- Luka Mirosevic
|
|
21
|
+
- Kohki Miki
|
|
25
22
|
- Stefan Natchev
|
|
23
|
+
- Andrew McBurney
|
|
26
24
|
- Fumiya Nakamura
|
|
27
|
-
- Olivier Halligon
|
|
28
|
-
- Danielle Tomlinson
|
|
29
25
|
- Iulian Onofrei
|
|
26
|
+
- Danielle Tomlinson
|
|
30
27
|
- Manu Wallner
|
|
31
|
-
-
|
|
32
|
-
-
|
|
33
|
-
-
|
|
28
|
+
- Daniel Jankowski
|
|
29
|
+
- Jan Piotrowski
|
|
30
|
+
- Matthew Ellis
|
|
31
|
+
- Jimmy Dee
|
|
32
|
+
- Maksym Grebenets
|
|
33
|
+
- Manish Rathi
|
|
34
34
|
autorequire:
|
|
35
35
|
bindir: bin
|
|
36
36
|
cert_chain: []
|
|
37
|
-
date: 2026-
|
|
37
|
+
date: 2026-08-12 00:00:00.000000000 Z
|
|
38
38
|
dependencies:
|
|
39
39
|
- !ruby/object:Gem::Dependency
|
|
40
40
|
name: addressable
|
|
@@ -42,7 +42,7 @@ dependencies:
|
|
|
42
42
|
requirements:
|
|
43
43
|
- - ">="
|
|
44
44
|
- !ruby/object:Gem::Version
|
|
45
|
-
version:
|
|
45
|
+
version: 2.9.0
|
|
46
46
|
- - "<"
|
|
47
47
|
- !ruby/object:Gem::Version
|
|
48
48
|
version: 3.0.0
|
|
@@ -52,7 +52,7 @@ dependencies:
|
|
|
52
52
|
requirements:
|
|
53
53
|
- - ">="
|
|
54
54
|
- !ruby/object:Gem::Version
|
|
55
|
-
version:
|
|
55
|
+
version: 2.9.0
|
|
56
56
|
- - "<"
|
|
57
57
|
- !ruby/object:Gem::Version
|
|
58
58
|
version: 3.0.0
|
|
@@ -221,7 +221,7 @@ dependencies:
|
|
|
221
221
|
version: 0.71.0
|
|
222
222
|
- - "<"
|
|
223
223
|
- !ruby/object:Gem::Version
|
|
224
|
-
version:
|
|
224
|
+
version: 2.0.0
|
|
225
225
|
type: :runtime
|
|
226
226
|
prerelease: false
|
|
227
227
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -231,37 +231,51 @@ dependencies:
|
|
|
231
231
|
version: 0.71.0
|
|
232
232
|
- - "<"
|
|
233
233
|
- !ruby/object:Gem::Version
|
|
234
|
-
version:
|
|
234
|
+
version: 2.0.0
|
|
235
235
|
- !ruby/object:Gem::Dependency
|
|
236
|
-
name:
|
|
236
|
+
name: faraday
|
|
237
237
|
requirement: !ruby/object:Gem::Requirement
|
|
238
238
|
requirements:
|
|
239
239
|
- - "~>"
|
|
240
240
|
- !ruby/object:Gem::Version
|
|
241
|
-
version: '
|
|
241
|
+
version: '2.7'
|
|
242
242
|
type: :runtime
|
|
243
243
|
prerelease: false
|
|
244
244
|
version_requirements: !ruby/object:Gem::Requirement
|
|
245
245
|
requirements:
|
|
246
246
|
- - "~>"
|
|
247
247
|
- !ruby/object:Gem::Version
|
|
248
|
-
version: '
|
|
248
|
+
version: '2.7'
|
|
249
249
|
- !ruby/object:Gem::Dependency
|
|
250
250
|
name: faraday-cookie_jar
|
|
251
251
|
requirement: !ruby/object:Gem::Requirement
|
|
252
252
|
requirements:
|
|
253
253
|
- - "~>"
|
|
254
254
|
- !ruby/object:Gem::Version
|
|
255
|
-
version: 0.0.
|
|
255
|
+
version: 0.0.8
|
|
256
256
|
type: :runtime
|
|
257
257
|
prerelease: false
|
|
258
258
|
version_requirements: !ruby/object:Gem::Requirement
|
|
259
259
|
requirements:
|
|
260
260
|
- - "~>"
|
|
261
261
|
- !ruby/object:Gem::Version
|
|
262
|
-
version: 0.0.
|
|
262
|
+
version: 0.0.8
|
|
263
263
|
- !ruby/object:Gem::Dependency
|
|
264
|
-
name: faraday
|
|
264
|
+
name: faraday-follow_redirects
|
|
265
|
+
requirement: !ruby/object:Gem::Requirement
|
|
266
|
+
requirements:
|
|
267
|
+
- - "~>"
|
|
268
|
+
- !ruby/object:Gem::Version
|
|
269
|
+
version: '0.3'
|
|
270
|
+
type: :runtime
|
|
271
|
+
prerelease: false
|
|
272
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
273
|
+
requirements:
|
|
274
|
+
- - "~>"
|
|
275
|
+
- !ruby/object:Gem::Version
|
|
276
|
+
version: '0.3'
|
|
277
|
+
- !ruby/object:Gem::Dependency
|
|
278
|
+
name: faraday-multipart
|
|
265
279
|
requirement: !ruby/object:Gem::Requirement
|
|
266
280
|
requirements:
|
|
267
281
|
- - "~>"
|
|
@@ -274,6 +288,20 @@ dependencies:
|
|
|
274
288
|
- - "~>"
|
|
275
289
|
- !ruby/object:Gem::Version
|
|
276
290
|
version: '1.0'
|
|
291
|
+
- !ruby/object:Gem::Dependency
|
|
292
|
+
name: faraday-retry
|
|
293
|
+
requirement: !ruby/object:Gem::Requirement
|
|
294
|
+
requirements:
|
|
295
|
+
- - "~>"
|
|
296
|
+
- !ruby/object:Gem::Version
|
|
297
|
+
version: '2.0'
|
|
298
|
+
type: :runtime
|
|
299
|
+
prerelease: false
|
|
300
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
301
|
+
requirements:
|
|
302
|
+
- - "~>"
|
|
303
|
+
- !ruby/object:Gem::Version
|
|
304
|
+
version: '2.0'
|
|
277
305
|
- !ruby/object:Gem::Dependency
|
|
278
306
|
name: fastimage
|
|
279
307
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -634,14 +662,14 @@ dependencies:
|
|
|
634
662
|
requirements:
|
|
635
663
|
- - "~>"
|
|
636
664
|
- !ruby/object:Gem::Version
|
|
637
|
-
version: '
|
|
665
|
+
version: '4'
|
|
638
666
|
type: :runtime
|
|
639
667
|
prerelease: false
|
|
640
668
|
version_requirements: !ruby/object:Gem::Requirement
|
|
641
669
|
requirements:
|
|
642
670
|
- - "~>"
|
|
643
671
|
- !ruby/object:Gem::Version
|
|
644
|
-
version: '
|
|
672
|
+
version: '4'
|
|
645
673
|
- !ruby/object:Gem::Dependency
|
|
646
674
|
name: tty-screen
|
|
647
675
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -820,6 +848,20 @@ dependencies:
|
|
|
820
848
|
- - "~>"
|
|
821
849
|
- !ruby/object:Gem::Version
|
|
822
850
|
version: '0.2'
|
|
851
|
+
- !ruby/object:Gem::Dependency
|
|
852
|
+
name: irb
|
|
853
|
+
requirement: !ruby/object:Gem::Requirement
|
|
854
|
+
requirements:
|
|
855
|
+
- - ">="
|
|
856
|
+
- !ruby/object:Gem::Version
|
|
857
|
+
version: '1.8'
|
|
858
|
+
type: :runtime
|
|
859
|
+
prerelease: false
|
|
860
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
861
|
+
requirements:
|
|
862
|
+
- - ">="
|
|
863
|
+
- !ruby/object:Gem::Version
|
|
864
|
+
version: '1.8'
|
|
823
865
|
- !ruby/object:Gem::Dependency
|
|
824
866
|
name: logger
|
|
825
867
|
requirement: !ruby/object:Gem::Requirement
|