fastlane 2.173.0 → 2.178.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (134) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +82 -82
  3. data/cert/lib/cert/options.rb +2 -2
  4. data/cert/lib/cert/runner.rb +1 -1
  5. data/deliver/lib/deliver/app_screenshot.rb +6 -2
  6. data/deliver/lib/deliver/options.rb +2 -2
  7. data/deliver/lib/deliver/runner.rb +8 -4
  8. data/deliver/lib/deliver/upload_metadata.rb +3 -3
  9. data/deliver/lib/deliver/upload_screenshots.rb +12 -11
  10. data/fastlane/lib/fastlane/actions/adb.rb +1 -1
  11. data/fastlane/lib/fastlane/actions/app_store_build_number.rb +3 -3
  12. data/fastlane/lib/fastlane/actions/app_store_connect_api_key.rb +6 -2
  13. data/fastlane/lib/fastlane/actions/appaloosa.rb +7 -2
  14. data/fastlane/lib/fastlane/actions/appetize.rb +13 -1
  15. data/fastlane/lib/fastlane/actions/backup_file.rb +1 -1
  16. data/fastlane/lib/fastlane/actions/build_and_upload_to_appetize.rb +10 -2
  17. data/fastlane/lib/fastlane/actions/carthage.rb +22 -0
  18. data/fastlane/lib/fastlane/actions/cocoapods.rb +15 -1
  19. data/fastlane/lib/fastlane/actions/commit_github_file.rb +11 -1
  20. data/fastlane/lib/fastlane/actions/create_xcframework.rb +5 -0
  21. data/fastlane/lib/fastlane/actions/docs/capture_android_screenshots.md +1 -1
  22. data/fastlane/lib/fastlane/actions/docs/frame_screenshots.md +1 -1
  23. data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +8 -2
  24. data/fastlane/lib/fastlane/actions/download_dsyms.rb +5 -15
  25. data/fastlane/lib/fastlane/actions/get_github_release.rb +11 -1
  26. data/fastlane/lib/fastlane/actions/git_commit.rb +1 -1
  27. data/fastlane/lib/fastlane/actions/github_api.rb +2 -1
  28. data/fastlane/lib/fastlane/actions/increment_build_number.rb +8 -1
  29. data/fastlane/lib/fastlane/actions/jazzy.rb +10 -1
  30. data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +2 -2
  31. data/fastlane/lib/fastlane/actions/push_to_git_remote.rb +1 -2
  32. data/fastlane/lib/fastlane/actions/register_device.rb +3 -3
  33. data/fastlane/lib/fastlane/actions/register_devices.rb +3 -3
  34. data/fastlane/lib/fastlane/actions/restore_file.rb +1 -1
  35. data/fastlane/lib/fastlane/actions/set_changelog.rb +3 -3
  36. data/fastlane/lib/fastlane/actions/swiftlint.rb +1 -1
  37. data/fastlane/lib/fastlane/actions/update_code_signing_settings.rb +1 -1
  38. data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +4 -5
  39. data/fastlane/lib/fastlane/actions/upload_to_testflight.rb +5 -1
  40. data/fastlane/lib/fastlane/documentation/actions_list.rb +2 -2
  41. data/fastlane/lib/fastlane/erb_template_helper.rb +7 -1
  42. data/fastlane/lib/fastlane/fast_file.rb +9 -5
  43. data/fastlane/lib/fastlane/helper/adb_helper.rb +1 -1
  44. data/fastlane/lib/fastlane/helper/gem_helper.rb +2 -2
  45. data/fastlane/lib/fastlane/version.rb +1 -1
  46. data/fastlane/swift/Actions.swift +1 -1
  47. data/fastlane/swift/Appfile.swift +1 -1
  48. data/fastlane/swift/ArgumentProcessor.swift +1 -1
  49. data/fastlane/swift/ControlCommand.swift +1 -1
  50. data/fastlane/swift/Deliverfile.swift +1 -1
  51. data/fastlane/swift/DeliverfileProtocol.swift +1 -1
  52. data/fastlane/swift/Fastlane.swift +71 -27
  53. data/fastlane/swift/Gymfile.swift +1 -1
  54. data/fastlane/swift/GymfileProtocol.swift +1 -1
  55. data/fastlane/swift/LaneFileProtocol.swift +1 -1
  56. data/fastlane/swift/MainProcess.swift +1 -1
  57. data/fastlane/swift/Matchfile.swift +1 -1
  58. data/fastlane/swift/MatchfileProtocol.swift +1 -1
  59. data/fastlane/swift/Plugins.swift +1 -1
  60. data/fastlane/swift/Precheckfile.swift +1 -1
  61. data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
  62. data/fastlane/swift/RubyCommand.swift +1 -1
  63. data/fastlane/swift/RubyCommandable.swift +1 -1
  64. data/fastlane/swift/Runner.swift +2 -2
  65. data/fastlane/swift/RunnerArgument.swift +1 -1
  66. data/fastlane/swift/Scanfile.swift +1 -1
  67. data/fastlane/swift/ScanfileProtocol.swift +9 -1
  68. data/fastlane/swift/Screengrabfile.swift +1 -1
  69. data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
  70. data/fastlane/swift/Snapshotfile.swift +1 -1
  71. data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
  72. data/fastlane/swift/SocketClient.swift +1 -1
  73. data/fastlane/swift/SocketClientDelegateProtocol.swift +1 -1
  74. data/fastlane/swift/SocketResponse.swift +1 -1
  75. data/fastlane/swift/formatting/Brewfile.lock.json +20 -14
  76. data/fastlane/swift/main.swift +1 -1
  77. data/fastlane_core/lib/fastlane_core.rb +1 -0
  78. data/fastlane_core/lib/fastlane_core/command_executor.rb +3 -9
  79. data/fastlane_core/lib/fastlane_core/configuration/commander_generator.rb +1 -1
  80. data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +23 -0
  81. data/fastlane_core/lib/fastlane_core/configuration/configuration.rb +9 -5
  82. data/fastlane_core/lib/fastlane_core/helper.rb +26 -5
  83. data/fastlane_core/lib/fastlane_core/ipa_upload_package_builder.rb +3 -2
  84. data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +14 -8
  85. data/fastlane_core/lib/fastlane_core/keychain_importer.rb +1 -1
  86. data/fastlane_core/lib/fastlane_core/pkg_upload_package_builder.rb +3 -2
  87. data/fastlane_core/lib/fastlane_core/project.rb +23 -20
  88. data/{deliver/lib/deliver → fastlane_core/lib/fastlane_core}/queue_worker.rb +2 -2
  89. data/fastlane_core/lib/fastlane_core/ui/interface.rb +1 -1
  90. data/fastlane_core/lib/fastlane_core/update_checker/update_checker.rb +2 -2
  91. data/gym/lib/gym/.runner.rb.swp +0 -0
  92. data/gym/lib/gym/generators/.package_command_generator_xcode7.rb.swp +0 -0
  93. data/match/lib/match/importer.rb +1 -1
  94. data/match/lib/match/migrate.rb +1 -1
  95. data/match/lib/match/nuke.rb +6 -1
  96. data/match/lib/match/options.rb +2 -2
  97. data/match/lib/match/runner.rb +1 -1
  98. data/match/lib/match/storage/google_cloud_storage.rb +1 -1
  99. data/match/lib/match/storage/s3_storage.rb +1 -1
  100. data/pilot/lib/pilot/build_manager.rb +25 -8
  101. data/pilot/lib/pilot/manager.rb +1 -1
  102. data/pilot/lib/pilot/options.rb +5 -5
  103. data/precheck/lib/precheck/options.rb +2 -2
  104. data/precheck/lib/precheck/runner.rb +2 -2
  105. data/scan/lib/scan/detect_values.rb +4 -1
  106. data/scan/lib/scan/options.rb +10 -0
  107. data/scan/lib/scan/runner.rb +27 -0
  108. data/screengrab/lib/screengrab/android_environment.rb +2 -2
  109. data/screengrab/lib/screengrab/runner.rb +1 -2
  110. data/sigh/lib/sigh/download_all.rb +1 -1
  111. data/sigh/lib/sigh/options.rb +2 -2
  112. data/sigh/lib/sigh/runner.rb +1 -1
  113. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +2 -1
  114. data/spaceship/README.md +2 -2
  115. data/spaceship/lib/spaceship/client.rb +18 -17
  116. data/spaceship/lib/spaceship/connect_api/api_client.rb +40 -7
  117. data/spaceship/lib/spaceship/connect_api/models/app.rb +1 -1
  118. data/spaceship/lib/spaceship/connect_api/models/app_preview_set.rb +5 -0
  119. data/spaceship/lib/spaceship/connect_api/models/app_screenshot_set.rb +5 -0
  120. data/spaceship/lib/spaceship/connect_api/models/app_store_version_localization.rb +6 -0
  121. data/spaceship/lib/spaceship/connect_api/models/beta_group.rb +5 -0
  122. data/spaceship/lib/spaceship/connect_api/models/build.rb +5 -0
  123. data/spaceship/lib/spaceship/connect_api/models/build_beta_detail.rb +4 -0
  124. data/spaceship/lib/spaceship/connect_api/models/bundle_id.rb +24 -0
  125. data/spaceship/lib/spaceship/connect_api/models/bundle_id_capability.rb +26 -4
  126. data/spaceship/lib/spaceship/connect_api/models/user_invitation.rb +13 -0
  127. data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +53 -0
  128. data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +13 -0
  129. data/spaceship/lib/spaceship/connect_api/token.rb +2 -2
  130. data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +15 -0
  131. data/spaceship/lib/spaceship/playground.rb +2 -2
  132. data/spaceship/lib/spaceship/tunes/tunes_client.rb +2 -2
  133. data/spaceship/lib/spaceship/two_step_or_factor_client.rb +42 -29
  134. metadata +38 -22
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 84a3a2b2d4fc8ec05b2b67244f2a41b643b7a3596b42eafcd76e409681d419a8
4
- data.tar.gz: 4843a267b0adad749d4a5670decd3d875285b387bbbd0df01c286b8ee5d64f9a
3
+ metadata.gz: 6d8f29ce571c194cdd4205a68d2c3499decca2d3d2fd397105e24e327f1b401a
4
+ data.tar.gz: 225123cb025970e86271c379fed40d6af294adbd5f50ae6047c96311682116e9
5
5
  SHA512:
6
- metadata.gz: b11081f274dfda7fb57b9de1940b7aeef425938b2f9811063b49306e82ddd274ac1f2c12f12ddfc6a750216438387d383da4c8a2ca504d768e9dff80c2b52bf1
7
- data.tar.gz: 13c125644f4d2b7e2a8678c327b65aaeb9569b36acef098b6a229d79808ca472b1887ad30a917e40452725cc20386fb073417d8201d43c674420562bad7818dd
6
+ metadata.gz: 2cf3f576b4433b77b6a86edc9cf92fb615e38e2aaaf0090e247f4df3bcdd9233f177cc2ecc26bffa564cf970812a14e14c3e2376f03b41986237708b74c72a21
7
+ data.tar.gz: efe5b450ad7177392e05457915f54a54fc5afcd9c500c87c4a8f9bcaeaa1fbbb7f3fbf7ed2024dfec508afe3b25c272f5280fe6619bec205fbbd821bec24fa0e
data/README.md CHANGED
@@ -34,17 +34,23 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
34
34
  <!-- This table is regenerated and resorted on each release -->
35
35
  <table id='team'>
36
36
  <tr>
37
- <td id='daniel-jankowski'>
38
- <a href='https://github.com/mollyIV'>
39
- <img src='https://github.com/mollyIV.png?size=140'>
37
+ <td id='kohki-miki'>
38
+ <a href='https://github.com/giginet'>
39
+ <img src='https://github.com/giginet.png?size=140'>
40
40
  </a>
41
- <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
41
+ <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
42
42
  </td>
43
- <td id='helmut-januschka'>
44
- <a href='https://github.com/hjanuschka'>
45
- <img src='https://github.com/hjanuschka.png?size=140'>
43
+ <td id='joshua-liebowitz'>
44
+ <a href='https://github.com/taquitos'>
45
+ <img src='https://github.com/taquitos.png?size=140'>
46
46
  </a>
47
- <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
47
+ <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
48
+ </td>
49
+ <td id='jimmy-dee'>
50
+ <a href='https://github.com/jdee'>
51
+ <img src='https://github.com/jdee.png?size=140'>
52
+ </a>
53
+ <h4 align='center'>Jimmy Dee</h4>
48
54
  </td>
49
55
  <td id='jan-piotrowski'>
50
56
  <a href='https://github.com/janpio'>
@@ -52,43 +58,25 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
52
58
  </a>
53
59
  <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
54
60
  </td>
55
- <td id='luka-mirosevic'>
56
- <a href='https://github.com/lmirosevic'>
57
- <img src='https://github.com/lmirosevic.png?size=140'>
58
- </a>
59
- <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
60
- </td>
61
- <td id='felix-krause'>
62
- <a href='https://github.com/KrauseFx'>
63
- <img src='https://github.com/KrauseFx.png?size=140'>
61
+ <td id='jérôme-lacoste'>
62
+ <a href='https://github.com/lacostej'>
63
+ <img src='https://github.com/lacostej.png?size=140'>
64
64
  </a>
65
- <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
65
+ <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
66
66
  </td>
67
67
  </tr>
68
68
  <tr>
69
- <td id='jimmy-dee'>
70
- <a href='https://github.com/jdee'>
71
- <img src='https://github.com/jdee.png?size=140'>
72
- </a>
73
- <h4 align='center'>Jimmy Dee</h4>
74
- </td>
75
- <td id='kohki-miki'>
76
- <a href='https://github.com/giginet'>
77
- <img src='https://github.com/giginet.png?size=140'>
78
- </a>
79
- <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
80
- </td>
81
- <td id='joshua-liebowitz'>
82
- <a href='https://github.com/taquitos'>
83
- <img src='https://github.com/taquitos.png?size=140'>
69
+ <td id='josh-holtz'>
70
+ <a href='https://github.com/joshdholtz'>
71
+ <img src='https://github.com/joshdholtz.png?size=140'>
84
72
  </a>
85
- <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
73
+ <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
86
74
  </td>
87
- <td id='fumiya-nakamura'>
88
- <a href='https://github.com/nafu'>
89
- <img src='https://github.com/nafu.png?size=140'>
75
+ <td id='danielle-tomlinson'>
76
+ <a href='https://github.com/endocrimes'>
77
+ <img src='https://github.com/endocrimes.png?size=140'>
90
78
  </a>
91
- <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
79
+ <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
92
80
  </td>
93
81
  <td id='matthew-ellis'>
94
82
  <a href='https://github.com/matthewellis'>
@@ -96,37 +84,49 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
96
84
  </a>
97
85
  <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
98
86
  </td>
87
+ <td id='max-ott'>
88
+ <a href='https://github.com/max-ott'>
89
+ <img src='https://github.com/max-ott.png?size=140'>
90
+ </a>
91
+ <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
92
+ </td>
93
+ <td id='manu-wallner'>
94
+ <a href='https://github.com/milch'>
95
+ <img src='https://github.com/milch.png?size=140'>
96
+ </a>
97
+ <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
98
+ </td>
99
99
  </tr>
100
100
  <tr>
101
- <td id='maksym-grebenets'>
102
- <a href='https://github.com/mgrebenets'>
103
- <img src='https://github.com/mgrebenets.png?size=140'>
101
+ <td id='luka-mirosevic'>
102
+ <a href='https://github.com/lmirosevic'>
103
+ <img src='https://github.com/lmirosevic.png?size=140'>
104
104
  </a>
105
- <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
105
+ <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
106
106
  </td>
107
- <td id='andrew-mcburney'>
108
- <a href='https://github.com/armcburney'>
109
- <img src='https://github.com/armcburney.png?size=140'>
107
+ <td id='stefan-natchev'>
108
+ <a href='https://github.com/snatchev'>
109
+ <img src='https://github.com/snatchev.png?size=140'>
110
110
  </a>
111
- <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
111
+ <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
112
112
  </td>
113
- <td id='max-ott'>
114
- <a href='https://github.com/max-ott'>
115
- <img src='https://github.com/max-ott.png?size=140'>
113
+ <td id='maksym-grebenets'>
114
+ <a href='https://github.com/mgrebenets'>
115
+ <img src='https://github.com/mgrebenets.png?size=140'>
116
116
  </a>
117
- <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
117
+ <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
118
118
  </td>
119
- <td id='olivier-halligon'>
120
- <a href='https://github.com/AliSoftware'>
121
- <img src='https://github.com/AliSoftware.png?size=140'>
119
+ <td id='felix-krause'>
120
+ <a href='https://github.com/KrauseFx'>
121
+ <img src='https://github.com/KrauseFx.png?size=140'>
122
122
  </a>
123
- <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
123
+ <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
124
124
  </td>
125
- <td id='iulian-onofrei'>
126
- <a href='https://github.com/revolter'>
127
- <img src='https://github.com/revolter.png?size=140'>
125
+ <td id='helmut-januschka'>
126
+ <a href='https://github.com/hjanuschka'>
127
+ <img src='https://github.com/hjanuschka.png?size=140'>
128
128
  </a>
129
- <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
129
+ <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
130
130
  </td>
131
131
  </tr>
132
132
  <tr>
@@ -136,43 +136,43 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
136
136
  </a>
137
137
  <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
138
138
  </td>
139
- <td id='manu-wallner'>
140
- <a href='https://github.com/milch'>
141
- <img src='https://github.com/milch.png?size=140'>
139
+ <td id='andrew-mcburney'>
140
+ <a href='https://github.com/armcburney'>
141
+ <img src='https://github.com/armcburney.png?size=140'>
142
142
  </a>
143
- <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
143
+ <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
144
144
  </td>
145
- <td id='josh-holtz'>
146
- <a href='https://github.com/joshdholtz'>
147
- <img src='https://github.com/joshdholtz.png?size=140'>
145
+ <td id='iulian-onofrei'>
146
+ <a href='https://github.com/revolter'>
147
+ <img src='https://github.com/revolter.png?size=140'>
148
148
  </a>
149
- <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
149
+ <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
150
150
  </td>
151
- <td id='danielle-tomlinson'>
152
- <a href='https://github.com/endocrimes'>
153
- <img src='https://github.com/endocrimes.png?size=140'>
151
+ <td id='jorge-revuelta-h'>
152
+ <a href='https://github.com/minuscorp'>
153
+ <img src='https://github.com/minuscorp.png?size=140'>
154
154
  </a>
155
- <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
155
+ <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
156
156
  </td>
157
- <td id='jérôme-lacoste'>
158
- <a href='https://github.com/lacostej'>
159
- <img src='https://github.com/lacostej.png?size=140'>
157
+ <td id='olivier-halligon'>
158
+ <a href='https://github.com/AliSoftware'>
159
+ <img src='https://github.com/AliSoftware.png?size=140'>
160
160
  </a>
161
- <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
161
+ <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
162
162
  </td>
163
163
  </tr>
164
164
  <tr>
165
- <td id='stefan-natchev'>
166
- <a href='https://github.com/snatchev'>
167
- <img src='https://github.com/snatchev.png?size=140'>
165
+ <td id='daniel-jankowski'>
166
+ <a href='https://github.com/mollyIV'>
167
+ <img src='https://github.com/mollyIV.png?size=140'>
168
168
  </a>
169
- <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
169
+ <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
170
170
  </td>
171
- <td id='jorge-revuelta-h'>
172
- <a href='https://github.com/minuscorp'>
173
- <img src='https://github.com/minuscorp.png?size=140'>
171
+ <td id='fumiya-nakamura'>
172
+ <a href='https://github.com/nafu'>
173
+ <img src='https://github.com/nafu.png?size=140'>
174
174
  </a>
175
- <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
175
+ <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
176
176
  </td>
177
177
  </table>
178
178
 
@@ -38,7 +38,7 @@ module Cert
38
38
 
39
39
  # App Store Connect API
40
40
  FastlaneCore::ConfigItem.new(key: :api_key_path,
41
- env_name: "DELIVER_API_KEY_PATH",
41
+ env_names: ["CERT_API_KEY_PATH", "DELIVER_API_KEY_PATH", "APP_STORE_CONNECT_API_KEY_PATH"],
42
42
  description: "Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)",
43
43
  optional: true,
44
44
  conflicting_options: [:api_key],
@@ -46,7 +46,7 @@ module Cert
46
46
  UI.user_error!("Couldn't find API key JSON file at path '#{value}'") unless File.exist?(value)
47
47
  end),
48
48
  FastlaneCore::ConfigItem.new(key: :api_key,
49
- env_name: "DELIVER_API_KEY",
49
+ env_names: ["CERT_API_KEY", "DELIVER_API_KEY", "APP_STORE_CONNECT_API_KEY"],
50
50
  description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)",
51
51
  type: Hash,
52
52
  optional: true,
@@ -31,7 +31,7 @@ module Cert
31
31
  end
32
32
 
33
33
  def api_token
34
- @api_token ||= Spaceship::ConnectAPI::Token.create(Cert.config[:api_key]) if Cert.config[:api_key]
34
+ @api_token ||= Spaceship::ConnectAPI::Token.create(**Cert.config[:api_key]) if Cert.config[:api_key]
35
35
  @api_token ||= Spaceship::ConnectAPI::Token.from_json_file(Cert.config[:api_key_path]) if Cert.config[:api_key_path]
36
36
  return @api_token
37
37
  end
@@ -195,7 +195,9 @@ module Deliver
195
195
  ],
196
196
  ScreenSize::IOS_58_MESSAGES => [
197
197
  [1125, 2436],
198
- [2436, 1125]
198
+ [2436, 1125],
199
+ [1170, 2532],
200
+ [2532, 1170]
199
201
  ],
200
202
  ScreenSize::IOS_55_MESSAGES => [
201
203
  [1242, 2208],
@@ -253,7 +255,9 @@ module Deliver
253
255
  ],
254
256
  ScreenSize::IOS_58 => [
255
257
  [1125, 2436],
256
- [2436, 1125]
258
+ [2436, 1125],
259
+ [1170, 2532],
260
+ [2532, 1170]
257
261
  ],
258
262
  ScreenSize::IOS_55 => [
259
263
  [1242, 2208],
@@ -13,7 +13,7 @@ module Deliver
13
13
 
14
14
  [
15
15
  FastlaneCore::ConfigItem.new(key: :api_key_path,
16
- env_name: "DELIVER_API_KEY_PATH",
16
+ env_names: ["DELIVER_API_KEY_PATH", "APP_STORE_CONNECT_API_KEY_PATH"],
17
17
  description: "Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)",
18
18
  optional: true,
19
19
  conflicting_options: [:api_key],
@@ -21,7 +21,7 @@ module Deliver
21
21
  UI.user_error!("Couldn't find API key JSON file at path '#{value}'") unless File.exist?(value)
22
22
  end),
23
23
  FastlaneCore::ConfigItem.new(key: :api_key,
24
- env_name: "DELIVER_API_KEY",
24
+ env_names: ["DELIVER_API_KEY", "APP_STORE_CONNECT_API_KEY"],
25
25
  description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)",
26
26
  type: Hash,
27
27
  optional: true,
@@ -39,7 +39,7 @@ module Deliver
39
39
  end
40
40
 
41
41
  def api_token
42
- @api_token ||= Spaceship::ConnectAPI::Token.create(options[:api_key]) if options[:api_key]
42
+ @api_token ||= Spaceship::ConnectAPI::Token.create(**options[:api_key]) if options[:api_key]
43
43
  @api_token ||= Spaceship::ConnectAPI::Token.from_json_file(options[:api_key_path]) if options[:api_key_path]
44
44
  return @api_token
45
45
  end
@@ -83,7 +83,7 @@ module Deliver
83
83
 
84
84
  if options[:api_key] || options[:api_key_path]
85
85
  if options[:precheck_include_in_app_purchases]
86
- UI.user_error!("Precheck cannot check In-app purchases with the App Store Connect API Key (yet). Exclude In-app purchases from precheck or use Apple ID login")
86
+ UI.user_error!("Precheck cannot check In-app purchases with the App Store Connect API Key (yet). Exclude In-app purchases from precheck, disable the precheck step in your build step, or use Apple ID login")
87
87
  end
88
88
 
89
89
  precheck_options[:api_key] = options[:api_key]
@@ -178,8 +178,12 @@ module Deliver
178
178
  end
179
179
 
180
180
  transporter = transporter_for_selected_team
181
- result = transporter.upload(options[:app].id, package_path)
182
- UI.user_error!("Could not upload binary to App Store Connect. Check out the error above", show_github_issues: true) unless result
181
+ result = transporter.upload(package_path: package_path)
182
+
183
+ unless result
184
+ transporter_errors = transporter.displayable_errors
185
+ UI.user_error!("Error uploading ipa file: \n #{transporter_errors}")
186
+ end
183
187
  end
184
188
 
185
189
  def reject_version_if_possible
@@ -1,7 +1,7 @@
1
+ require 'fastlane_core'
1
2
  require 'spaceship'
2
3
 
3
4
  require_relative 'module'
4
- require_relative 'queue_worker'
5
5
 
6
6
  module Deliver
7
7
  # upload description, rating, etc.
@@ -200,7 +200,7 @@ module Deliver
200
200
  sleep(1)
201
201
 
202
202
  # Update app store version localizations
203
- store_version_worker = Deliver::QueueWorker.new do |app_store_version_localization|
203
+ store_version_worker = FastlaneCore::QueueWorker.new do |app_store_version_localization|
204
204
  attributes = localized_version_attributes_by_locale[app_store_version_localization.locale]
205
205
  if attributes
206
206
  UI.message("Uploading metadata to App Store Connect for localized version '#{app_store_version_localization.locale}'")
@@ -211,7 +211,7 @@ module Deliver
211
211
  store_version_worker.start
212
212
 
213
213
  # Update app info localizations
214
- app_info_worker = Deliver::QueueWorker.new do |app_info_localization|
214
+ app_info_worker = FastlaneCore::QueueWorker.new do |app_info_localization|
215
215
  attributes = localized_info_attributes_by_locale[app_info_localization.locale]
216
216
  if attributes
217
217
  UI.message("Uploading metadata to App Store Connect for localized info '#{app_info_localization.locale}'")
@@ -1,16 +1,16 @@
1
+ require 'fastlane_core'
1
2
  require 'spaceship/tunes/tunes'
2
3
  require 'digest/md5'
3
4
 
4
5
  require_relative 'app_screenshot'
5
6
  require_relative 'module'
6
7
  require_relative 'loader'
7
- require_relative 'queue_worker'
8
8
  require_relative 'app_screenshot_iterator'
9
9
 
10
10
  module Deliver
11
11
  # upload screenshots to App Store Connect
12
12
  class UploadScreenshots
13
- DeleteScreenshotJob = Struct.new(:app_screenshot, :localization, :app_screenshot_set)
13
+ DeleteScreenshotSetJob = Struct.new(:app_screenshot_set, :localization)
14
14
  UploadScreenshotJob = Struct.new(:app_screenshot_set, :path)
15
15
 
16
16
  def upload(options, screenshots)
@@ -67,12 +67,12 @@ module Deliver
67
67
  def delete_screenshots(localizations, screenshots_per_language, tries: 5)
68
68
  tries -= 1
69
69
 
70
- worker = QueueWorker.new do |job|
70
+ worker = FastlaneCore::QueueWorker.new do |job|
71
71
  start_time = Time.now
72
- target = "#{job.localization.locale} #{job.app_screenshot_set.screenshot_display_type} #{job.app_screenshot.id}"
72
+ target = "#{job.localization.locale} #{job.app_screenshot_set.screenshot_display_type}"
73
73
  begin
74
74
  UI.verbose("Deleting '#{target}'")
75
- job.app_screenshot.delete!
75
+ job.app_screenshot_set.delete!
76
76
  UI.message("Deleted '#{target}' - (#{Time.now - start_time} secs)")
77
77
  rescue => error
78
78
  UI.error("Failed to delete screenshot #{target} - (#{Time.now - start_time} secs)")
@@ -81,12 +81,12 @@ module Deliver
81
81
  end
82
82
 
83
83
  iterator = AppScreenshotIterator.new(localizations)
84
- iterator.each_app_screenshot do |localization, app_screenshot_set, app_screenshot|
84
+ iterator.each_app_screenshot_set do |localization, app_screenshot_set|
85
85
  # Only delete screenshots if trying to upload
86
86
  next unless screenshots_per_language.keys.include?(localization.locale)
87
87
 
88
- UI.verbose("Queued delete sceeenshot job for #{localization.locale} #{app_screenshot_set.screenshot_display_type} #{app_screenshot.id}")
89
- worker.enqueue(DeleteScreenshotJob.new(app_screenshot, localization, app_screenshot_set))
88
+ UI.verbose("Queued delete sceeenshot set job for #{localization.locale} #{app_screenshot_set.screenshot_display_type}")
89
+ worker.enqueue(DeleteScreenshotSetJob.new(app_screenshot_set, localization))
90
90
  end
91
91
 
92
92
  worker.start
@@ -113,7 +113,7 @@ module Deliver
113
113
  tries -= 1
114
114
 
115
115
  # Upload screenshots
116
- worker = QueueWorker.new do |job|
116
+ worker = FastlaneCore::QueueWorker.new do |job|
117
117
  begin
118
118
  UI.verbose("Uploading '#{job.path}'...")
119
119
  start_time = Time.now
@@ -231,12 +231,13 @@ module Deliver
231
231
  end
232
232
 
233
233
  def sort_screenshots(localizations)
234
+ require 'naturally'
234
235
  iterator = AppScreenshotIterator.new(localizations)
235
236
 
236
237
  # Re-order screenshots within app_screenshot_set
237
- worker = QueueWorker.new do |app_screenshot_set|
238
+ worker = FastlaneCore::QueueWorker.new do |app_screenshot_set|
238
239
  original_ids = app_screenshot_set.app_screenshots.map(&:id)
239
- sorted_ids = app_screenshot_set.app_screenshots.sort_by(&:file_name).map(&:id)
240
+ sorted_ids = Naturally.sort(app_screenshot_set.app_screenshots, by: :file_name).map(&:id)
240
241
  if original_ids != sorted_ids
241
242
  app_screenshot_set.reorder_screenshots(app_screenshot_ids: sorted_ids)
242
243
  end
@@ -37,7 +37,7 @@ module Fastlane
37
37
  FastlaneCore::ConfigItem.new(key: :adb_path,
38
38
  env_name: "FL_ADB_PATH",
39
39
  optional: true,
40
- description: "The path to your `adb` binary (can be left blank if the ANDROID_SDK_ROOT environment variable is set)",
40
+ description: "The path to your `adb` binary (can be left blank if the ANDROID_SDK_ROOT, ANDROID_HOME or ANDROID_SDK environment variable is set)",
41
41
  is_string: true,
42
42
  default_value: "adb")
43
43
  ]