fastlane 2.128.1 → 2.129.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/README.md +74 -74
- data/deliver/lib/deliver/submit_for_review.rb +1 -1
- data/fastlane/lib/fastlane/actions/appetize_viewing_url_generator.rb +1 -1
- data/fastlane/lib/fastlane/actions/automatic_code_signing.rb +1 -1
- data/fastlane/lib/fastlane/actions/commit_github_file.rb +1 -1
- data/fastlane/lib/fastlane/actions/get_version_number.rb +18 -2
- data/fastlane/lib/fastlane/actions/github_api.rb +1 -1
- data/fastlane/lib/fastlane/actions/gradle.rb +26 -7
- data/fastlane/lib/fastlane/actions/import_from_git.rb +1 -1
- data/fastlane/lib/fastlane/actions/pod_push.rb +20 -10
- data/fastlane/lib/fastlane/actions/puts.rb +1 -1
- data/fastlane/lib/fastlane/actions/sonar.rb +18 -0
- data/fastlane/lib/fastlane/actions/update_fastlane.rb +1 -1
- data/fastlane/lib/fastlane/commands_generator.rb +1 -1
- data/fastlane/lib/fastlane/helper/adb_helper.rb +5 -0
- data/fastlane/lib/fastlane/helper/crashlytics_helper.rb +11 -5
- data/fastlane/lib/fastlane/swift_fastlane_api_generator.rb +4 -0
- data/fastlane/lib/fastlane/swift_fastlane_function.rb +11 -7
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/Fastlane.swift +290 -284
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/GymfileProtocol.swift +3 -3
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/ScanfileProtocol.swift +3 -3
- data/fastlane/swift/Screengrabfile.swift +1 -1
- data/fastlane/swift/Snapshotfile.swift +1 -1
- data/fastlane_core/lib/fastlane_core/analytics/analytics_event_builder.rb +1 -1
- data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +1 -1
- data/frameit/lib/frameit/editor.rb +1 -1
- data/gym/lib/gym/options.rb +1 -1
- data/match/lib/match/nuke.rb +1 -1
- data/match/lib/match/runner.rb +2 -2
- data/match/lib/match/storage/interface.rb +1 -1
- data/scan/lib/scan/options.rb +1 -1
- data/scan/lib/scan/runner.rb +1 -1
- data/snapshot/lib/assets/SnapshotHelper.swift +3 -3
- data/spaceship/lib/spaceship/connect_api/models/beta_tester_metric.rb +1 -0
- data/spaceship/lib/spaceship/du/du_client.rb +4 -0
- data/spaceship/lib/spaceship/portal/certificate.rb +15 -1
- data/spaceship/lib/spaceship/spaceauth_runner.rb +1 -1
- data/spaceship/lib/spaceship/test_flight/tester.rb +1 -1
- data/spaceship/lib/spaceship/tunes/build_details.rb +160 -18
- data/spaceship/lib/spaceship/tunes/display_family.rb +3 -3
- data/spaceship/lib/spaceship/tunes/iap.rb +2 -0
- data/spaceship/lib/spaceship/tunes/iap_detail.rb +17 -0
- data/spaceship/lib/spaceship/tunes/tunes_client.rb +37 -1
- data/supply/lib/supply/client.rb +1 -1
- metadata +17 -18
@@ -5,7 +5,7 @@ module Spaceship
|
|
5
5
|
# A definition of different styled displays used by devices
|
6
6
|
# that App Store Connect supports storing screenshots.
|
7
7
|
# Display styles often only vary based on screen resolution
|
8
|
-
# however other aspects of a displays physical
|
8
|
+
# however other aspects of a displays physical appearance are
|
9
9
|
# also factored (i.e if the home indicator is provided via
|
10
10
|
# a hardware button or a software interface).
|
11
11
|
class DisplayFamily
|
@@ -15,12 +15,12 @@ module Spaceship
|
|
15
15
|
# Spaceship::Tunes::AppScreenshot#device_type attribute.
|
16
16
|
attr_accessor :name
|
17
17
|
|
18
|
-
# The user friendly name of this
|
18
|
+
# The user friendly name of this definition.
|
19
19
|
#
|
20
20
|
# Source: Media Manager in App Store Connect.
|
21
21
|
attr_accessor :friendly_name
|
22
22
|
|
23
|
-
# The user friendly category for this
|
23
|
+
# The user friendly category for this definition (i.e iPhone,
|
24
24
|
# Apple TV or Desktop).
|
25
25
|
attr_accessor :friendly_category_name
|
26
26
|
|
@@ -65,6 +65,7 @@ module Spaceship
|
|
65
65
|
reference_name: nil,
|
66
66
|
product_id: nil,
|
67
67
|
cleared_for_sale: true,
|
68
|
+
merch_screenshot: nil,
|
68
69
|
review_notes: nil,
|
69
70
|
review_screenshot: nil,
|
70
71
|
pricing_intervals: nil,
|
@@ -78,6 +79,7 @@ module Spaceship
|
|
78
79
|
reference_name: reference_name,
|
79
80
|
product_id: product_id,
|
80
81
|
cleared_for_sale: cleared_for_sale,
|
82
|
+
merch_screenshot: merch_screenshot,
|
81
83
|
review_notes: review_notes,
|
82
84
|
review_screenshot: review_screenshot,
|
83
85
|
pricing_intervals: pricing_intervals,
|
@@ -30,6 +30,10 @@ module Spaceship
|
|
30
30
|
# @return (Bool) Cleared for sale flag
|
31
31
|
attr_accessor :cleared_for_sale
|
32
32
|
|
33
|
+
# @return (Hash) app store promotion image (optional)
|
34
|
+
attr_accessor :merch_screenshot
|
35
|
+
|
36
|
+
# @return (Hash) app review screenshot (required)
|
33
37
|
attr_accessor :review_screenshot
|
34
38
|
|
35
39
|
# @return (String) the notes for the review team
|
@@ -142,6 +146,12 @@ module Spaceship
|
|
142
146
|
Tunes::IAPStatus.get_from_string(raw_data["versions"].first["status"])
|
143
147
|
end
|
144
148
|
|
149
|
+
# @return (Hash) Hash containing existing promotional image data
|
150
|
+
def merch_screenshot
|
151
|
+
return nil unless raw_data && raw_data["versions"] && raw_data["versions"].first && raw_data["versions"].first["merch"] && raw_data["versions"].first["merch"]["images"].first["image"]["value"]
|
152
|
+
raw_data["versions"].first["merch"]["images"].first["image"]["value"]
|
153
|
+
end
|
154
|
+
|
145
155
|
# @return (Hash) Hash containing existing review screenshot data
|
146
156
|
def review_screenshot
|
147
157
|
return nil unless raw_data && raw_data["versions"] && raw_data["versions"].first && raw_data["versions"].first["reviewScreenshot"] && raw_data['versions'].first["reviewScreenshot"]["value"]
|
@@ -172,6 +182,13 @@ module Spaceship
|
|
172
182
|
raw_data.set(["pricingIntervals"], raw_pricing_intervals)
|
173
183
|
@raw_pricing_data["subscriptions"] = raw_pricing_intervals if @raw_pricing_data
|
174
184
|
|
185
|
+
if @merch_screenshot
|
186
|
+
# Upload App Store Promotional image (Optional)
|
187
|
+
upload_file = UploadFile.from_path(@merch_screenshot)
|
188
|
+
merch_data = client.upload_purchase_merch_screenshot(application.apple_id, upload_file)
|
189
|
+
raw_data["versions"][0]["merch"] = merch_data
|
190
|
+
end
|
191
|
+
|
175
192
|
if @review_screenshot
|
176
193
|
# Upload Screenshot
|
177
194
|
upload_file = UploadFile.from_path(@review_screenshot)
|
@@ -791,6 +791,35 @@ module Spaceship
|
|
791
791
|
du_client.upload_watch_icon(app_version, upload_image, content_provider_id, sso_token_for_image)
|
792
792
|
end
|
793
793
|
|
794
|
+
# Uploads an In-App-Purchase Promotional image
|
795
|
+
# @param upload_image (UploadFile): The icon to upload
|
796
|
+
# @return [JSON] the image data, ready to be added to an In-App-Purchase
|
797
|
+
def upload_purchase_merch_screenshot(app_id, upload_image)
|
798
|
+
data = du_client.upload_purchase_merch_screenshot(app_id, upload_image, content_provider_id, sso_token_for_image)
|
799
|
+
{
|
800
|
+
"images" => [
|
801
|
+
{
|
802
|
+
"id" => nil,
|
803
|
+
"image" => {
|
804
|
+
"value" => {
|
805
|
+
"assetToken" => data["token"],
|
806
|
+
"originalFileName" => upload_image.file_name,
|
807
|
+
"height" => data["height"],
|
808
|
+
"width" => data["width"],
|
809
|
+
"checksum" => data["md5"]
|
810
|
+
},
|
811
|
+
"isEditable" => true,
|
812
|
+
"isREquired" => false,
|
813
|
+
"errorKeys" => nil
|
814
|
+
},
|
815
|
+
"status" => "proposed"
|
816
|
+
}
|
817
|
+
],
|
818
|
+
"showByDefault" => true,
|
819
|
+
"isActive" => false
|
820
|
+
}
|
821
|
+
end
|
822
|
+
|
794
823
|
# Uploads an In-App-Purchase Review screenshot
|
795
824
|
# @param app_id (AppId): The id of the app
|
796
825
|
# @param upload_image (UploadFile): The icon to upload
|
@@ -1304,7 +1333,7 @@ module Spaceship
|
|
1304
1333
|
end
|
1305
1334
|
|
1306
1335
|
# Creates an In-App-Purchases
|
1307
|
-
def create_iap!(app_id: nil, type: nil, versions: nil, reference_name: nil, product_id: nil, cleared_for_sale: true, review_notes: nil, review_screenshot: nil, pricing_intervals: nil, family_id: nil, subscription_duration: nil, subscription_free_trial: nil)
|
1336
|
+
def create_iap!(app_id: nil, type: nil, versions: nil, reference_name: nil, product_id: nil, cleared_for_sale: true, merch_screenshot: nil, review_notes: nil, review_screenshot: nil, pricing_intervals: nil, family_id: nil, subscription_duration: nil, subscription_free_trial: nil)
|
1308
1337
|
# Load IAP Template based on Type
|
1309
1338
|
type ||= "consumable"
|
1310
1339
|
r = request(:get, "ra/apps/#{app_id}/iaps/#{type}/template")
|
@@ -1348,6 +1377,13 @@ module Spaceship
|
|
1348
1377
|
data["versions"][0]["details"]["value"] = versions_array
|
1349
1378
|
data['versions'][0]["reviewNotes"] = { value: review_notes }
|
1350
1379
|
|
1380
|
+
if merch_screenshot
|
1381
|
+
# Upload App Store Promotional image (Optional)
|
1382
|
+
upload_file = UploadFile.from_path(merch_screenshot)
|
1383
|
+
merch_data = upload_purchase_merch_screenshot(app_id, upload_file)
|
1384
|
+
data["versions"][0]["merch"] = merch_data
|
1385
|
+
end
|
1386
|
+
|
1351
1387
|
if review_screenshot
|
1352
1388
|
# Upload Screenshot:
|
1353
1389
|
upload_file = UploadFile.from_path(review_screenshot)
|
data/supply/lib/supply/client.rb
CHANGED
@@ -312,7 +312,7 @@ module Supply
|
|
312
312
|
|
313
313
|
track_version_codes = apk_version_code.kind_of?(Array) ? apk_version_code : [apk_version_code]
|
314
314
|
|
315
|
-
# This change
|
315
|
+
# This change happened on 2018-04-24
|
316
316
|
# rollout cannot be sent on any other track besides "rollout"
|
317
317
|
# https://github.com/fastlane/fastlane/issues/12372
|
318
318
|
rollout = nil unless track == "rollout"
|
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.129.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
8
|
-
- Andrew McBurney
|
9
|
-
- Danielle Tomlinson
|
10
|
-
- Kohki Miki
|
11
|
-
- Manu Wallner
|
7
|
+
- Jorge Revuelta H
|
12
8
|
- Olivier Halligon
|
13
|
-
-
|
9
|
+
- Aaron Brager
|
10
|
+
- Joshua Liebowitz
|
11
|
+
- Fumiya Nakamura
|
12
|
+
- Kohki Miki
|
14
13
|
- Jan Piotrowski
|
14
|
+
- Jimmy Dee
|
15
|
+
- Andrew McBurney
|
16
|
+
- Maksym Grebenets
|
17
|
+
- Stefan Natchev
|
15
18
|
- Matthew Ellis
|
16
|
-
-
|
19
|
+
- Jérôme Lacoste
|
17
20
|
- Iulian Onofrei
|
18
|
-
-
|
19
|
-
-
|
21
|
+
- Danielle Tomlinson
|
22
|
+
- Manu Wallner
|
20
23
|
- Felix Krause
|
21
|
-
-
|
22
|
-
-
|
23
|
-
- Jérôme Lacoste
|
24
|
-
- Joshua Liebowitz
|
24
|
+
- Luka Mirosevic
|
25
|
+
- Helmut Januschka
|
25
26
|
- Josh Holtz
|
26
|
-
- Maksym Grebenets
|
27
27
|
autorequire:
|
28
28
|
bindir: bin
|
29
29
|
cert_chain: []
|
30
|
-
date: 2019-
|
30
|
+
date: 2019-08-13 00:00:00.000000000 Z
|
31
31
|
dependencies:
|
32
32
|
- !ruby/object:Gem::Dependency
|
33
33
|
name: slack-notifier
|
@@ -1776,8 +1776,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1776
1776
|
- !ruby/object:Gem::Version
|
1777
1777
|
version: '0'
|
1778
1778
|
requirements: []
|
1779
|
-
|
1780
|
-
rubygems_version: 2.5.2.3
|
1779
|
+
rubygems_version: 3.0.3
|
1781
1780
|
signing_key:
|
1782
1781
|
specification_version: 4
|
1783
1782
|
summary: The easiest way to automate beta deployments and releases for your iOS and
|