fastlane 2.128.1 → 2.129.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.
Files changed (52) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +74 -74
  3. data/deliver/lib/deliver/submit_for_review.rb +1 -1
  4. data/fastlane/lib/fastlane/actions/appetize_viewing_url_generator.rb +1 -1
  5. data/fastlane/lib/fastlane/actions/automatic_code_signing.rb +1 -1
  6. data/fastlane/lib/fastlane/actions/commit_github_file.rb +1 -1
  7. data/fastlane/lib/fastlane/actions/get_version_number.rb +18 -2
  8. data/fastlane/lib/fastlane/actions/github_api.rb +1 -1
  9. data/fastlane/lib/fastlane/actions/gradle.rb +26 -7
  10. data/fastlane/lib/fastlane/actions/import_from_git.rb +1 -1
  11. data/fastlane/lib/fastlane/actions/pod_push.rb +20 -10
  12. data/fastlane/lib/fastlane/actions/puts.rb +1 -1
  13. data/fastlane/lib/fastlane/actions/sonar.rb +18 -0
  14. data/fastlane/lib/fastlane/actions/update_fastlane.rb +1 -1
  15. data/fastlane/lib/fastlane/commands_generator.rb +1 -1
  16. data/fastlane/lib/fastlane/helper/adb_helper.rb +5 -0
  17. data/fastlane/lib/fastlane/helper/crashlytics_helper.rb +11 -5
  18. data/fastlane/lib/fastlane/swift_fastlane_api_generator.rb +4 -0
  19. data/fastlane/lib/fastlane/swift_fastlane_function.rb +11 -7
  20. data/fastlane/lib/fastlane/version.rb +1 -1
  21. data/fastlane/swift/Deliverfile.swift +1 -1
  22. data/fastlane/swift/Fastlane.swift +290 -284
  23. data/fastlane/swift/Gymfile.swift +1 -1
  24. data/fastlane/swift/GymfileProtocol.swift +3 -3
  25. data/fastlane/swift/Matchfile.swift +1 -1
  26. data/fastlane/swift/Precheckfile.swift +1 -1
  27. data/fastlane/swift/Scanfile.swift +1 -1
  28. data/fastlane/swift/ScanfileProtocol.swift +3 -3
  29. data/fastlane/swift/Screengrabfile.swift +1 -1
  30. data/fastlane/swift/Snapshotfile.swift +1 -1
  31. data/fastlane_core/lib/fastlane_core/analytics/analytics_event_builder.rb +1 -1
  32. data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +1 -1
  33. data/frameit/lib/frameit/editor.rb +1 -1
  34. data/gym/lib/gym/options.rb +1 -1
  35. data/match/lib/match/nuke.rb +1 -1
  36. data/match/lib/match/runner.rb +2 -2
  37. data/match/lib/match/storage/interface.rb +1 -1
  38. data/scan/lib/scan/options.rb +1 -1
  39. data/scan/lib/scan/runner.rb +1 -1
  40. data/snapshot/lib/assets/SnapshotHelper.swift +3 -3
  41. data/spaceship/lib/spaceship/connect_api/models/beta_tester_metric.rb +1 -0
  42. data/spaceship/lib/spaceship/du/du_client.rb +4 -0
  43. data/spaceship/lib/spaceship/portal/certificate.rb +15 -1
  44. data/spaceship/lib/spaceship/spaceauth_runner.rb +1 -1
  45. data/spaceship/lib/spaceship/test_flight/tester.rb +1 -1
  46. data/spaceship/lib/spaceship/tunes/build_details.rb +160 -18
  47. data/spaceship/lib/spaceship/tunes/display_family.rb +3 -3
  48. data/spaceship/lib/spaceship/tunes/iap.rb +2 -0
  49. data/spaceship/lib/spaceship/tunes/iap_detail.rb +17 -0
  50. data/spaceship/lib/spaceship/tunes/tunes_client.rb +37 -1
  51. data/supply/lib/supply/client.rb +1 -1
  52. 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 apperance are
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 defintion.
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 defintion (i.e iPhone,
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)
@@ -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 happend on 2018-04-24
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.128.1
4
+ version: 2.129.0
5
5
  platform: ruby
6
6
  authors:
7
- - Luka Mirosevic
8
- - Andrew McBurney
9
- - Danielle Tomlinson
10
- - Kohki Miki
11
- - Manu Wallner
7
+ - Jorge Revuelta H
12
8
  - Olivier Halligon
13
- - Stefan Natchev
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
- - Aaron Brager
19
+ - Jérôme Lacoste
17
20
  - Iulian Onofrei
18
- - Jimmy Dee
19
- - Helmut Januschka
21
+ - Danielle Tomlinson
22
+ - Manu Wallner
20
23
  - Felix Krause
21
- - Fumiya Nakamura
22
- - Jorge Revuelta H
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-07-23 00:00:00.000000000 Z
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
- rubyforge_project:
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