fastlane 2.169.0 → 2.174.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 (123) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +76 -76
  3. data/deliver/lib/deliver/app_screenshot.rb +5 -7
  4. data/deliver/lib/deliver/app_screenshot_validator.rb +108 -0
  5. data/deliver/lib/deliver/commands_generator.rb +1 -1
  6. data/deliver/lib/deliver/loader.rb +13 -29
  7. data/deliver/lib/deliver/setup.rb +8 -3
  8. data/deliver/lib/deliver/upload_metadata.rb +5 -3
  9. data/fastlane/lib/fastlane/actions/add_git_tag.rb +12 -3
  10. data/fastlane/lib/fastlane/actions/app_store_connect_api_key.rb +1 -0
  11. data/fastlane/lib/fastlane/actions/appetize.rb +13 -1
  12. data/fastlane/lib/fastlane/actions/artifactory.rb +36 -3
  13. data/fastlane/lib/fastlane/actions/build_and_upload_to_appetize.rb +10 -2
  14. data/fastlane/lib/fastlane/actions/build_app.rb +3 -1
  15. data/fastlane/lib/fastlane/actions/carthage.rb +22 -0
  16. data/fastlane/lib/fastlane/actions/cocoapods.rb +15 -1
  17. data/fastlane/lib/fastlane/actions/create_pull_request.rb +16 -1
  18. data/fastlane/lib/fastlane/actions/create_xcframework.rb +118 -0
  19. data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +1 -1
  20. data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +4 -0
  21. data/fastlane/lib/fastlane/actions/docs/upload_to_testflight.md +5 -1
  22. data/fastlane/lib/fastlane/actions/download_app_privacy_details_from_app_store.rb +142 -0
  23. data/fastlane/lib/fastlane/actions/download_dsyms.rb +0 -1
  24. data/fastlane/lib/fastlane/actions/git_commit.rb +6 -2
  25. data/fastlane/lib/fastlane/actions/github_api.rb +14 -3
  26. data/fastlane/lib/fastlane/actions/nexus_upload.rb +1 -0
  27. data/fastlane/lib/fastlane/actions/onesignal.rb +13 -3
  28. data/fastlane/lib/fastlane/actions/pod_push.rb +9 -0
  29. data/fastlane/lib/fastlane/actions/push_to_git_remote.rb +9 -1
  30. data/fastlane/lib/fastlane/actions/register_device.rb +1 -1
  31. data/fastlane/lib/fastlane/actions/register_devices.rb +2 -1
  32. data/fastlane/lib/fastlane/actions/set_github_release.rb +21 -8
  33. data/fastlane/lib/fastlane/actions/slack.rb +4 -5
  34. data/fastlane/lib/fastlane/actions/spm.rb +2 -2
  35. data/fastlane/lib/fastlane/actions/swiftlint.rb +4 -4
  36. data/fastlane/lib/fastlane/actions/upload_app_privacy_details_to_app_store.rb +291 -0
  37. data/fastlane/lib/fastlane/cli_tools_distributor.rb +3 -0
  38. data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +1 -1
  39. data/fastlane/lib/fastlane/swift_fastlane_api_generator.rb +3 -0
  40. data/fastlane/lib/fastlane/version.rb +1 -1
  41. data/fastlane/swift/Actions.swift +1 -1
  42. data/fastlane/swift/Appfile.swift +1 -1
  43. data/fastlane/swift/ArgumentProcessor.swift +1 -1
  44. data/fastlane/swift/ControlCommand.swift +1 -1
  45. data/fastlane/swift/Deliverfile.swift +2 -2
  46. data/fastlane/swift/DeliverfileProtocol.swift +2 -2
  47. data/fastlane/swift/Fastlane.swift +253 -37
  48. data/fastlane/swift/Gymfile.swift +2 -2
  49. data/fastlane/swift/GymfileProtocol.swift +11 -3
  50. data/fastlane/swift/LaneFileProtocol.swift +1 -1
  51. data/fastlane/swift/MainProcess.swift +1 -1
  52. data/fastlane/swift/Matchfile.swift +2 -2
  53. data/fastlane/swift/MatchfileProtocol.swift +2 -2
  54. data/fastlane/swift/Plugins.swift +1 -1
  55. data/fastlane/swift/Precheckfile.swift +2 -2
  56. data/fastlane/swift/PrecheckfileProtocol.swift +6 -2
  57. data/fastlane/swift/RubyCommand.swift +1 -1
  58. data/fastlane/swift/RubyCommandable.swift +1 -1
  59. data/fastlane/swift/Runner.swift +2 -2
  60. data/fastlane/swift/RunnerArgument.swift +1 -1
  61. data/fastlane/swift/Scanfile.swift +2 -2
  62. data/fastlane/swift/ScanfileProtocol.swift +14 -2
  63. data/fastlane/swift/Screengrabfile.swift +2 -2
  64. data/fastlane/swift/ScreengrabfileProtocol.swift +2 -2
  65. data/fastlane/swift/Snapshotfile.swift +2 -2
  66. data/fastlane/swift/SnapshotfileProtocol.swift +15 -3
  67. data/fastlane/swift/SocketClient.swift +1 -1
  68. data/fastlane/swift/SocketClientDelegateProtocol.swift +1 -1
  69. data/fastlane/swift/SocketResponse.swift +1 -1
  70. data/fastlane/swift/formatting/Brewfile.lock.json +18 -14
  71. data/fastlane/swift/main.swift +1 -1
  72. data/fastlane_core/lib/fastlane_core/configuration/configuration.rb +7 -1
  73. data/fastlane_core/lib/fastlane_core/helper.rb +2 -2
  74. data/fastlane_core/lib/fastlane_core/ipa_file_analyser.rb +41 -16
  75. data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +3 -4
  76. data/fastlane_core/lib/fastlane_core/project.rb +41 -14
  77. data/frameit/lib/frameit/device_types.rb +7 -1
  78. data/gym/lib/gym/error_handler.rb +8 -0
  79. data/gym/lib/gym/generators/build_command_generator.rb +3 -1
  80. data/gym/lib/gym/generators/package_command_generator_xcode7.rb +2 -2
  81. data/gym/lib/gym/options.rb +12 -2
  82. data/match/lib/match/encryption/openssl.rb +4 -2
  83. data/match/lib/match/runner.rb +1 -1
  84. data/match/lib/match/storage/git_storage.rb +14 -10
  85. data/precheck/lib/precheck/options.rb +6 -1
  86. data/precheck/lib/precheck/rule_processor.rb +1 -1
  87. data/precheck/lib/precheck/runner.rb +1 -1
  88. data/scan/lib/scan/options.rb +15 -0
  89. data/scan/lib/scan/runner.rb +6 -1
  90. data/scan/lib/scan/slack_poster.rb +4 -1
  91. data/scan/lib/scan/test_command_generator.rb +3 -1
  92. data/screengrab/lib/screengrab/runner.rb +2 -0
  93. data/sigh/lib/sigh/runner.rb +1 -1
  94. data/snapshot/lib/assets/SnapshotHelper.swift +1 -1
  95. data/snapshot/lib/snapshot/options.rb +17 -2
  96. data/snapshot/lib/snapshot/update.rb +1 -1
  97. data/spaceship/lib/spaceship/client.rb +14 -1
  98. data/spaceship/lib/spaceship/connect_api.rb +6 -0
  99. data/spaceship/lib/spaceship/connect_api/api_client.rb +17 -2
  100. data/spaceship/lib/spaceship/connect_api/models/app.rb +6 -0
  101. data/spaceship/lib/spaceship/connect_api/models/app_data_usage.rb +59 -0
  102. data/spaceship/lib/spaceship/connect_api/models/app_data_usage_category.rb +65 -0
  103. data/spaceship/lib/spaceship/connect_api/models/app_data_usage_data_protection.rb +27 -0
  104. data/spaceship/lib/spaceship/connect_api/models/app_data_usage_grouping.rb +18 -0
  105. data/spaceship/lib/spaceship/connect_api/models/app_data_usage_purposes.rb +37 -0
  106. data/spaceship/lib/spaceship/connect_api/models/app_data_usages_publish_state.rb +36 -0
  107. data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +7 -1
  108. data/spaceship/lib/spaceship/connect_api/models/beta_group.rb +9 -0
  109. data/spaceship/lib/spaceship/connect_api/models/bundle_id.rb +24 -0
  110. data/spaceship/lib/spaceship/connect_api/models/bundle_id_capability.rb +26 -4
  111. data/spaceship/lib/spaceship/connect_api/models/device.rb +30 -0
  112. data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +53 -0
  113. data/spaceship/lib/spaceship/connect_api/response.rb +3 -1
  114. data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +12 -0
  115. data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +103 -0
  116. data/spaceship/lib/spaceship/two_step_or_factor_client.rb +1 -0
  117. data/spaceship/lib/spaceship/upgrade_2fa_later_client.rb +91 -0
  118. metadata +45 -25
  119. data/cert/lib/cert/.options.rb.swp +0 -0
  120. data/cert/lib/cert/.runner.rb.swp +0 -0
  121. data/fastlane/lib/fastlane/actions/.download_dsyms.rb.swp +0 -0
  122. data/match/lib/match/.options.rb.swp +0 -0
  123. data/sigh/lib/sigh/.options.rb.swp +0 -0
@@ -4,6 +4,7 @@ require_relative 'tunes/tunes_client'
4
4
  module Spaceship
5
5
  class Client
6
6
  def handle_two_step_or_factor(response)
7
+ raise "2FA can only be performed in interactive mode" if ENV["SPACESHIP_ONLY_ALLOW_INTERACTIVE_2FA"] == "true" && ENV["FASTLANE_IS_INTERACTIVE"] == "false"
7
8
  # extract `x-apple-id-session-id` and `scnt` from response, to be used by `update_request_headers`
8
9
  @x_apple_id_session_id = response["x-apple-id-session-id"]
9
10
  @scnt = response["scnt"]
@@ -0,0 +1,91 @@
1
+ require_relative 'globals'
2
+ require_relative 'tunes/tunes_client'
3
+
4
+ module Spaceship
5
+ class Client
6
+ def try_upgrade_2fa_later(response)
7
+ if ENV['SPACESHIP_SKIP_2FA_UPGRADE'].nil?
8
+ return false
9
+ end
10
+
11
+ puts("This account is being prompted to upgrade to 2FA")
12
+ puts("Attempting to automatically bypass the upgrade until a later date")
13
+ puts("To disable this, remove SPACESHIP_SKIP_2FA_UPGRADE=1 environment variable")
14
+
15
+ # Get URL that requests a repair and gets the widget key
16
+ widget_key_location = response.headers['location']
17
+ uri = URI.parse(widget_key_location)
18
+ params = CGI.parse(uri.query)
19
+
20
+ widget_key = params.dig('widgetKey', 0)
21
+ if widget_key.nil?
22
+ STDERR.puts("Couldn't find widgetKey to continue with requests")
23
+ return false
24
+ end
25
+
26
+ # Step 1 - Request repair
27
+ response_repair = request(:get) do |req|
28
+ req.url(widget_key_location)
29
+ end
30
+
31
+ # Step 2 - Request repair options
32
+ response_repair_options = request(:get) do |req|
33
+ req.url("https://appleid.apple.com/account/manage/repair/options")
34
+
35
+ req.headers['scnt'] = response_repair.headers['scnt']
36
+ req.headers['X-Apple-Id-Session-Id'] = response.headers['X-Apple-Id-Session-Id']
37
+ req.headers['X-Apple-Session-Token'] = response.headers['X-Apple-Repair-Session-Token']
38
+
39
+ req.headers['X-Apple-Skip-Repair-Attributes'] = '[]'
40
+ req.headers['X-Apple-Widget-Key'] = widget_key
41
+
42
+ req.headers['Content-Type'] = 'application/json'
43
+ req.headers['X-Requested-With'] = 'XMLHttpRequest'
44
+ req.headers['Accept'] = 'application/json, text/javascript'
45
+ end
46
+
47
+ # Step 3 - Request setup later
48
+ request(:get) do |req|
49
+ req.url("https://appleid.apple.com/account/security/upgrade/setuplater")
50
+
51
+ req.headers['scnt'] = response_repair_options.headers['scnt']
52
+ req.headers['X-Apple-Id-Session-Id'] = response.headers['X-Apple-Id-Session-Id']
53
+ req.headers['X-Apple-Session-Token'] = response_repair_options.headers['x-apple-session-token']
54
+ req.headers['X-Apple-Skip-Repair-Attributes'] = '[]'
55
+ req.headers['X-Apple-Widget-Key'] = widget_key
56
+
57
+ req.headers['Content-Type'] = 'application/json'
58
+ req.headers['X-Requested-With'] = 'XMLHttpRequest'
59
+ req.headers['Accept'] = 'application/json, text/javascript'
60
+ end
61
+
62
+ # Step 4 - Post complete
63
+ response_repair_complete = request(:post) do |req|
64
+ req.url("https://idmsa.apple.com/appleauth/auth/repair/complete")
65
+
66
+ req.body = ''
67
+ req.headers['scnt'] = response.headers['scnt']
68
+ req.headers['X-Apple-Id-Session-Id'] = response.headers['X-Apple-Id-Session-Id']
69
+ req.headers['X-Apple-Repair-Session-Token'] = response_repair_options.headers['X-Apple-Session-Token']
70
+
71
+ req.headers['X-Apple-Widget-Key'] = widget_key
72
+
73
+ req.headers['Content-Type'] = 'application/json'
74
+ req.headers['X-Requested-With'] = 'XMLHttpRequest'
75
+ req.headers['Accept'] = 'application/json;charset=utf-8'
76
+ end
77
+
78
+ if response_repair_complete.status == 204
79
+ return true
80
+ else
81
+ STDERR.puts("Failed with status code of #{response_repair_complete.status}")
82
+ return false
83
+ end
84
+ rescue => error
85
+ STDERR.puts(error.backtrace)
86
+ STDERR.puts("Failed to bypass 2FA upgrade")
87
+ STDERR.puts("To disable this from trying again, set SPACESHIP_SKIP_UPGRADE_2FA_LATER=1")
88
+ return false
89
+ end
90
+ end
91
+ end
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.169.0
4
+ version: 2.174.0
5
5
  platform: ruby
6
6
  authors:
7
- - Jimmy Dee
7
+ - Felix Krause
8
8
  - Stefan Natchev
9
- - Joshua Liebowitz
9
+ - Jorge Revuelta H
10
+ - Matthew Ellis
11
+ - Jimmy Dee
12
+ - Andrew McBurney
13
+ - Jérôme Lacoste
10
14
  - Kohki Miki
11
- - Danielle Tomlinson
12
- - Fumiya Nakamura
15
+ - Helmut Januschka
16
+ - Jan Piotrowski
13
17
  - Daniel Jankowski
14
- - Manu Wallner
18
+ - Danielle Tomlinson
19
+ - Max Ott
20
+ - Josh Holtz
21
+ - Iulian Onofrei
22
+ - Joshua Liebowitz
15
23
  - Olivier Halligon
24
+ - Fumiya Nakamura
16
25
  - Maksym Grebenets
17
- - Andrew McBurney
18
26
  - Luka Mirosevic
19
- - Felix Krause
20
- - Iulian Onofrei
21
- - Matthew Ellis
27
+ - Manu Wallner
22
28
  - Aaron Brager
23
- - Max Ott
24
- - Helmut Januschka
25
- - Jan Piotrowski
26
- - Jérôme Lacoste
27
- - Jorge Revuelta H
28
- - Josh Holtz
29
29
  autorequire:
30
30
  bindir: bin
31
31
  cert_chain: []
32
- date: 2020-12-01 00:00:00.000000000 Z
32
+ date: 2021-02-10 00:00:00.000000000 Z
33
33
  dependencies:
34
34
  - !ruby/object:Gem::Dependency
35
35
  name: slack-notifier
@@ -253,6 +253,20 @@ dependencies:
253
253
  - - "<"
254
254
  - !ruby/object:Gem::Version
255
255
  version: 1.0.0
256
+ - !ruby/object:Gem::Dependency
257
+ name: artifactory
258
+ requirement: !ruby/object:Gem::Requirement
259
+ requirements:
260
+ - - "~>"
261
+ - !ruby/object:Gem::Version
262
+ version: '3.0'
263
+ type: :runtime
264
+ prerelease: false
265
+ version_requirements: !ruby/object:Gem::Requirement
266
+ requirements:
267
+ - - "~>"
268
+ - !ruby/object:Gem::Version
269
+ version: '3.0'
256
270
  - !ruby/object:Gem::Dependency
257
271
  name: babosa
258
272
  requirement: !ruby/object:Gem::Requirement
@@ -679,14 +693,14 @@ dependencies:
679
693
  requirements:
680
694
  - - "~>"
681
695
  - !ruby/object:Gem::Version
682
- version: 3.9.0
696
+ version: 3.10.0
683
697
  type: :development
684
698
  prerelease: false
685
699
  version_requirements: !ruby/object:Gem::Requirement
686
700
  requirements:
687
701
  - - "~>"
688
702
  - !ruby/object:Gem::Version
689
- version: 3.9.0
703
+ version: 3.10.0
690
704
  - !ruby/object:Gem::Dependency
691
705
  name: rspec_junit_formatter
692
706
  requirement: !ruby/object:Gem::Requirement
@@ -928,8 +942,6 @@ files:
928
942
  - bin/fastlane
929
943
  - cert/README.md
930
944
  - cert/lib/cert.rb
931
- - cert/lib/cert/.options.rb.swp
932
- - cert/lib/cert/.runner.rb.swp
933
945
  - cert/lib/cert/commands_generator.rb
934
946
  - cert/lib/cert/module.rb
935
947
  - cert/lib/cert/options.rb
@@ -947,6 +959,7 @@ files:
947
959
  - deliver/lib/deliver.rb
948
960
  - deliver/lib/deliver/app_screenshot.rb
949
961
  - deliver/lib/deliver/app_screenshot_iterator.rb
962
+ - deliver/lib/deliver/app_screenshot_validator.rb
950
963
  - deliver/lib/deliver/commands_generator.rb
951
964
  - deliver/lib/deliver/detect_values.rb
952
965
  - deliver/lib/deliver/download_screenshots.rb
@@ -985,7 +998,6 @@ files:
985
998
  - fastlane/lib/fastlane/.erb_template_helper.rb.swp
986
999
  - fastlane/lib/fastlane/action.rb
987
1000
  - fastlane/lib/fastlane/action_collector.rb
988
- - fastlane/lib/fastlane/actions/.download_dsyms.rb.swp
989
1001
  - fastlane/lib/fastlane/actions/.git_commit.rb.swp
990
1002
  - fastlane/lib/fastlane/actions/README.md
991
1003
  - fastlane/lib/fastlane/actions/actions_helper.rb
@@ -1035,6 +1047,7 @@ files:
1035
1047
  - fastlane/lib/fastlane/actions/create_app_online.rb
1036
1048
  - fastlane/lib/fastlane/actions/create_keychain.rb
1037
1049
  - fastlane/lib/fastlane/actions/create_pull_request.rb
1050
+ - fastlane/lib/fastlane/actions/create_xcframework.rb
1038
1051
  - fastlane/lib/fastlane/actions/danger.rb
1039
1052
  - fastlane/lib/fastlane/actions/debug.rb
1040
1053
  - fastlane/lib/fastlane/actions/default_platform.rb
@@ -1058,6 +1071,7 @@ files:
1058
1071
  - fastlane/lib/fastlane/actions/docs/upload_to_testflight.md
1059
1072
  - fastlane/lib/fastlane/actions/dotgpg_environment.rb
1060
1073
  - fastlane/lib/fastlane/actions/download.rb
1074
+ - fastlane/lib/fastlane/actions/download_app_privacy_details_from_app_store.rb
1061
1075
  - fastlane/lib/fastlane/actions/download_dsyms.rb
1062
1076
  - fastlane/lib/fastlane/actions/download_from_play_store.rb
1063
1077
  - fastlane/lib/fastlane/actions/dsym_zip.rb
@@ -1209,6 +1223,7 @@ files:
1209
1223
  - fastlane/lib/fastlane/actions/update_project_team.rb
1210
1224
  - fastlane/lib/fastlane/actions/update_urban_airship_configuration.rb
1211
1225
  - fastlane/lib/fastlane/actions/update_url_schemes.rb
1226
+ - fastlane/lib/fastlane/actions/upload_app_privacy_details_to_app_store.rb
1212
1227
  - fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb
1213
1228
  - fastlane/lib/fastlane/actions/upload_symbols_to_sentry.rb
1214
1229
  - fastlane/lib/fastlane/actions/upload_to_app_store.rb
@@ -1456,7 +1471,6 @@ files:
1456
1471
  - match/lib/assets/MatchfileTemplate.swift
1457
1472
  - match/lib/assets/READMETemplate.md
1458
1473
  - match/lib/match.rb
1459
- - match/lib/match/.options.rb.swp
1460
1474
  - match/lib/match/change_password.rb
1461
1475
  - match/lib/match/commands_generator.rb
1462
1476
  - match/lib/match/encryption.rb
@@ -1566,7 +1580,6 @@ files:
1566
1580
  - sigh/README.md
1567
1581
  - sigh/lib/assets/resign.sh
1568
1582
  - sigh/lib/sigh.rb
1569
- - sigh/lib/sigh/.options.rb.swp
1570
1583
  - sigh/lib/sigh/commands_generator.rb
1571
1584
  - sigh/lib/sigh/download_all.rb
1572
1585
  - sigh/lib/sigh/local_manage.rb
@@ -1627,6 +1640,12 @@ files:
1627
1640
  - spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb
1628
1641
  - spaceship/lib/spaceship/connect_api/models/app.rb
1629
1642
  - spaceship/lib/spaceship/connect_api/models/app_category.rb
1643
+ - spaceship/lib/spaceship/connect_api/models/app_data_usage.rb
1644
+ - spaceship/lib/spaceship/connect_api/models/app_data_usage_category.rb
1645
+ - spaceship/lib/spaceship/connect_api/models/app_data_usage_data_protection.rb
1646
+ - spaceship/lib/spaceship/connect_api/models/app_data_usage_grouping.rb
1647
+ - spaceship/lib/spaceship/connect_api/models/app_data_usage_purposes.rb
1648
+ - spaceship/lib/spaceship/connect_api/models/app_data_usages_publish_state.rb
1630
1649
  - spaceship/lib/spaceship/connect_api/models/app_info.rb
1631
1650
  - spaceship/lib/spaceship/connect_api/models/app_info_localization.rb
1632
1651
  - spaceship/lib/spaceship/connect_api/models/app_preview.rb
@@ -1784,6 +1803,7 @@ files:
1784
1803
  - spaceship/lib/spaceship/tunes/version_set.rb
1785
1804
  - spaceship/lib/spaceship/two_step_or_factor_client.rb
1786
1805
  - spaceship/lib/spaceship/ui.rb
1806
+ - spaceship/lib/spaceship/upgrade_2fa_later_client.rb
1787
1807
  - supply/README.md
1788
1808
  - supply/lib/supply.rb
1789
1809
  - supply/lib/supply/apk_listing.rb
@@ -1833,7 +1853,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1833
1853
  - !ruby/object:Gem::Version
1834
1854
  version: '0'
1835
1855
  requirements: []
1836
- rubygems_version: 3.1.4
1856
+ rubygems_version: 3.0.3
1837
1857
  signing_key:
1838
1858
  specification_version: 4
1839
1859
  summary: The easiest way to automate beta deployments and releases for your iOS and
Binary file
Binary file
Binary file
Binary file