fastlane 2.172.0 → 2.177.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 (116) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +82 -82
  3. data/cert/lib/cert/options.rb +2 -2
  4. data/deliver/lib/deliver/app_screenshot.rb +6 -2
  5. data/deliver/lib/deliver/options.rb +2 -2
  6. data/deliver/lib/deliver/runner.rb +2 -2
  7. data/deliver/lib/deliver/upload_metadata.rb +3 -3
  8. data/deliver/lib/deliver/upload_screenshots.rb +12 -11
  9. data/fastlane/lib/fastlane/actions/adb.rb +1 -1
  10. data/fastlane/lib/fastlane/actions/app_store_build_number.rb +2 -2
  11. data/fastlane/lib/fastlane/actions/app_store_connect_api_key.rb +2 -1
  12. data/fastlane/lib/fastlane/actions/appaloosa.rb +7 -2
  13. data/fastlane/lib/fastlane/actions/appetize.rb +13 -1
  14. data/fastlane/lib/fastlane/actions/build_and_upload_to_appetize.rb +10 -2
  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/docs/capture_android_screenshots.md +1 -1
  18. data/fastlane/lib/fastlane/actions/docs/frame_screenshots.md +1 -1
  19. data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +8 -2
  20. data/fastlane/lib/fastlane/actions/download_dsyms.rb +5 -15
  21. data/fastlane/lib/fastlane/actions/git_commit.rb +1 -1
  22. data/fastlane/lib/fastlane/actions/jazzy.rb +10 -1
  23. data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +2 -2
  24. data/fastlane/lib/fastlane/actions/push_to_git_remote.rb +1 -2
  25. data/fastlane/lib/fastlane/actions/register_device.rb +2 -2
  26. data/fastlane/lib/fastlane/actions/register_devices.rb +2 -2
  27. data/fastlane/lib/fastlane/actions/set_changelog.rb +2 -2
  28. data/fastlane/lib/fastlane/actions/swiftlint.rb +1 -1
  29. data/fastlane/lib/fastlane/actions/update_code_signing_settings.rb +1 -1
  30. data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +4 -5
  31. data/fastlane/lib/fastlane/actions/upload_to_testflight.rb +5 -1
  32. data/fastlane/lib/fastlane/documentation/actions_list.rb +2 -2
  33. data/fastlane/lib/fastlane/helper/adb_helper.rb +1 -1
  34. data/fastlane/lib/fastlane/helper/gem_helper.rb +2 -2
  35. data/fastlane/lib/fastlane/version.rb +1 -1
  36. data/fastlane/swift/Actions.swift +1 -1
  37. data/fastlane/swift/Appfile.swift +1 -1
  38. data/fastlane/swift/ArgumentProcessor.swift +1 -1
  39. data/fastlane/swift/ControlCommand.swift +1 -1
  40. data/fastlane/swift/Deliverfile.swift +1 -1
  41. data/fastlane/swift/DeliverfileProtocol.swift +1 -1
  42. data/fastlane/swift/Fastlane.swift +54 -19
  43. data/fastlane/swift/Gymfile.swift +1 -1
  44. data/fastlane/swift/GymfileProtocol.swift +1 -1
  45. data/fastlane/swift/LaneFileProtocol.swift +1 -1
  46. data/fastlane/swift/MainProcess.swift +1 -1
  47. data/fastlane/swift/Matchfile.swift +1 -1
  48. data/fastlane/swift/MatchfileProtocol.swift +1 -1
  49. data/fastlane/swift/Plugins.swift +1 -1
  50. data/fastlane/swift/Precheckfile.swift +1 -1
  51. data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
  52. data/fastlane/swift/RubyCommand.swift +1 -1
  53. data/fastlane/swift/RubyCommandable.swift +1 -1
  54. data/fastlane/swift/Runner.swift +2 -2
  55. data/fastlane/swift/RunnerArgument.swift +1 -1
  56. data/fastlane/swift/Scanfile.swift +1 -1
  57. data/fastlane/swift/ScanfileProtocol.swift +9 -1
  58. data/fastlane/swift/Screengrabfile.swift +1 -1
  59. data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
  60. data/fastlane/swift/Snapshotfile.swift +1 -1
  61. data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
  62. data/fastlane/swift/SocketClient.swift +1 -1
  63. data/fastlane/swift/SocketClientDelegateProtocol.swift +1 -1
  64. data/fastlane/swift/SocketResponse.swift +1 -1
  65. data/fastlane/swift/formatting/Brewfile.lock.json +20 -14
  66. data/fastlane/swift/main.swift +1 -1
  67. data/fastlane_core/lib/fastlane_core.rb +1 -0
  68. data/fastlane_core/lib/fastlane_core/command_executor.rb +3 -9
  69. data/fastlane_core/lib/fastlane_core/configuration/commander_generator.rb +1 -1
  70. data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +23 -0
  71. data/fastlane_core/lib/fastlane_core/configuration/configuration.rb +9 -5
  72. data/fastlane_core/lib/fastlane_core/helper.rb +26 -5
  73. data/fastlane_core/lib/fastlane_core/ipa_upload_package_builder.rb +3 -2
  74. data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +4 -2
  75. data/fastlane_core/lib/fastlane_core/keychain_importer.rb +1 -1
  76. data/fastlane_core/lib/fastlane_core/pkg_upload_package_builder.rb +3 -2
  77. data/fastlane_core/lib/fastlane_core/project.rb +23 -9
  78. data/{deliver/lib/deliver → fastlane_core/lib/fastlane_core}/queue_worker.rb +2 -2
  79. data/fastlane_core/lib/fastlane_core/update_checker/update_checker.rb +2 -2
  80. data/gym/lib/gym/.runner.rb.swp +0 -0
  81. data/gym/lib/gym/error_handler.rb +8 -0
  82. data/{fastlane/lib/fastlane/actions/.update_fastlane.rb.swp → gym/lib/gym/generators/.package_command_generator_xcode7.rb.swp} +0 -0
  83. data/gym/lib/gym/generators/package_command_generator_xcode7.rb +2 -2
  84. data/match/lib/match/nuke.rb +5 -0
  85. data/match/lib/match/options.rb +2 -2
  86. data/pilot/lib/pilot/build_manager.rb +16 -4
  87. data/pilot/lib/pilot/options.rb +3 -3
  88. data/precheck/lib/precheck/options.rb +2 -2
  89. data/precheck/lib/precheck/runner.rb +1 -1
  90. data/scan/lib/scan/detect_values.rb +4 -1
  91. data/scan/lib/scan/options.rb +10 -0
  92. data/scan/lib/scan/runner.rb +27 -0
  93. data/screengrab/lib/screengrab/android_environment.rb +2 -2
  94. data/screengrab/lib/screengrab/runner.rb +1 -2
  95. data/sigh/lib/sigh/options.rb +2 -2
  96. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +2 -1
  97. data/spaceship/README.md +2 -2
  98. data/spaceship/lib/spaceship/client.rb +32 -18
  99. data/spaceship/lib/spaceship/connect_api/api_client.rb +40 -7
  100. data/spaceship/lib/spaceship/connect_api/models/app.rb +1 -1
  101. data/spaceship/lib/spaceship/connect_api/models/app_preview_set.rb +5 -0
  102. data/spaceship/lib/spaceship/connect_api/models/app_screenshot_set.rb +5 -0
  103. data/spaceship/lib/spaceship/connect_api/models/app_store_version_localization.rb +6 -0
  104. data/spaceship/lib/spaceship/connect_api/models/build.rb +5 -0
  105. data/spaceship/lib/spaceship/connect_api/models/build_beta_detail.rb +4 -0
  106. data/spaceship/lib/spaceship/connect_api/models/bundle_id.rb +24 -0
  107. data/spaceship/lib/spaceship/connect_api/models/bundle_id_capability.rb +26 -4
  108. data/spaceship/lib/spaceship/connect_api/models/user_invitation.rb +13 -0
  109. data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +53 -0
  110. data/spaceship/lib/spaceship/connect_api/token.rb +1 -1
  111. data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +15 -0
  112. data/spaceship/lib/spaceship/playground.rb +2 -2
  113. data/spaceship/lib/spaceship/tunes/tunes_client.rb +2 -2
  114. data/spaceship/lib/spaceship/two_step_or_factor_client.rb +42 -29
  115. data/spaceship/lib/spaceship/upgrade_2fa_later_client.rb +91 -0
  116. metadata +35 -19
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d25e374341a7acedcadc6a1861a3f047f4e6f71312d68e6b770e083cfa527e7a
4
- data.tar.gz: 01eac07e1ca532f1baf5bb23722927b87fc10d5aeb867db86d18d60eddc87f09
3
+ metadata.gz: 4b4ca8dee8c02f29be511a41ef49cda72c46ceef4f83304bc20a85f030ee7417
4
+ data.tar.gz: ee60bf365f058e14edce21e29f709bb9a653dad0e704bc26eecc701587b6cf57
5
5
  SHA512:
6
- metadata.gz: 2ccfbd1a683d17b27384030f99fb4e8db51feccdcca7bc959efb1b0455ded32efa4470b1082710388d6e6444e6c02e7c7ef1e7d8b8f0e6c88746ccb984246a70
7
- data.tar.gz: 59e9908175276ce658cf959c647a3426d55688bfa0f181f4d1c8554d1a6a7f64f36926d55b730255c3156411259f0f8a25f5e166e8d0d8652f2f6059fba1d78a
6
+ metadata.gz: 96978521357cda5bd03e0a7138eae6dec3faa42e0fbb26ec2f3ef28f7ff9bedbdc811e2e1e8a123f7354a97b417ee33d1754a7164811a331ef32851eed957311
7
+ data.tar.gz: dbe71ffd1304b023ce991aa3ff47d5f9a39b63a24f0ec7fbb7dd2614dae8b4760b77e9352a2ec9e45a830e64bdb7f36440c3fb5297470120383ec86f5a2fa040
data/README.md CHANGED
@@ -34,55 +34,43 @@ 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='iulian-onofrei'>
38
- <a href='https://github.com/revolter'>
39
- <img src='https://github.com/revolter.png?size=140'>
40
- </a>
41
- <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
42
- </td>
43
- <td id='stefan-natchev'>
44
- <a href='https://github.com/snatchev'>
45
- <img src='https://github.com/snatchev.png?size=140'>
46
- </a>
47
- <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
48
- </td>
49
- <td id='aaron-brager'>
50
- <a href='https://github.com/getaaron'>
51
- <img src='https://github.com/getaaron.png?size=140'>
52
- </a>
53
- <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
54
- </td>
55
37
  <td id='andrew-mcburney'>
56
38
  <a href='https://github.com/armcburney'>
57
39
  <img src='https://github.com/armcburney.png?size=140'>
58
40
  </a>
59
41
  <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
60
42
  </td>
61
- <td id='fumiya-nakamura'>
62
- <a href='https://github.com/nafu'>
63
- <img src='https://github.com/nafu.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'>
64
46
  </a>
65
- <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
47
+ <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
66
48
  </td>
67
- </tr>
68
- <tr>
69
- <td id='olivier-halligon'>
70
- <a href='https://github.com/AliSoftware'>
71
- <img src='https://github.com/AliSoftware.png?size=140'>
49
+ <td id='jérôme-lacoste'>
50
+ <a href='https://github.com/lacostej'>
51
+ <img src='https://github.com/lacostej.png?size=140'>
72
52
  </a>
73
- <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
53
+ <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
74
54
  </td>
75
- <td id='kohki-miki'>
76
- <a href='https://github.com/giginet'>
77
- <img src='https://github.com/giginet.png?size=140'>
55
+ <td id='max-ott'>
56
+ <a href='https://github.com/max-ott'>
57
+ <img src='https://github.com/max-ott.png?size=140'>
78
58
  </a>
79
- <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
59
+ <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
80
60
  </td>
81
- <td id='jimmy-dee'>
82
- <a href='https://github.com/jdee'>
83
- <img src='https://github.com/jdee.png?size=140'>
61
+ <td id='jorge-revuelta-h'>
62
+ <a href='https://github.com/minuscorp'>
63
+ <img src='https://github.com/minuscorp.png?size=140'>
84
64
  </a>
85
- <h4 align='center'>Jimmy Dee</h4>
65
+ <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
66
+ </td>
67
+ </tr>
68
+ <tr>
69
+ <td id='danielle-tomlinson'>
70
+ <a href='https://github.com/endocrimes'>
71
+ <img src='https://github.com/endocrimes.png?size=140'>
72
+ </a>
73
+ <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
86
74
  </td>
87
75
  <td id='felix-krause'>
88
76
  <a href='https://github.com/KrauseFx'>
@@ -90,84 +78,96 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
90
78
  </a>
91
79
  <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
92
80
  </td>
93
- <td id='manu-wallner'>
94
- <a href='https://github.com/milch'>
95
- <img src='https://github.com/milch.png?size=140'>
81
+ <td id='iulian-onofrei'>
82
+ <a href='https://github.com/revolter'>
83
+ <img src='https://github.com/revolter.png?size=140'>
96
84
  </a>
97
- <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
85
+ <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
98
86
  </td>
99
- </tr>
100
- <tr>
101
87
  <td id='jan-piotrowski'>
102
88
  <a href='https://github.com/janpio'>
103
89
  <img src='https://github.com/janpio.png?size=140'>
104
90
  </a>
105
91
  <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
106
92
  </td>
107
- <td id='jérôme-lacoste'>
108
- <a href='https://github.com/lacostej'>
109
- <img src='https://github.com/lacostej.png?size=140'>
110
- </a>
111
- <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
112
- </td>
113
- <td id='maksym-grebenets'>
114
- <a href='https://github.com/mgrebenets'>
115
- <img src='https://github.com/mgrebenets.png?size=140'>
116
- </a>
117
- <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
118
- </td>
119
- <td id='max-ott'>
120
- <a href='https://github.com/max-ott'>
121
- <img src='https://github.com/max-ott.png?size=140'>
122
- </a>
123
- <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
124
- </td>
125
- <td id='josh-holtz'>
126
- <a href='https://github.com/joshdholtz'>
127
- <img src='https://github.com/joshdholtz.png?size=140'>
93
+ <td id='matthew-ellis'>
94
+ <a href='https://github.com/matthewellis'>
95
+ <img src='https://github.com/matthewellis.png?size=140'>
128
96
  </a>
129
- <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
97
+ <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
130
98
  </td>
131
99
  </tr>
132
100
  <tr>
101
+ <td id='fumiya-nakamura'>
102
+ <a href='https://github.com/nafu'>
103
+ <img src='https://github.com/nafu.png?size=140'>
104
+ </a>
105
+ <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
106
+ </td>
133
107
  <td id='luka-mirosevic'>
134
108
  <a href='https://github.com/lmirosevic'>
135
109
  <img src='https://github.com/lmirosevic.png?size=140'>
136
110
  </a>
137
111
  <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
138
112
  </td>
139
- <td id='danielle-tomlinson'>
140
- <a href='https://github.com/endocrimes'>
141
- <img src='https://github.com/endocrimes.png?size=140'>
142
- </a>
143
- <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
144
- </td>
145
- <td id='jorge-revuelta-h'>
146
- <a href='https://github.com/minuscorp'>
147
- <img src='https://github.com/minuscorp.png?size=140'>
113
+ <td id='manu-wallner'>
114
+ <a href='https://github.com/milch'>
115
+ <img src='https://github.com/milch.png?size=140'>
148
116
  </a>
149
- <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
117
+ <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
150
118
  </td>
151
- <td id='matthew-ellis'>
152
- <a href='https://github.com/matthewellis'>
153
- <img src='https://github.com/matthewellis.png?size=140'>
119
+ <td id='olivier-halligon'>
120
+ <a href='https://github.com/AliSoftware'>
121
+ <img src='https://github.com/AliSoftware.png?size=140'>
154
122
  </a>
155
- <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
123
+ <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
156
124
  </td>
157
- <td id='joshua-liebowitz'>
158
- <a href='https://github.com/taquitos'>
159
- <img src='https://github.com/taquitos.png?size=140'>
125
+ <td id='jimmy-dee'>
126
+ <a href='https://github.com/jdee'>
127
+ <img src='https://github.com/jdee.png?size=140'>
160
128
  </a>
161
- <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
129
+ <h4 align='center'>Jimmy Dee</h4>
162
130
  </td>
163
131
  </tr>
164
132
  <tr>
133
+ <td id='kohki-miki'>
134
+ <a href='https://github.com/giginet'>
135
+ <img src='https://github.com/giginet.png?size=140'>
136
+ </a>
137
+ <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
138
+ </td>
165
139
  <td id='daniel-jankowski'>
166
140
  <a href='https://github.com/mollyIV'>
167
141
  <img src='https://github.com/mollyIV.png?size=140'>
168
142
  </a>
169
143
  <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
170
144
  </td>
145
+ <td id='josh-holtz'>
146
+ <a href='https://github.com/joshdholtz'>
147
+ <img src='https://github.com/joshdholtz.png?size=140'>
148
+ </a>
149
+ <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
150
+ </td>
151
+ <td id='stefan-natchev'>
152
+ <a href='https://github.com/snatchev'>
153
+ <img src='https://github.com/snatchev.png?size=140'>
154
+ </a>
155
+ <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
156
+ </td>
157
+ <td id='aaron-brager'>
158
+ <a href='https://github.com/getaaron'>
159
+ <img src='https://github.com/getaaron.png?size=140'>
160
+ </a>
161
+ <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
162
+ </td>
163
+ </tr>
164
+ <tr>
165
+ <td id='maksym-grebenets'>
166
+ <a href='https://github.com/mgrebenets'>
167
+ <img src='https://github.com/mgrebenets.png?size=140'>
168
+ </a>
169
+ <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
170
+ </td>
171
171
  <td id='helmut-januschka'>
172
172
  <a href='https://github.com/hjanuschka'>
173
173
  <img src='https://github.com/hjanuschka.png?size=140'>
@@ -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,
@@ -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,
@@ -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,7 +178,7 @@ module Deliver
178
178
  end
179
179
 
180
180
  transporter = transporter_for_selected_team
181
- result = transporter.upload(options[:app].id, package_path)
181
+ result = transporter.upload(package_path: package_path)
182
182
  UI.user_error!("Could not upload binary to App Store Connect. Check out the error above", show_github_issues: true) unless result
183
183
  end
184
184
 
@@ -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
  ]
@@ -118,7 +118,7 @@ module Fastlane
118
118
  user ||= CredentialsManager::AppfileConfig.try_fetch_value(:apple_id)
119
119
  [
120
120
  FastlaneCore::ConfigItem.new(key: :api_key_path,
121
- env_name: "APPSTORE_BUILD_NUMBER_API_KEY_PATH",
121
+ env_names: ["APPSTORE_BUILD_NUMBER_API_KEY_PATH", "APP_STORE_CONNECT_API_KEY_PATH"],
122
122
  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)",
123
123
  optional: true,
124
124
  conflicting_options: [:api_key],
@@ -126,7 +126,7 @@ module Fastlane
126
126
  UI.user_error!("Couldn't find API key JSON file at path '#{value}'") unless File.exist?(value)
127
127
  end),
128
128
  FastlaneCore::ConfigItem.new(key: :api_key,
129
- env_name: "APPSTORE_BUILD_NUMBER_API_KEY",
129
+ env_names: ["APPSTORE_BUILD_NUMBER_API_KEY", "APP_STORE_CONNECT_API_KEY"],
130
130
  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)",
131
131
  type: Hash,
132
132
  optional: true,
@@ -75,10 +75,11 @@ module Fastlane
75
75
  env_name: "APP_STORE_CONNECT_API_KEY_DURATION",
76
76
  description: "The token session duration",
77
77
  optional: true,
78
+ default_value: Spaceship::ConnectAPI::Token::MAX_TOKEN_DURATION,
78
79
  type: Integer),
79
80
  FastlaneCore::ConfigItem.new(key: :in_house,
80
81
  env_name: "APP_STORE_CONNECT_API_KEY_IN_HOUSE",
81
- description: "Is App Store or Enterprise (in house) team? App Store Connect API cannot not determine this on its own (yet)",
82
+ description: "Is App Store or Enterprise (in house) team? App Store Connect API cannot determine this on its own (yet)",
82
83
  optional: true,
83
84
  type: Boolean)
84
85
  ]