fastlane 2.148.0 → 2.150.0.rc2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (108) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +86 -86
  3. data/deliver/lib/deliver.rb +0 -1
  4. data/deliver/lib/deliver/app_screenshot.rb +28 -27
  5. data/deliver/lib/deliver/options.rb +6 -11
  6. data/deliver/lib/deliver/runner.rb +7 -21
  7. data/deliver/lib/deliver/setup.rb +5 -30
  8. data/deliver/lib/deliver/submit_for_review.rb +155 -90
  9. data/deliver/lib/deliver/upload_metadata.rb +355 -143
  10. data/deliver/lib/deliver/upload_price_tier.rb +22 -8
  11. data/deliver/lib/deliver/upload_screenshots.rb +112 -37
  12. data/fastlane/lib/assets/s3_html_template.erb +1 -1
  13. data/fastlane/lib/fastlane/actions/docs/capture_android_screenshots.md +42 -2
  14. data/fastlane/lib/fastlane/actions/docs/capture_ios_screenshots.md +1 -1
  15. data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +77 -96
  16. data/fastlane/lib/fastlane/actions/docs/upload_to_play_store.md +3 -2
  17. data/fastlane/lib/fastlane/actions/download_dsyms.rb +7 -1
  18. data/fastlane/lib/fastlane/actions/google_play_track_release_names.rb +74 -0
  19. data/fastlane/lib/fastlane/actions/hipchat.rb +1 -1
  20. data/fastlane/lib/fastlane/actions/set_changelog.rb +23 -20
  21. data/fastlane/lib/fastlane/actions/slack.rb +2 -2
  22. data/fastlane/lib/fastlane/actions/slather.rb +8 -1
  23. data/fastlane/lib/fastlane/actions/spm.rb +7 -0
  24. data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +2 -33
  25. data/fastlane/lib/fastlane/documentation/actions_list.rb +1 -1
  26. data/fastlane/lib/fastlane/lane.rb +3 -3
  27. data/fastlane/lib/fastlane/plugins/plugin_manager.rb +1 -1
  28. data/fastlane/lib/fastlane/plugins/template/.github/workflows/test.yml +29 -0
  29. data/fastlane/lib/fastlane/swift_fastlane_function.rb +22 -5
  30. data/fastlane/lib/fastlane/version.rb +1 -1
  31. data/fastlane/swift/ControlCommand.swift +1 -0
  32. data/fastlane/swift/Deliverfile.swift +1 -1
  33. data/fastlane/swift/Fastlane.swift +79 -22
  34. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/xcshareddata/xcschemes/FastlaneRunner.xcscheme +3 -9
  35. data/fastlane/swift/Gymfile.swift +1 -1
  36. data/fastlane/swift/GymfileProtocol.swift +1 -1
  37. data/fastlane/swift/LaneFileProtocol.swift +2 -5
  38. data/fastlane/swift/Matchfile.swift +1 -1
  39. data/fastlane/swift/MatchfileProtocol.swift +1 -1
  40. data/fastlane/swift/Precheckfile.swift +1 -1
  41. data/fastlane/swift/RubyCommand.swift +29 -6
  42. data/fastlane/swift/RubyCommandable.swift +1 -0
  43. data/fastlane/swift/Runner.swift +85 -13
  44. data/fastlane/swift/Scanfile.swift +1 -1
  45. data/fastlane/swift/ScanfileProtocol.swift +2 -2
  46. data/fastlane/swift/Screengrabfile.swift +1 -1
  47. data/fastlane/swift/Snapshotfile.swift +1 -1
  48. data/fastlane/swift/SnapshotfileProtocol.swift +9 -1
  49. data/fastlane/swift/SocketClient.swift +76 -45
  50. data/fastlane/swift/SocketClientDelegateProtocol.swift +1 -1
  51. data/fastlane/swift/SocketResponse.swift +1 -0
  52. data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +1 -3
  53. data/fastlane_core/lib/fastlane_core/pkg_file_analyser.rb +7 -0
  54. data/frameit/lib/frameit/device_types.rb +100 -100
  55. data/gym/lib/gym/options.rb +1 -1
  56. data/match/lib/match/nuke.rb +21 -16
  57. data/match/lib/match/storage/git_storage.rb +4 -0
  58. data/match/lib/match/storage/google_cloud_storage.rb +4 -0
  59. data/match/lib/match/storage/interface.rb +4 -0
  60. data/match/lib/match/storage/s3_storage.rb +4 -0
  61. data/produce/lib/produce/itunes_connect.rb +32 -21
  62. data/produce/lib/produce/options.rb +3 -3
  63. data/scan/lib/scan/options.rb +1 -1
  64. data/scan/lib/scan/test_result_parser.rb +9 -2
  65. data/sigh/lib/assets/resign.sh +7 -7
  66. data/snapshot/lib/assets/SnapshotHelper.swift +5 -5
  67. data/snapshot/lib/assets/SnapshotHelperXcode8.swift +3 -3
  68. data/snapshot/lib/snapshot/options.rb +11 -1
  69. data/snapshot/lib/snapshot/reports_generator.rb +8 -1
  70. data/snapshot/lib/snapshot/test_command_generator.rb +8 -3
  71. data/spaceship/lib/spaceship/.DS_Store +0 -0
  72. data/spaceship/lib/spaceship/client.rb +13 -4
  73. data/spaceship/lib/spaceship/connect_api.rb +25 -2
  74. data/spaceship/lib/spaceship/connect_api/client.rb +97 -31
  75. data/spaceship/lib/spaceship/connect_api/file_uploader.rb +66 -0
  76. data/spaceship/lib/spaceship/connect_api/model.rb +1 -1
  77. data/spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb +113 -0
  78. data/spaceship/lib/spaceship/connect_api/models/app.rb +117 -3
  79. data/spaceship/lib/spaceship/connect_api/models/app_category.rb +94 -0
  80. data/spaceship/lib/spaceship/connect_api/models/app_info.rb +66 -0
  81. data/spaceship/lib/spaceship/connect_api/models/app_info_localization.rb +38 -0
  82. data/spaceship/lib/spaceship/connect_api/models/app_preview.rb +77 -0
  83. data/spaceship/lib/spaceship/connect_api/models/app_preview_set.rb +71 -0
  84. data/spaceship/lib/spaceship/connect_api/models/app_price.rb +22 -0
  85. data/spaceship/lib/spaceship/connect_api/models/app_price_tier.rb +12 -0
  86. data/spaceship/lib/spaceship/connect_api/models/app_review_attachment.rb +81 -0
  87. data/spaceship/lib/spaceship/connect_api/models/app_screenshot.rb +97 -0
  88. data/spaceship/lib/spaceship/connect_api/models/app_screenshot_set.rb +101 -0
  89. data/spaceship/lib/spaceship/connect_api/models/app_store_review_detail.rb +51 -0
  90. data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +182 -0
  91. data/spaceship/lib/spaceship/connect_api/models/app_store_version_localization.rb +86 -0
  92. data/spaceship/lib/spaceship/connect_api/models/app_store_version_phased_release.rb +36 -0
  93. data/spaceship/lib/spaceship/connect_api/models/app_store_version_submission.rb +26 -0
  94. data/spaceship/lib/spaceship/connect_api/models/build.rb +4 -0
  95. data/spaceship/lib/spaceship/connect_api/models/idfa_declaration.rb +40 -0
  96. data/spaceship/lib/spaceship/connect_api/models/reset_ratings_request.rb +26 -0
  97. data/spaceship/lib/spaceship/connect_api/models/territory.rb +27 -0
  98. data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +10 -3
  99. data/spaceship/lib/spaceship/connect_api/tunes/client.rb +33 -0
  100. data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +832 -0
  101. data/spaceship/lib/spaceship/errors.rb +3 -0
  102. data/spaceship/lib/spaceship/spaceauth_runner.rb +2 -2
  103. data/supply/lib/supply/client.rb +19 -0
  104. data/supply/lib/supply/reader.rb +16 -0
  105. metadata +50 -42
  106. data/deliver/lib/deliver/upload_assets.rb +0 -27
  107. data/snapshot/lib/snapshot/.options.rb.swp +0 -0
  108. data/snapshot/lib/snapshot/.test_command_generator_base.rb.swp +0 -0
@@ -76,4 +76,7 @@ module Spaceship
76
76
 
77
77
  # Raised when 504 is received from App Store Connect
78
78
  class GatewayTimeoutError < BasicPreferredInfoError; end
79
+
80
+ # Raised when 403 is received from portal request
81
+ class AccessForbiddenError < BasicPreferredInfoError; end
79
82
  end
@@ -39,8 +39,8 @@ module Spaceship
39
39
  # value: HSARMTKNSRVTWFlaF/ek8asaa9lymMA0dN8JQ6pY7B3F5kdqTxJvMT19EVEFX8EQudB/uNwBHOHzaa30KYTU/eCP/UF7vGTgxs6PAnlVWKscWssOVHfP2IKWUPaa4Dn+I6ilA7eAFQsiaaVT
40
40
  cookies = YAML.safe_load(
41
41
  itc_cookie_content,
42
- [HTTP::Cookie, Time], # classes whitelist
43
- [], # symbols whitelist
42
+ [HTTP::Cookie, Time], # classes allowlist
43
+ [], # symbols allowlist
44
44
  true # allow YAML aliases
45
45
  )
46
46
 
@@ -4,6 +4,7 @@ AndroidPublisher = Google::Apis::AndroidpublisherV3
4
4
 
5
5
  require 'net/http'
6
6
 
7
+ # rubocop:disable Metrics/ClassLength
7
8
  module Supply
8
9
  class AbstractGoogleServiceClient
9
10
  SCOPE = nil
@@ -410,6 +411,23 @@ module Supply
410
411
  end
411
412
  end
412
413
 
414
+ # Get list of release names for track
415
+ def track_releases(track)
416
+ ensure_active_edit!
417
+
418
+ begin
419
+ result = client.get_edit_track(
420
+ current_package_name,
421
+ current_edit.id,
422
+ track
423
+ )
424
+ return result.releases || []
425
+ rescue Google::Apis::ClientError => e
426
+ return [] if e.status_code == 404 && e.to_s.include?("trackEmpty")
427
+ raise
428
+ end
429
+ end
430
+
413
431
  def upload_changelogs(track, track_name)
414
432
  ensure_active_edit!
415
433
 
@@ -529,3 +547,4 @@ module Supply
529
547
  end
530
548
  end
531
549
  end
550
+ # rubocop:enable Metrics/ClassLength
@@ -16,6 +16,22 @@ module Supply
16
16
  version_codes
17
17
  end
18
18
 
19
+ def track_release_names
20
+ track = Supply.config[:track]
21
+
22
+ client.begin_edit(package_name: Supply.config[:package_name])
23
+ release_names = client.track_releases(track).map(&:name)
24
+ client.abort_current_edit
25
+
26
+ if release_names.empty?
27
+ UI.important("No release names found in track '#{track}'")
28
+ else
29
+ UI.success("Found '#{release_names.join(', ')}' release names in track '#{track}'")
30
+ end
31
+
32
+ release_names
33
+ end
34
+
19
35
  private
20
36
 
21
37
  def client
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.148.0
4
+ version: 2.150.0.rc2
5
5
  platform: ruby
6
6
  authors:
7
+ - Manu Wallner
8
+ - Danielle Tomlinson
7
9
  - Matthew Ellis
8
- - Olivier Halligon
10
+ - Stefan Natchev
11
+ - Jimmy Dee
9
12
  - Kohki Miki
10
- - Danielle Tomlinson
11
- - Maksym Grebenets
12
- - Helmut Januschka
13
+ - Jorge Revuelta H
13
14
  - Daniel Jankowski
15
+ - Jérôme Lacoste
16
+ - Andrew McBurney
14
17
  - Max Ott
15
- - Stefan Natchev
16
- - Jimmy Dee
17
- - Luka Mirosevic
18
+ - Iulian Onofrei
19
+ - Helmut Januschka
18
20
  - Jan Piotrowski
19
- - Andrew McBurney
21
+ - Luka Mirosevic
22
+ - Felix Krause
23
+ - Fumiya Nakamura
24
+ - Olivier Halligon
25
+ - Maksym Grebenets
20
26
  - Aaron Brager
21
27
  - Josh Holtz
22
- - Jérôme Lacoste
23
- - Fumiya Nakamura
24
- - Manu Wallner
25
28
  - Joshua Liebowitz
26
- - Iulian Onofrei
27
- - Jorge Revuelta H
28
- - Felix Krause
29
- autorequire:
29
+ autorequire:
30
30
  bindir: bin
31
31
  cert_chain: []
32
- date: 2020-05-14 00:00:00.000000000 Z
32
+ date: 2020-06-25 00:00:00.000000000 Z
33
33
  dependencies:
34
34
  - !ruby/object:Gem::Dependency
35
35
  name: slack-notifier
@@ -213,20 +213,6 @@ dependencies:
213
213
  - - "~>"
214
214
  - !ruby/object:Gem::Version
215
215
  version: 1.0.0
216
- - !ruby/object:Gem::Dependency
217
- name: public_suffix
218
- requirement: !ruby/object:Gem::Requirement
219
- requirements:
220
- - - "~>"
221
- - !ruby/object:Gem::Version
222
- version: 2.0.0
223
- type: :runtime
224
- prerelease: false
225
- version_requirements: !ruby/object:Gem::Requirement
226
- requirements:
227
- - - "~>"
228
- - !ruby/object:Gem::Version
229
- version: 2.0.0
230
216
  - !ruby/object:Gem::Dependency
231
217
  name: tty-screen
232
218
  requirement: !ruby/object:Gem::Requirement
@@ -697,16 +683,16 @@ dependencies:
697
683
  name: rake
698
684
  requirement: !ruby/object:Gem::Requirement
699
685
  requirements:
700
- - - "<"
686
+ - - ">="
701
687
  - !ruby/object:Gem::Version
702
- version: '12'
688
+ version: '0'
703
689
  type: :development
704
690
  prerelease: false
705
691
  version_requirements: !ruby/object:Gem::Requirement
706
692
  requirements:
707
- - - "<"
693
+ - - ">="
708
694
  - !ruby/object:Gem::Version
709
- version: '12'
695
+ version: '0'
710
696
  - !ruby/object:Gem::Dependency
711
697
  name: rspec
712
698
  requirement: !ruby/object:Gem::Requirement
@@ -1003,7 +989,6 @@ files:
1003
989
  - deliver/lib/deliver/runner.rb
1004
990
  - deliver/lib/deliver/setup.rb
1005
991
  - deliver/lib/deliver/submit_for_review.rb
1006
- - deliver/lib/deliver/upload_assets.rb
1007
992
  - deliver/lib/deliver/upload_metadata.rb
1008
993
  - deliver/lib/deliver/upload_price_tier.rb
1009
994
  - deliver/lib/deliver/upload_screenshots.rb
@@ -1132,6 +1117,7 @@ files:
1132
1117
  - fastlane/lib/fastlane/actions/git_submodule_update.rb
1133
1118
  - fastlane/lib/fastlane/actions/git_tag_exists.rb
1134
1119
  - fastlane/lib/fastlane/actions/github_api.rb
1120
+ - fastlane/lib/fastlane/actions/google_play_track_release_names.rb
1135
1121
  - fastlane/lib/fastlane/actions/google_play_track_version_codes.rb
1136
1122
  - fastlane/lib/fastlane/actions/gradle.rb
1137
1123
  - fastlane/lib/fastlane/actions/gym.rb
@@ -1315,6 +1301,7 @@ files:
1315
1301
  - fastlane/lib/fastlane/plugins/plugins.rb
1316
1302
  - fastlane/lib/fastlane/plugins/template/%gem_name%.gemspec.erb
1317
1303
  - fastlane/lib/fastlane/plugins/template/.circleci/config.yml
1304
+ - fastlane/lib/fastlane/plugins/template/.github/workflows/test.yml
1318
1305
  - fastlane/lib/fastlane/plugins/template/.gitignore
1319
1306
  - fastlane/lib/fastlane/plugins/template/.rspec
1320
1307
  - fastlane/lib/fastlane/plugins/template/.rubocop.yml
@@ -1613,8 +1600,6 @@ files:
1613
1600
  - snapshot/lib/assets/SnapshotHelper.swift
1614
1601
  - snapshot/lib/assets/SnapshotHelperXcode8.swift
1615
1602
  - snapshot/lib/snapshot.rb
1616
- - snapshot/lib/snapshot/.options.rb.swp
1617
- - snapshot/lib/snapshot/.test_command_generator_base.rb.swp
1618
1603
  - snapshot/lib/snapshot/collector.rb
1619
1604
  - snapshot/lib/snapshot/commands_generator.rb
1620
1605
  - snapshot/lib/snapshot/dependency_checker.rb
@@ -1647,14 +1632,32 @@ files:
1647
1632
  - spaceship/lib/assets/languageMapping.json
1648
1633
  - spaceship/lib/assets/languageMappingReadable.json
1649
1634
  - spaceship/lib/spaceship.rb
1635
+ - spaceship/lib/spaceship/.DS_Store
1650
1636
  - spaceship/lib/spaceship/babosa_fix.rb
1651
1637
  - spaceship/lib/spaceship/base.rb
1652
1638
  - spaceship/lib/spaceship/client.rb
1653
1639
  - spaceship/lib/spaceship/commands_generator.rb
1654
1640
  - spaceship/lib/spaceship/connect_api.rb
1655
1641
  - spaceship/lib/spaceship/connect_api/client.rb
1642
+ - spaceship/lib/spaceship/connect_api/file_uploader.rb
1656
1643
  - spaceship/lib/spaceship/connect_api/model.rb
1644
+ - spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb
1657
1645
  - spaceship/lib/spaceship/connect_api/models/app.rb
1646
+ - spaceship/lib/spaceship/connect_api/models/app_category.rb
1647
+ - spaceship/lib/spaceship/connect_api/models/app_info.rb
1648
+ - spaceship/lib/spaceship/connect_api/models/app_info_localization.rb
1649
+ - spaceship/lib/spaceship/connect_api/models/app_preview.rb
1650
+ - spaceship/lib/spaceship/connect_api/models/app_preview_set.rb
1651
+ - spaceship/lib/spaceship/connect_api/models/app_price.rb
1652
+ - spaceship/lib/spaceship/connect_api/models/app_price_tier.rb
1653
+ - spaceship/lib/spaceship/connect_api/models/app_review_attachment.rb
1654
+ - spaceship/lib/spaceship/connect_api/models/app_screenshot.rb
1655
+ - spaceship/lib/spaceship/connect_api/models/app_screenshot_set.rb
1656
+ - spaceship/lib/spaceship/connect_api/models/app_store_review_detail.rb
1657
+ - spaceship/lib/spaceship/connect_api/models/app_store_version.rb
1658
+ - spaceship/lib/spaceship/connect_api/models/app_store_version_localization.rb
1659
+ - spaceship/lib/spaceship/connect_api/models/app_store_version_phased_release.rb
1660
+ - spaceship/lib/spaceship/connect_api/models/app_store_version_submission.rb
1658
1661
  - spaceship/lib/spaceship/connect_api/models/beta_app_localization.rb
1659
1662
  - spaceship/lib/spaceship/connect_api/models/beta_app_review_detail.rb
1660
1663
  - spaceship/lib/spaceship/connect_api/models/beta_app_review_submission.rb
@@ -1672,8 +1675,11 @@ files:
1672
1675
  - spaceship/lib/spaceship/connect_api/models/bundle_id_capability.rb
1673
1676
  - spaceship/lib/spaceship/connect_api/models/certificate.rb
1674
1677
  - spaceship/lib/spaceship/connect_api/models/device.rb
1678
+ - spaceship/lib/spaceship/connect_api/models/idfa_declaration.rb
1675
1679
  - spaceship/lib/spaceship/connect_api/models/pre_release_version.rb
1676
1680
  - spaceship/lib/spaceship/connect_api/models/profile.rb
1681
+ - spaceship/lib/spaceship/connect_api/models/reset_ratings_request.rb
1682
+ - spaceship/lib/spaceship/connect_api/models/territory.rb
1677
1683
  - spaceship/lib/spaceship/connect_api/models/user.rb
1678
1684
  - spaceship/lib/spaceship/connect_api/provisioning/client.rb
1679
1685
  - spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb
@@ -1681,6 +1687,8 @@ files:
1681
1687
  - spaceship/lib/spaceship/connect_api/testflight/client.rb
1682
1688
  - spaceship/lib/spaceship/connect_api/testflight/testflight.rb
1683
1689
  - spaceship/lib/spaceship/connect_api/token.rb
1690
+ - spaceship/lib/spaceship/connect_api/tunes/client.rb
1691
+ - spaceship/lib/spaceship/connect_api/tunes/tunes.rb
1684
1692
  - spaceship/lib/spaceship/connect_api/users/client.rb
1685
1693
  - spaceship/lib/spaceship/connect_api/users/users.rb
1686
1694
  - spaceship/lib/spaceship/du/du_client.rb
@@ -1801,7 +1809,7 @@ licenses:
1801
1809
  - MIT
1802
1810
  metadata:
1803
1811
  docs_url: https://docs.fastlane.tools
1804
- post_install_message:
1812
+ post_install_message:
1805
1813
  rdoc_options: []
1806
1814
  require_paths:
1807
1815
  - credentials_manager/lib
@@ -1829,12 +1837,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
1829
1837
  version: '2.4'
1830
1838
  required_rubygems_version: !ruby/object:Gem::Requirement
1831
1839
  requirements:
1832
- - - ">="
1840
+ - - ">"
1833
1841
  - !ruby/object:Gem::Version
1834
- version: '0'
1842
+ version: 1.3.1
1835
1843
  requirements: []
1836
1844
  rubygems_version: 3.0.6
1837
- signing_key:
1845
+ signing_key:
1838
1846
  specification_version: 4
1839
1847
  summary: The easiest way to automate beta deployments and releases for your iOS and
1840
1848
  Android apps
@@ -1,27 +0,0 @@
1
- require_relative 'module'
2
-
3
- module Deliver
4
- class UploadAssets
5
- SUPPORTED_ICON_EXTENSIONS = [".png", ".jpg", ".jpeg"]
6
- def upload(options)
7
- return unless options[:app_icon] || options[:apple_watch_app_icon]
8
- return if options[:edit_live]
9
- app = options[:app]
10
-
11
- v = app.edit_version(platform: options[:platform])
12
- UI.user_error!("Could not find a version to edit for app '#{app.name}'") unless v
13
-
14
- if options[:app_icon]
15
- UI.message("Uploading app icon...")
16
- v.upload_large_icon!(options[:app_icon])
17
- end
18
-
19
- if options[:apple_watch_app_icon]
20
- UI.message("Uploading apple watchapp icon...")
21
- v.upload_watch_icon!(options[:apple_watch_app_icon])
22
- end
23
-
24
- v.save!
25
- end
26
- end
27
- end