fastlane 2.206.1 → 2.208.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +96 -96
  3. data/deliver/lib/deliver/runner.rb +31 -35
  4. data/deliver/lib/deliver/upload_price_tier.rb +3 -1
  5. data/deliver/lib/deliver/upload_screenshots.rb +1 -1
  6. data/fastlane/lib/fastlane/actions/changelog_from_git_commits.rb +1 -1
  7. data/fastlane/lib/fastlane/actions/import_certificate.rb +1 -1
  8. data/fastlane/lib/fastlane/actions/update_info_plist.rb +1 -1
  9. data/fastlane/lib/fastlane/actions/upload_symbols_to_sentry.rb +1 -1
  10. data/fastlane/lib/fastlane/actions/xcodebuild.rb +8 -2
  11. data/fastlane/lib/fastlane/cli_tools_distributor.rb +1 -16
  12. data/fastlane/lib/fastlane/lane_manager.rb +1 -1
  13. data/fastlane/lib/fastlane/plugins/template/%gem_name%.gemspec.erb +1 -1
  14. data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +5 -1
  15. data/fastlane/lib/fastlane/setup/setup_ios.rb +1 -1
  16. data/fastlane/lib/fastlane/tools.rb +16 -0
  17. data/fastlane/lib/fastlane/version.rb +1 -1
  18. data/fastlane/swift/Deliverfile.swift +1 -1
  19. data/fastlane/swift/DeliverfileProtocol.swift +1 -1
  20. data/fastlane/swift/Fastlane.swift +18 -6
  21. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/xcuserdata/joshholtz.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  22. data/fastlane/swift/Gymfile.swift +1 -1
  23. data/fastlane/swift/GymfileProtocol.swift +1 -1
  24. data/fastlane/swift/MainProcess.swift +2 -2
  25. data/fastlane/swift/Matchfile.swift +1 -1
  26. data/fastlane/swift/MatchfileProtocol.swift +5 -1
  27. data/fastlane/swift/Precheckfile.swift +1 -1
  28. data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
  29. data/fastlane/swift/Scanfile.swift +1 -1
  30. data/fastlane/swift/ScanfileProtocol.swift +1 -1
  31. data/fastlane/swift/Screengrabfile.swift +1 -1
  32. data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
  33. data/fastlane/swift/Snapshotfile.swift +1 -1
  34. data/fastlane/swift/SnapshotfileProtocol.swift +2 -2
  35. data/fastlane/swift/SocketClient.swift +1 -1
  36. data/fastlane/swift/formatting/Brewfile.lock.json +21 -16
  37. data/fastlane_core/lib/fastlane_core/cert_checker.rb +7 -11
  38. data/fastlane_core/lib/fastlane_core/keychain_importer.rb +1 -0
  39. data/fastlane_core/lib/fastlane_core/project.rb +19 -2
  40. data/frameit/lib/frameit/device_types.rb +2 -0
  41. data/match/lib/match/encryption.rb +3 -0
  42. data/match/lib/match/importer.rb +1 -0
  43. data/match/lib/match/module.rb +53 -1
  44. data/match/lib/match/nuke.rb +3 -40
  45. data/match/lib/match/options.rb +6 -0
  46. data/match/lib/match/runner.rb +11 -1
  47. data/match/lib/match/setup.rb +1 -1
  48. data/match/lib/match/spaceship_ensure.rb +4 -2
  49. data/match/lib/match/storage/gitlab/client.rb +102 -0
  50. data/match/lib/match/storage/gitlab/secure_file.rb +65 -0
  51. data/match/lib/match/storage/gitlab_secure_files.rb +182 -0
  52. data/match/lib/match/storage.rb +4 -0
  53. data/match/lib/match/table_printer.rb +2 -1
  54. data/match/lib/match/utils.rb +10 -2
  55. data/pem/lib/pem/manager.rb +1 -1
  56. data/scan/lib/scan/detect_values.rb +6 -0
  57. data/sigh/lib/sigh/download_all.rb +14 -2
  58. data/sigh/lib/sigh/module.rb +3 -1
  59. data/sigh/lib/sigh/runner.rb +7 -0
  60. data/snapshot/lib/snapshot/options.rb +1 -1
  61. data/snapshot/lib/snapshot/reports_generator.rb +1 -0
  62. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +4 -1
  63. data/spaceship/lib/spaceship/connect_api/models/app.rb +4 -2
  64. data/spaceship/lib/spaceship/connect_api/models/profile.rb +4 -0
  65. data/spaceship/lib/spaceship/connect_api/response.rb +10 -6
  66. data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +18 -8
  67. data/spaceship/lib/spaceship/tunes/.tunes_client.rb.swp +0 -0
  68. data/spaceship/lib/spaceship/tunes/tunes_client.rb +63 -2
  69. data/trainer/lib/trainer/junit_generator.rb +1 -1
  70. metadata +24 -21
  71. data/spaceship/lib/spaceship/connect_api/.response.rb.swp +0 -0
  72. data/spaceship/lib/spaceship/connect_api/models/.app.rb.swp +0 -0
@@ -134,7 +134,15 @@ module Spaceship
134
134
  tunes_request_client.post("apps", body)
135
135
  end
136
136
 
137
- def patch_app(app_id: nil, attributes: {}, app_price_tier_id: nil, territory_ids: nil)
137
+ # Updates app attributes, price tier, visibility in regions or countries.
138
+ # Use territory_ids with allow_removing_from_sale to remove app from sale
139
+ # @param territory_ids updates app visibility in regions or countries.
140
+ # Possible values:
141
+ # empty array will remove app from sale if allow_removing_from_sale is true,
142
+ # array with territory ids will set availability to territories with those ids,
143
+ # nil will leave app availability on AppStore as is
144
+ # @param allow_removing_from_sale allows for removing app from sale when territory_ids is an empty array
145
+ def patch_app(app_id: nil, attributes: {}, app_price_tier_id: nil, territory_ids: nil, allow_removing_from_sale: false)
138
146
  relationships = {}
139
147
  included = []
140
148
 
@@ -173,13 +181,15 @@ module Spaceship
173
181
  end
174
182
 
175
183
  # Territories
176
- territories_data = (territory_ids || []).map do |id|
177
- { type: "territories", id: id }
178
- end
179
- unless territories_data.empty?
180
- relationships[:availableTerritories] = {
181
- data: territories_data
182
- }
184
+ unless territory_ids.nil?
185
+ territories_data = territory_ids.map do |id|
186
+ { type: "territories", id: id }
187
+ end
188
+ if !territories_data.empty? || allow_removing_from_sale
189
+ relationships[:availableTerritories] = {
190
+ data: territories_data
191
+ }
192
+ end
183
193
  end
184
194
 
185
195
  # Data
@@ -9,6 +9,7 @@ require_relative 'errors'
9
9
  require_relative 'iap_subscription_pricing_tier'
10
10
  require_relative 'pricing_tier'
11
11
  require_relative 'territory'
12
+ require_relative '../connect_api/response'
12
13
  module Spaceship
13
14
  # rubocop:disable Metrics/ClassLength
14
15
  class TunesClient < Spaceship::Client
@@ -254,8 +255,68 @@ module Spaceship
254
255
  #####################################################
255
256
 
256
257
  def applications
257
- r = request(:get, 'ra/apps/manageyourapps/summary/v2')
258
- parse_response(r, 'data')['summaries']
258
+ # Doing this real bad puts for now until a more formal deprecation logic can get made
259
+ puts("Spaceship::Tunes::Application.all is deprecated")
260
+ puts(" It's using a temporary patch to keep it from raising an error but things may not work correctly")
261
+ puts(" Please consider switching to Spaceship::ConnectAPI if you can")
262
+ puts(" For more details - https://github.com/fastlane/fastlane/pull/20480")
263
+
264
+ # This legacy endpoint went offline around July 7th, 2022. This is a rough attempt
265
+ # at retrofitting using the newer App Store Connect API endpoints
266
+ #
267
+ # This could all be done easily with Spaceship::ConnectAPI::App.find but there were a lot of
268
+ # circular dependency issues that were very difficult to solve because. Spaceship::Tunes would be
269
+ # using Spaceship::ConnectAPI which uses Spaceship::Tunes
270
+ #
271
+ # However, using Spaceship::ConnectAPI::Response works. This will fetch multiple pages of app
272
+ # if it needs to
273
+ #
274
+ # https://github.com/fastlane/fastlane/pull/20480
275
+ r = request(:get, "https://appstoreconnect.apple.com/iris/v1/apps?include=appStoreVersions,prices")
276
+ response = Spaceship::ConnectAPI::Response.new(
277
+ body: r.body,
278
+ status: r.status,
279
+ headers: r.headers,
280
+ client: nil
281
+ )
282
+
283
+ apps = response.all_pages do |url|
284
+ r = request(:get, url)
285
+ Spaceship::ConnectAPI::Response.new(
286
+ body: r.body,
287
+ status: r.status,
288
+ headers: r.headers,
289
+ client: nil
290
+ )
291
+ end.flat_map(&:to_models)
292
+
293
+ apps.map do |asc_app|
294
+ platforms = (asc_app.app_store_versions || []).map(&:platform).uniq.map do |asc_platform|
295
+ case asc_platform
296
+ when "TV_OS"
297
+ "appletvos"
298
+ when "MAC_OS"
299
+ "osx"
300
+ when "IOS"
301
+ "ios"
302
+ else
303
+ raise "Cannot find a matching platform for '#{asc_platform}'}"
304
+ end
305
+ end
306
+
307
+ {
308
+ 'adamId' => asc_app.id,
309
+ 'name' => asc_app.name,
310
+ 'vendorId' => "",
311
+ 'bundleId' => asc_app.bundle_id,
312
+ 'lastModifiedDate' => nil,
313
+ 'issuesCount' => nil,
314
+ 'iconUrl' => nil,
315
+ 'versionSets' => platforms.map do |platform|
316
+ { 'type' => 'app', 'platformString' => platform }
317
+ end
318
+ }
319
+ end
259
320
  end
260
321
 
261
322
  def app_details(app_id)
@@ -15,7 +15,7 @@ module Trainer
15
15
 
16
16
  lib_path = Trainer::ROOT
17
17
  xml_path = File.join(lib_path, "lib/assets/junit.xml.erb")
18
- xml = ERB.new(File.read(xml_path), nil, '<>').result(binding) # http://www.rrn.dk/rubys-erb-templating-system
18
+ xml = ERB.new(File.read(xml_path), trim_mode: '<>').result(binding) # http://www.rrn.dk/rubys-erb-templating-system
19
19
 
20
20
  xml = xml.gsub('system_', 'system-').delete("\e") # Jenkins can not parse 'ESC' symbol
21
21
 
metadata CHANGED
@@ -1,39 +1,39 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.206.1
4
+ version: 2.208.0
5
5
  platform: ruby
6
6
  authors:
7
- - Satoshi Namai
7
+ - Manu Wallner
8
+ - Matthew Ellis
8
9
  - Maksym Grebenets
9
- - Felix Krause
10
- - Olivier Halligon
11
- - Jimmy Dee
12
10
  - Jorge Revuelta H
13
- - Luka Mirosevic
11
+ - Fumiya Nakamura
12
+ - Manish Rathi
13
+ - Felix Krause
14
14
  - Kohki Miki
15
- - Joshua Liebowitz
15
+ - Jimmy Dee
16
16
  - Jan Piotrowski
17
- - Helmut Januschka
18
- - Fumiya Nakamura
19
- - Iulian Onofrei
20
- - Stefan Natchev
21
- - Manu Wallner
17
+ - Daniel Jankowski
22
18
  - Max Ott
23
- - Roger Oba
19
+ - Luka Mirosevic
20
+ - Helmut Januschka
24
21
  - Josh Holtz
25
22
  - Łukasz Grabowski
23
+ - Joshua Liebowitz
24
+ - Iulian Onofrei
26
25
  - Aaron Brager
27
- - Andrew McBurney
28
- - Daniel Jankowski
29
26
  - Jérôme Lacoste
27
+ - Satoshi Namai
28
+ - Olivier Halligon
29
+ - Stefan Natchev
30
+ - Andrew McBurney
31
+ - Roger Oba
30
32
  - Danielle Tomlinson
31
- - Manish Rathi
32
- - Matthew Ellis
33
33
  autorequire:
34
34
  bindir: bin
35
35
  cert_chain: []
36
- date: 2022-05-21 00:00:00.000000000 Z
36
+ date: 2022-07-19 00:00:00.000000000 Z
37
37
  dependencies:
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: xcodeproj
@@ -1364,6 +1364,7 @@ files:
1364
1364
  - fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.pbxproj
1365
1365
  - fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
1366
1366
  - fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
1367
+ - fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/xcuserdata/joshholtz.xcuserdatad/UserInterfaceState.xcuserstate
1367
1368
  - fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/xcshareddata/xcschemes/FastlaneRunner.xcscheme
1368
1369
  - fastlane/swift/FastlaneSwiftRunner/README.txt
1369
1370
  - fastlane/swift/Gymfile.swift
@@ -1516,6 +1517,9 @@ files:
1516
1517
  - match/lib/match/spaceship_ensure.rb
1517
1518
  - match/lib/match/storage.rb
1518
1519
  - match/lib/match/storage/git_storage.rb
1520
+ - match/lib/match/storage/gitlab/client.rb
1521
+ - match/lib/match/storage/gitlab/secure_file.rb
1522
+ - match/lib/match/storage/gitlab_secure_files.rb
1519
1523
  - match/lib/match/storage/google_cloud_storage.rb
1520
1524
  - match/lib/match/storage/interface.rb
1521
1525
  - match/lib/match/storage/s3_storage.rb
@@ -1658,12 +1662,10 @@ files:
1658
1662
  - spaceship/lib/spaceship/client.rb
1659
1663
  - spaceship/lib/spaceship/commands_generator.rb
1660
1664
  - spaceship/lib/spaceship/connect_api.rb
1661
- - spaceship/lib/spaceship/connect_api/.response.rb.swp
1662
1665
  - spaceship/lib/spaceship/connect_api/api_client.rb
1663
1666
  - spaceship/lib/spaceship/connect_api/client.rb
1664
1667
  - spaceship/lib/spaceship/connect_api/file_uploader.rb
1665
1668
  - spaceship/lib/spaceship/connect_api/model.rb
1666
- - spaceship/lib/spaceship/connect_api/models/.app.rb.swp
1667
1669
  - spaceship/lib/spaceship/connect_api/models/.review_submission.rb.swp
1668
1670
  - spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb
1669
1671
  - spaceship/lib/spaceship/connect_api/models/app.rb
@@ -1780,6 +1782,7 @@ files:
1780
1782
  - spaceship/lib/spaceship/test_flight/group.rb
1781
1783
  - spaceship/lib/spaceship/test_flight/test_info.rb
1782
1784
  - spaceship/lib/spaceship/test_flight/tester.rb
1785
+ - spaceship/lib/spaceship/tunes/.tunes_client.rb.swp
1783
1786
  - spaceship/lib/spaceship/tunes/app_analytics.rb
1784
1787
  - spaceship/lib/spaceship/tunes/app_details.rb
1785
1788
  - spaceship/lib/spaceship/tunes/app_image.rb
@@ -1892,7 +1895,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
1892
1895
  requirements:
1893
1896
  - - ">="
1894
1897
  - !ruby/object:Gem::Version
1895
- version: '2.5'
1898
+ version: '2.6'
1896
1899
  required_rubygems_version: !ruby/object:Gem::Requirement
1897
1900
  requirements:
1898
1901
  - - ">="