fastlane 2.135.0 → 2.138.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 +78 -78
- data/fastlane/lib/fastlane/actions/app_store_build_number.rb +1 -1
- data/fastlane/lib/fastlane/actions/docs/capture_android_screenshots.md +38 -4
- data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +19 -0
- data/fastlane/lib/fastlane/actions/docs/upload_to_play_store.md +4 -2
- data/fastlane/lib/fastlane/actions/ensure_bundle_exec.rb +3 -3
- data/fastlane/lib/fastlane/actions/get_version_number.rb +7 -2
- data/fastlane/lib/fastlane/actions/google_play_track_version_codes.rb +5 -1
- data/fastlane/lib/fastlane/actions/gradle.rb +11 -1
- data/fastlane/lib/fastlane/actions/increment_version_number.rb +6 -3
- data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +2 -2
- data/fastlane/lib/fastlane/actions/register_devices.rb +5 -1
- data/fastlane/lib/fastlane/actions/ruby_version.rb +1 -1
- data/fastlane/lib/fastlane/actions/testfairy.rb +8 -1
- data/fastlane/lib/fastlane/actions/verify_build.rb +1 -1
- data/fastlane/lib/fastlane/actions/xcode_select.rb +6 -1
- data/fastlane/lib/fastlane/cli_tools_distributor.rb +2 -2
- data/fastlane/lib/fastlane/commands_generator.rb +1 -1
- data/fastlane/lib/fastlane/helper/adb_helper.rb +13 -4
- data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +1 -0
- data/fastlane/lib/fastlane/swift_fastlane_function.rb +9 -0
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/Fastlane.swift +47 -17
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/MatchfileProtocol.swift +6 -2
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/Screengrabfile.swift +1 -1
- data/fastlane/swift/ScreengrabfileProtocol.swift +14 -2
- data/fastlane/swift/Snapshotfile.swift +1 -1
- data/fastlane_core/lib/fastlane_core/helper.rb +1 -1
- data/match/lib/match/options.rb +8 -0
- data/match/lib/match/runner.rb +1 -0
- data/match/lib/match/storage/git_storage.rb +7 -2
- data/screengrab/lib/screengrab/module.rb +2 -0
- data/screengrab/lib/screengrab/options.rb +24 -11
- data/screengrab/lib/screengrab/runner.rb +79 -42
- data/spaceship/lib/spaceship/client.rb +9 -4
- data/spaceship/lib/spaceship/connect_api.rb +2 -0
- data/spaceship/lib/spaceship/connect_api/models/app.rb +11 -0
- data/spaceship/lib/spaceship/connect_api/models/beta_feedback.rb +71 -0
- data/spaceship/lib/spaceship/connect_api/models/beta_screenshot.rb +18 -0
- data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +9 -0
- data/spaceship/lib/spaceship/tunes/tunes_client.rb +2 -5
- data/supply/lib/supply/client.rb +1 -0
- data/supply/lib/supply/options.rb +9 -2
- data/supply/lib/supply/uploader.rb +63 -39
- metadata +22 -24
- data/gym/lib/gym/.module.rb.swp +0 -0
- data/supply/lib/supply/.client.rb.swp +0 -0
- data/supply/lib/supply/.options.rb.swp +0 -0
- data/supply/lib/supply/.uploader.rb.swp +0 -0
@@ -563,10 +563,15 @@ module Spaceship
|
|
563
563
|
#####################################################
|
564
564
|
|
565
565
|
def load_session_from_file
|
566
|
-
|
567
|
-
|
568
|
-
|
569
|
-
|
566
|
+
begin
|
567
|
+
if File.exist?(persistent_cookie_path)
|
568
|
+
puts("Loading session from '#{persistent_cookie_path}'") if Spaceship::Globals.verbose?
|
569
|
+
@cookie.load(persistent_cookie_path)
|
570
|
+
return true
|
571
|
+
end
|
572
|
+
rescue => ex
|
573
|
+
puts(ex.to_s)
|
574
|
+
puts("Continuing with normal login.")
|
570
575
|
end
|
571
576
|
return false
|
572
577
|
end
|
@@ -20,7 +20,9 @@ require 'spaceship/connect_api/models/beta_build_localization'
|
|
20
20
|
require 'spaceship/connect_api/models/beta_build_metric'
|
21
21
|
require 'spaceship/connect_api/models/beta_app_review_detail'
|
22
22
|
require 'spaceship/connect_api/models/beta_app_review_submission'
|
23
|
+
require 'spaceship/connect_api/models/beta_feedback'
|
23
24
|
require 'spaceship/connect_api/models/beta_group'
|
25
|
+
require 'spaceship/connect_api/models/beta_screenshot'
|
24
26
|
require 'spaceship/connect_api/models/beta_tester'
|
25
27
|
require 'spaceship/connect_api/models/beta_tester_metric'
|
26
28
|
require 'spaceship/connect_api/models/build'
|
@@ -45,6 +45,17 @@ module Spaceship
|
|
45
45
|
return Spaceship::ConnectAPI.get_app(app_id: app_id, includes: includes).first
|
46
46
|
end
|
47
47
|
|
48
|
+
#
|
49
|
+
# Beta Feedback
|
50
|
+
|
51
|
+
def get_beta_feedback(filter: {}, includes: "tester,build,screenshots", limit: nil, sort: nil)
|
52
|
+
filter ||= {}
|
53
|
+
filter["build.app"] = id
|
54
|
+
|
55
|
+
resps = Spaceship::ConnectAPI.get_beta_feedback(filter: filter, includes: includes, limit: limit, sort: sort).all_pages
|
56
|
+
return resps.flat_map(&:to_models)
|
57
|
+
end
|
58
|
+
|
48
59
|
#
|
49
60
|
# Beta Testers
|
50
61
|
#
|
@@ -0,0 +1,71 @@
|
|
1
|
+
require_relative '../model'
|
2
|
+
module Spaceship
|
3
|
+
class ConnectAPI
|
4
|
+
class BetaFeedback
|
5
|
+
include Spaceship::ConnectAPI::Model
|
6
|
+
|
7
|
+
attr_accessor :timestamp
|
8
|
+
attr_accessor :comment
|
9
|
+
attr_accessor :email_address
|
10
|
+
attr_accessor :device_model
|
11
|
+
attr_accessor :os_version
|
12
|
+
attr_accessor :bookmarked
|
13
|
+
attr_accessor :locale
|
14
|
+
attr_accessor :carrier
|
15
|
+
attr_accessor :timezone
|
16
|
+
attr_accessor :architecture
|
17
|
+
attr_accessor :connection_status
|
18
|
+
attr_accessor :paired_apple_watch
|
19
|
+
attr_accessor :app_up_time_millis
|
20
|
+
attr_accessor :available_disk_bytes
|
21
|
+
attr_accessor :total_disk_bytes
|
22
|
+
attr_accessor :network_type
|
23
|
+
attr_accessor :battery_percentage
|
24
|
+
attr_accessor :screen_width
|
25
|
+
attr_accessor :screen_height
|
26
|
+
|
27
|
+
attr_accessor :build
|
28
|
+
attr_accessor :tester
|
29
|
+
attr_accessor :screenshots
|
30
|
+
|
31
|
+
attr_mapping({
|
32
|
+
"timestamp" => "timestamp",
|
33
|
+
"comment" => "comment",
|
34
|
+
"emailAddress" => "email_address",
|
35
|
+
"contactEmail" => "contact_email",
|
36
|
+
"deviceModel" => "device_model",
|
37
|
+
"osVersion" => "os_version",
|
38
|
+
"bookmarked" => "bookmarked",
|
39
|
+
"locale" => "locale",
|
40
|
+
"carrier" => "carrier",
|
41
|
+
"timezone" => "timezone",
|
42
|
+
"architecture" => "architecture",
|
43
|
+
"connectionStatus" => "connection_status",
|
44
|
+
"pairedAppleWatch" => "paired_apple_watch",
|
45
|
+
"appUpTimeMillis" => "app_up_time_millis",
|
46
|
+
"availableDiskBytes" => "available_disk_bytes",
|
47
|
+
"totalDiskBytes" => "total_disk_bytes",
|
48
|
+
"networkType" => "network_type",
|
49
|
+
"batteryPercentage" => "battery_percentage",
|
50
|
+
"screenWidth" => "screen_width",
|
51
|
+
"screenHeight" => "screen_height",
|
52
|
+
|
53
|
+
"build" => "build",
|
54
|
+
"tester" => "tester",
|
55
|
+
"screenshots" => "screenshots"
|
56
|
+
})
|
57
|
+
|
58
|
+
def self.type
|
59
|
+
return "betaFeedbacks"
|
60
|
+
end
|
61
|
+
|
62
|
+
#
|
63
|
+
# API
|
64
|
+
#
|
65
|
+
|
66
|
+
def self.all(filter: {}, includes: "tester,build,screenshots", limit: nil, sort: nil)
|
67
|
+
return Spaceship::ConnectAPI.get_beta_feedback(filter: filter, includes: includes, limit: limit, sort: sort)
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require_relative '../model'
|
2
|
+
module Spaceship
|
3
|
+
class ConnectAPI
|
4
|
+
class BetaScreenshot
|
5
|
+
include Spaceship::ConnectAPI::Model
|
6
|
+
|
7
|
+
attr_accessor :image_assets
|
8
|
+
|
9
|
+
attr_mapping({
|
10
|
+
"imageAssets" => "image_assets"
|
11
|
+
})
|
12
|
+
|
13
|
+
def self.type
|
14
|
+
return "betaScreenshots"
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -317,6 +317,15 @@ module Spaceship
|
|
317
317
|
params = Client.instance.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
|
318
318
|
Client.instance.get("preReleaseVersions", params)
|
319
319
|
end
|
320
|
+
|
321
|
+
#
|
322
|
+
# betaFeedbacks (private API as of end 2019)
|
323
|
+
#
|
324
|
+
|
325
|
+
def get_beta_feedback(filter: {}, includes: nil, limit: nil, sort: nil)
|
326
|
+
params = Client.instance.build_params(filter: filter, includes: includes, limit: limit, sort: sort)
|
327
|
+
Client.instance.get("betaFeedbacks", params)
|
328
|
+
end
|
320
329
|
end
|
321
330
|
end
|
322
331
|
end
|
@@ -784,11 +784,8 @@ module Spaceship
|
|
784
784
|
end
|
785
785
|
|
786
786
|
def available_languages
|
787
|
-
r = request(:get, "ra/
|
788
|
-
|
789
|
-
response.flat_map { |region| region["storeFronts"] }
|
790
|
-
.flat_map { |storefront| storefront["supportedLocaleCodes"] }
|
791
|
-
.uniq
|
787
|
+
r = request(:get, "ra/ref")
|
788
|
+
parse_response(r, 'data')['detailLocales']
|
792
789
|
end
|
793
790
|
|
794
791
|
#####################################################
|
data/supply/lib/supply/client.rb
CHANGED
@@ -345,6 +345,7 @@ module Supply
|
|
345
345
|
ensure_active_edit!
|
346
346
|
|
347
347
|
all_tracks = call_google_api { client.list_edit_tracks(current_package_name, current_edit.id) }.tracks
|
348
|
+
all_tracks = [] unless all_tracks
|
348
349
|
|
349
350
|
if tracknames.length > 0
|
350
351
|
all_tracks = all_tracks.select { |track| tracknames.include?(track.track) }
|
@@ -24,6 +24,7 @@ module Supply
|
|
24
24
|
env_name: "SUPPLY_VERSION_CODE",
|
25
25
|
short_option: "-C",
|
26
26
|
optional: true,
|
27
|
+
type: Integer,
|
27
28
|
description: "Version code (used when updating rollout or promoting specific versions)",
|
28
29
|
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:version_code),
|
29
30
|
default_value_dynamic: true),
|
@@ -42,7 +43,10 @@ module Supply
|
|
42
43
|
env_name: "SUPPLY_TRACK",
|
43
44
|
description: "The track of the application to use. The default available tracks are: #{Supply::Tracks::DEFAULTS.join(', ')}",
|
44
45
|
default_value: Supply::Tracks::DEFAULT,
|
45
|
-
type: String
|
46
|
+
type: String,
|
47
|
+
verify_block: proc do |value|
|
48
|
+
UI.user_error!("'rollout' is no longer a valid track name - please use 'production' instead") if value.casecmp('rollout').zero?
|
49
|
+
end),
|
46
50
|
FastlaneCore::ConfigItem.new(key: :rollout,
|
47
51
|
short_option: "-r",
|
48
52
|
description: "The percentage of the user fraction when uploading to the rollout track",
|
@@ -207,7 +211,10 @@ module Supply
|
|
207
211
|
FastlaneCore::ConfigItem.new(key: :track_promote_to,
|
208
212
|
env_name: "SUPPLY_TRACK_PROMOTE_TO",
|
209
213
|
optional: true,
|
210
|
-
description: "The track to promote to. The default available tracks are: #{Supply::Tracks::DEFAULTS.join(', ')}"
|
214
|
+
description: "The track to promote to. The default available tracks are: #{Supply::Tracks::DEFAULTS.join(', ')}",
|
215
|
+
verify_block: proc do |value|
|
216
|
+
UI.user_error!("'rollout' is no longer a valid track name - please use 'production' instead") if value.casecmp('rollout').zero?
|
217
|
+
end),
|
211
218
|
FastlaneCore::ConfigItem.new(key: :validate_only,
|
212
219
|
env_name: "SUPPLY_VALIDATE_ONLY",
|
213
220
|
optional: true,
|
@@ -1,4 +1,5 @@
|
|
1
1
|
module Supply
|
2
|
+
# rubocop:disable Metrics/ClassLength
|
2
3
|
class Uploader
|
3
4
|
def perform_upload
|
4
5
|
FastlaneCore::PrintTable.print_values(config: Supply.config, hide_keys: [:issuer], mask_keys: [:json_key_data], title: "Summary for supply #{Fastlane::VERSION}")
|
@@ -14,40 +15,47 @@ module Supply
|
|
14
15
|
|
15
16
|
apk_version_codes.concat(Supply.config[:version_codes_to_retain]) if Supply.config[:version_codes_to_retain]
|
16
17
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
18
|
+
if !apk_version_codes.empty?
|
19
|
+
# Only update tracks if we have version codes
|
20
|
+
# update_track handle setting rollout if needed
|
21
|
+
# Updating a track with empty version codes can completely clear out a track
|
22
|
+
update_track(apk_version_codes)
|
23
|
+
else
|
24
|
+
# Only promote or rollout if we don't have version codes
|
25
|
+
if Supply.config[:track_promote_to]
|
26
|
+
promote_track
|
27
|
+
elsif !Supply.config[:rollout].nil? && Supply.config[:track].to_s != ""
|
28
|
+
update_rollout
|
29
|
+
end
|
23
30
|
end
|
24
31
|
|
25
|
-
|
32
|
+
perform_upload_meta(apk_version_codes)
|
26
33
|
|
27
34
|
if Supply.config[:validate_only]
|
28
|
-
UI.message("Validating all
|
35
|
+
UI.message("Validating all changes with Google Play...")
|
29
36
|
client.validate_current_edit!
|
30
37
|
UI.success("Successfully validated the upload to Google Play")
|
31
38
|
else
|
32
|
-
UI.message("Uploading all
|
39
|
+
UI.message("Uploading all changes to Google Play...")
|
33
40
|
client.commit_current_edit!
|
34
41
|
UI.success("Successfully finished the upload to Google Play")
|
35
42
|
end
|
36
|
-
|
37
|
-
perform_upload_meta(apk_version_codes)
|
38
43
|
end
|
39
44
|
|
40
45
|
def perform_upload_meta(version_codes)
|
41
|
-
client.begin_edit(package_name: Supply.config[:package_name])
|
42
|
-
|
43
46
|
if (!Supply.config[:skip_upload_metadata] || !Supply.config[:skip_upload_images] || !Supply.config[:skip_upload_changelogs] || !Supply.config[:skip_upload_screenshots]) && metadata_path
|
47
|
+
# Use version code from config if version codes is empty and no nil or empty string
|
44
48
|
version_codes = [Supply.config[:version_code]] if version_codes.empty?
|
49
|
+
version_codes = version_codes.reject do |version_code|
|
50
|
+
version_codes.to_s == ""
|
51
|
+
end
|
52
|
+
|
45
53
|
version_codes.each do |version_code|
|
46
54
|
UI.user_error!("Could not find folder #{metadata_path}") unless File.directory?(metadata_path)
|
47
55
|
|
48
56
|
track, release = fetch_track_and_release!(Supply.config[:track], version_code)
|
49
57
|
UI.user_error!("Unable to find the requested track - '#{Supply.config[:track]}'") unless track
|
50
|
-
UI.user_error!("
|
58
|
+
UI.user_error!("Could not find release for version code '#{version_code}' to update changelog") unless release
|
51
59
|
|
52
60
|
release_notes = []
|
53
61
|
all_languages.each do |language|
|
@@ -59,22 +67,12 @@ module Supply
|
|
59
67
|
upload_metadata(language, listing) unless Supply.config[:skip_upload_metadata]
|
60
68
|
upload_images(language) unless Supply.config[:skip_upload_images]
|
61
69
|
upload_screenshots(language) unless Supply.config[:skip_upload_screenshots]
|
62
|
-
release_notes << upload_changelog(language,
|
70
|
+
release_notes << upload_changelog(language, version_code) unless Supply.config[:skip_upload_changelogs]
|
63
71
|
end
|
64
72
|
|
65
73
|
upload_changelogs(release_notes, release, track) unless release_notes.empty?
|
66
74
|
end
|
67
75
|
end
|
68
|
-
|
69
|
-
if Supply.config[:validate_only]
|
70
|
-
UI.message("Validating all meta changes with Google Play...")
|
71
|
-
client.validate_current_edit!
|
72
|
-
UI.success("Successfully validated the upload to Google Play")
|
73
|
-
else
|
74
|
-
UI.message("Uploading all meta changes to Google Play...")
|
75
|
-
client.commit_current_edit!
|
76
|
-
UI.success("Successfully finished the upload to Google Play")
|
77
|
-
end
|
78
76
|
end
|
79
77
|
|
80
78
|
def fetch_track_and_release!(track, version_code, status = nil)
|
@@ -83,23 +81,25 @@ module Supply
|
|
83
81
|
|
84
82
|
track = tracks.first
|
85
83
|
releases = track.releases
|
84
|
+
|
86
85
|
releases = releases.select { |r| r.status == status } if status
|
86
|
+
releases = releases.select { |r| r.version_codes.map(&:to_s).include?(version_code.to_s) } if version_code
|
87
87
|
|
88
88
|
if releases.size > 1
|
89
89
|
UI.user_error!("More than one release found in this track. Please specify with the :version_code option to select a release.")
|
90
90
|
end
|
91
91
|
|
92
|
-
|
93
|
-
|
94
|
-
return track, release
|
92
|
+
return track, releases.first
|
95
93
|
end
|
96
94
|
|
97
95
|
def update_rollout
|
98
96
|
track, release = fetch_track_and_release!(Supply.config[:track], Supply.config[:version_code], Supply::ReleaseStatus::IN_PROGRESS)
|
97
|
+
UI.user_error!("Unable to find the requested track - '#{Supply.config[:track]}'") unless track
|
98
|
+
UI.user_error!("Unable to find the requested release on track - '#{Supply.config[:track]}'") unless release
|
99
|
+
|
99
100
|
version_code = release.version_codes.first
|
100
101
|
|
101
102
|
UI.message("Updating #{version_code}'s rollout to '#{Supply.config[:rollout]}' on track '#{Supply.config[:track]}'...")
|
102
|
-
UI.user_error!("Unable to find the requested track - '#{Supply.config[:track]}'") unless track
|
103
103
|
|
104
104
|
if track && release
|
105
105
|
completed = Supply.config[:rollout].to_f == 1
|
@@ -107,7 +107,7 @@ module Supply
|
|
107
107
|
release.status = Supply::ReleaseStatus::COMPLETED if completed
|
108
108
|
|
109
109
|
# Deleted other version codes if completed because only allowed on completed version in a release
|
110
|
-
track.releases.delete_if { |r| !(r.version_codes || []).include?(version_code) } if completed
|
110
|
+
track.releases.delete_if { |r| !(r.version_codes || []).map(&:to_s).include?(version_code) } if completed
|
111
111
|
else
|
112
112
|
UI.user_error!("Unable to find version to rollout in track '#{Supply.config[:track]}'")
|
113
113
|
end
|
@@ -129,7 +129,7 @@ module Supply
|
|
129
129
|
UI.user_error!("Cannot provide both apk(s) and aab - use `skip_upload_apk`, `skip_upload_aab`, or make sure to remove any existing .apk or .aab files that are no longer needed")
|
130
130
|
end
|
131
131
|
|
132
|
-
if Supply.config[:release_status] ==
|
132
|
+
if Supply.config[:release_status] == Supply::ReleaseStatus::DRAFT && Supply.config[:rollout]
|
133
133
|
UI.user_error!(%(Cannot specify rollout percentage when the release status is set to 'draft'))
|
134
134
|
end
|
135
135
|
|
@@ -147,7 +147,11 @@ module Supply
|
|
147
147
|
releases = track_from.releases
|
148
148
|
if Supply.config[:version_code].to_s != ""
|
149
149
|
releases = releases.select do |release|
|
150
|
-
release.version_codes.include?(Supply.config[:version_code])
|
150
|
+
release.version_codes.include?(Supply.config[:version_code].to_s)
|
151
|
+
end
|
152
|
+
else
|
153
|
+
releases = releases.select do |release|
|
154
|
+
release.status == Supply::ReleaseStatus::COMPLETED
|
151
155
|
end
|
152
156
|
end
|
153
157
|
|
@@ -157,9 +161,17 @@ module Supply
|
|
157
161
|
UI.user_error!("Track '#{Supply.config[:track]}' has more than one release - use :version_code to filter the release to promote")
|
158
162
|
end
|
159
163
|
|
160
|
-
release =
|
164
|
+
release = releases.first
|
161
165
|
track_to = client.tracks(Supply.config[:track_promote_to]).first
|
162
166
|
|
167
|
+
if Supply.config[:rollout]
|
168
|
+
release.status = Supply::ReleaseStatus::IN_PROGRESS
|
169
|
+
release.user_fraction = Supply.config[:rollout]
|
170
|
+
else
|
171
|
+
release.status = Supply::ReleaseStatus::COMPLETED
|
172
|
+
release.user_fraction = nil
|
173
|
+
end
|
174
|
+
|
163
175
|
if track_to
|
164
176
|
# Its okay to set releases to an array containing the newest release
|
165
177
|
# Google Play will keep previous releases there this release is a partial rollout
|
@@ -174,14 +186,22 @@ module Supply
|
|
174
186
|
client.update_track(Supply.config[:track_promote_to], track_to)
|
175
187
|
end
|
176
188
|
|
177
|
-
def upload_changelog(language,
|
178
|
-
UI.user_error!("Cannot find changelog because no version
|
189
|
+
def upload_changelog(language, version_code)
|
190
|
+
UI.user_error!("Cannot find changelog because no version code given - please specify :version_code") unless version_code
|
179
191
|
|
180
|
-
path = File.join(Supply.config[:metadata_path], language, Supply::CHANGELOGS_FOLDER_NAME, "#{
|
192
|
+
path = File.join(Supply.config[:metadata_path], language, Supply::CHANGELOGS_FOLDER_NAME, "#{version_code}.txt")
|
181
193
|
changelog_text = ''
|
182
194
|
if File.exist?(path)
|
183
|
-
UI.message("Updating changelog for '#{
|
195
|
+
UI.message("Updating changelog for '#{version_code}' and language '#{language}'...")
|
184
196
|
changelog_text = File.read(path, encoding: 'UTF-8')
|
197
|
+
else
|
198
|
+
default_changelog_path = File.join(Supply.config[:metadata_path], language, Supply::CHANGELOGS_FOLDER_NAME, "default.txt")
|
199
|
+
if File.exist?(default_changelog_path)
|
200
|
+
UI.message("Updating changelog for '#{version_code}' and language '#{language}' to default changelog...")
|
201
|
+
changelog_text = File.read(default_changelog_path, encoding: 'UTF-8')
|
202
|
+
else
|
203
|
+
UI.message("Could not find changelog for '#{version_code}' and language '#{language}' at path #{path}...")
|
204
|
+
end
|
185
205
|
end
|
186
206
|
|
187
207
|
AndroidPublisher::LocalizedText.new({
|
@@ -336,8 +356,11 @@ module Supply
|
|
336
356
|
)
|
337
357
|
|
338
358
|
if Supply.config[:rollout]
|
339
|
-
|
340
|
-
|
359
|
+
rollout = Supply.config[:rollout].to_f
|
360
|
+
if rollout > 0 && rollout < 1
|
361
|
+
track_release.status = Supply::ReleaseStatus::IN_PROGRESS
|
362
|
+
track_release.user_fraction = rollout
|
363
|
+
end
|
341
364
|
end
|
342
365
|
|
343
366
|
tracks = client.tracks(Supply.config[:track])
|
@@ -421,4 +444,5 @@ module Supply
|
|
421
444
|
end
|
422
445
|
end
|
423
446
|
end
|
447
|
+
# rubocop:enable Metrics/ClassLength
|
424
448
|
end
|
metadata
CHANGED
@@ -1,33 +1,33 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.138.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
- Aaron Brager
|
8
|
-
- Matthew Ellis
|
9
|
-
- Josh Holtz
|
10
|
-
- Stefan Natchev
|
11
7
|
- Jorge Revuelta H
|
12
|
-
- Helmut Januschka
|
13
|
-
- Fumiya Nakamura
|
14
|
-
- Manu Wallner
|
15
|
-
- Iulian Onofrei
|
16
|
-
- Felix Krause
|
17
8
|
- Joshua Liebowitz
|
18
|
-
-
|
9
|
+
- Josh Holtz
|
19
10
|
- Danielle Tomlinson
|
20
|
-
- Maksym Grebenets
|
21
|
-
- Jérôme Lacoste
|
22
|
-
- Jimmy Dee
|
23
|
-
- Andrew McBurney
|
24
11
|
- Kohki Miki
|
25
12
|
- Luka Mirosevic
|
13
|
+
- Iulian Onofrei
|
14
|
+
- Stefan Natchev
|
15
|
+
- Maksym Grebenets
|
16
|
+
- Manu Wallner
|
17
|
+
- Aaron Brager
|
18
|
+
- Matthew Ellis
|
19
|
+
- Felix Krause
|
26
20
|
- Jan Piotrowski
|
21
|
+
- Jérôme Lacoste
|
22
|
+
- Helmut Januschka
|
23
|
+
- Fumiya Nakamura
|
24
|
+
- Andrew McBurney
|
25
|
+
- Olivier Halligon
|
26
|
+
- Jimmy Dee
|
27
27
|
autorequire:
|
28
28
|
bindir: bin
|
29
29
|
cert_chain: []
|
30
|
-
date: 2019-
|
30
|
+
date: 2019-12-19 00:00:00.000000000 Z
|
31
31
|
dependencies:
|
32
32
|
- !ruby/object:Gem::Dependency
|
33
33
|
name: slack-notifier
|
@@ -55,7 +55,7 @@ dependencies:
|
|
55
55
|
requirements:
|
56
56
|
- - ">="
|
57
57
|
- !ruby/object:Gem::Version
|
58
|
-
version: 1.
|
58
|
+
version: 1.13.0
|
59
59
|
- - "<"
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: 2.0.0
|
@@ -65,7 +65,7 @@ dependencies:
|
|
65
65
|
requirements:
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 1.
|
68
|
+
version: 1.13.0
|
69
69
|
- - "<"
|
70
70
|
- !ruby/object:Gem::Version
|
71
71
|
version: 2.0.0
|
@@ -325,7 +325,7 @@ dependencies:
|
|
325
325
|
requirements:
|
326
326
|
- - ">="
|
327
327
|
- !ruby/object:Gem::Version
|
328
|
-
version: 0.
|
328
|
+
version: 0.71.0
|
329
329
|
- - "<"
|
330
330
|
- !ruby/object:Gem::Version
|
331
331
|
version: 1.0.0
|
@@ -335,7 +335,7 @@ dependencies:
|
|
335
335
|
requirements:
|
336
336
|
- - ">="
|
337
337
|
- !ruby/object:Gem::Version
|
338
|
-
version: 0.
|
338
|
+
version: 0.71.0
|
339
339
|
- - "<"
|
340
340
|
- !ruby/object:Gem::Version
|
341
341
|
version: 1.0.0
|
@@ -1420,7 +1420,6 @@ files:
|
|
1420
1420
|
- gym/lib/assets/GymfileTemplate.swift
|
1421
1421
|
- gym/lib/assets/wrap_xcodebuild/xcbuild-safe.sh
|
1422
1422
|
- gym/lib/gym.rb
|
1423
|
-
- gym/lib/gym/.module.rb.swp
|
1424
1423
|
- gym/lib/gym/code_signing_mapping.rb
|
1425
1424
|
- gym/lib/gym/commands_generator.rb
|
1426
1425
|
- gym/lib/gym/detect_values.rb
|
@@ -1608,7 +1607,9 @@ files:
|
|
1608
1607
|
- spaceship/lib/spaceship/connect_api/models/beta_app_review_submission.rb
|
1609
1608
|
- spaceship/lib/spaceship/connect_api/models/beta_build_localization.rb
|
1610
1609
|
- spaceship/lib/spaceship/connect_api/models/beta_build_metric.rb
|
1610
|
+
- spaceship/lib/spaceship/connect_api/models/beta_feedback.rb
|
1611
1611
|
- spaceship/lib/spaceship/connect_api/models/beta_group.rb
|
1612
|
+
- spaceship/lib/spaceship/connect_api/models/beta_screenshot.rb
|
1612
1613
|
- spaceship/lib/spaceship/connect_api/models/beta_tester.rb
|
1613
1614
|
- spaceship/lib/spaceship/connect_api/models/beta_tester_metric.rb
|
1614
1615
|
- spaceship/lib/spaceship/connect_api/models/build.rb
|
@@ -1732,9 +1733,6 @@ files:
|
|
1732
1733
|
- spaceship/lib/spaceship/ui.rb
|
1733
1734
|
- supply/README.md
|
1734
1735
|
- supply/lib/supply.rb
|
1735
|
-
- supply/lib/supply/.client.rb.swp
|
1736
|
-
- supply/lib/supply/.options.rb.swp
|
1737
|
-
- supply/lib/supply/.uploader.rb.swp
|
1738
1736
|
- supply/lib/supply/apk_listing.rb
|
1739
1737
|
- supply/lib/supply/client.rb
|
1740
1738
|
- supply/lib/supply/commands_generator.rb
|