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.
- checksums.yaml +4 -4
- data/README.md +82 -82
- data/cert/lib/cert/options.rb +2 -2
- data/deliver/lib/deliver/app_screenshot.rb +6 -2
- data/deliver/lib/deliver/options.rb +2 -2
- data/deliver/lib/deliver/runner.rb +2 -2
- data/deliver/lib/deliver/upload_metadata.rb +3 -3
- data/deliver/lib/deliver/upload_screenshots.rb +12 -11
- data/fastlane/lib/fastlane/actions/adb.rb +1 -1
- data/fastlane/lib/fastlane/actions/app_store_build_number.rb +2 -2
- data/fastlane/lib/fastlane/actions/app_store_connect_api_key.rb +2 -1
- data/fastlane/lib/fastlane/actions/appaloosa.rb +7 -2
- data/fastlane/lib/fastlane/actions/appetize.rb +13 -1
- data/fastlane/lib/fastlane/actions/build_and_upload_to_appetize.rb +10 -2
- data/fastlane/lib/fastlane/actions/carthage.rb +22 -0
- data/fastlane/lib/fastlane/actions/cocoapods.rb +15 -1
- data/fastlane/lib/fastlane/actions/docs/capture_android_screenshots.md +1 -1
- data/fastlane/lib/fastlane/actions/docs/frame_screenshots.md +1 -1
- data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +8 -2
- data/fastlane/lib/fastlane/actions/download_dsyms.rb +5 -15
- data/fastlane/lib/fastlane/actions/git_commit.rb +1 -1
- data/fastlane/lib/fastlane/actions/jazzy.rb +10 -1
- data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +2 -2
- data/fastlane/lib/fastlane/actions/push_to_git_remote.rb +1 -2
- data/fastlane/lib/fastlane/actions/register_device.rb +2 -2
- data/fastlane/lib/fastlane/actions/register_devices.rb +2 -2
- data/fastlane/lib/fastlane/actions/set_changelog.rb +2 -2
- data/fastlane/lib/fastlane/actions/swiftlint.rb +1 -1
- data/fastlane/lib/fastlane/actions/update_code_signing_settings.rb +1 -1
- data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +4 -5
- data/fastlane/lib/fastlane/actions/upload_to_testflight.rb +5 -1
- data/fastlane/lib/fastlane/documentation/actions_list.rb +2 -2
- data/fastlane/lib/fastlane/helper/adb_helper.rb +1 -1
- data/fastlane/lib/fastlane/helper/gem_helper.rb +2 -2
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Actions.swift +1 -1
- data/fastlane/swift/Appfile.swift +1 -1
- data/fastlane/swift/ArgumentProcessor.swift +1 -1
- data/fastlane/swift/ControlCommand.swift +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +1 -1
- data/fastlane/swift/Fastlane.swift +54 -19
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/GymfileProtocol.swift +1 -1
- data/fastlane/swift/LaneFileProtocol.swift +1 -1
- data/fastlane/swift/MainProcess.swift +1 -1
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/MatchfileProtocol.swift +1 -1
- data/fastlane/swift/Plugins.swift +1 -1
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
- data/fastlane/swift/RubyCommand.swift +1 -1
- data/fastlane/swift/RubyCommandable.swift +1 -1
- data/fastlane/swift/Runner.swift +2 -2
- data/fastlane/swift/RunnerArgument.swift +1 -1
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/ScanfileProtocol.swift +9 -1
- data/fastlane/swift/Screengrabfile.swift +1 -1
- data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
- data/fastlane/swift/Snapshotfile.swift +1 -1
- data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
- data/fastlane/swift/SocketClient.swift +1 -1
- data/fastlane/swift/SocketClientDelegateProtocol.swift +1 -1
- data/fastlane/swift/SocketResponse.swift +1 -1
- data/fastlane/swift/formatting/Brewfile.lock.json +20 -14
- data/fastlane/swift/main.swift +1 -1
- data/fastlane_core/lib/fastlane_core.rb +1 -0
- data/fastlane_core/lib/fastlane_core/command_executor.rb +3 -9
- data/fastlane_core/lib/fastlane_core/configuration/commander_generator.rb +1 -1
- data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +23 -0
- data/fastlane_core/lib/fastlane_core/configuration/configuration.rb +9 -5
- data/fastlane_core/lib/fastlane_core/helper.rb +26 -5
- data/fastlane_core/lib/fastlane_core/ipa_upload_package_builder.rb +3 -2
- data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +4 -2
- data/fastlane_core/lib/fastlane_core/keychain_importer.rb +1 -1
- data/fastlane_core/lib/fastlane_core/pkg_upload_package_builder.rb +3 -2
- data/fastlane_core/lib/fastlane_core/project.rb +23 -9
- data/{deliver/lib/deliver → fastlane_core/lib/fastlane_core}/queue_worker.rb +2 -2
- data/fastlane_core/lib/fastlane_core/update_checker/update_checker.rb +2 -2
- data/gym/lib/gym/.runner.rb.swp +0 -0
- data/gym/lib/gym/error_handler.rb +8 -0
- data/{fastlane/lib/fastlane/actions/.update_fastlane.rb.swp → gym/lib/gym/generators/.package_command_generator_xcode7.rb.swp} +0 -0
- data/gym/lib/gym/generators/package_command_generator_xcode7.rb +2 -2
- data/match/lib/match/nuke.rb +5 -0
- data/match/lib/match/options.rb +2 -2
- data/pilot/lib/pilot/build_manager.rb +16 -4
- data/pilot/lib/pilot/options.rb +3 -3
- data/precheck/lib/precheck/options.rb +2 -2
- data/precheck/lib/precheck/runner.rb +1 -1
- data/scan/lib/scan/detect_values.rb +4 -1
- data/scan/lib/scan/options.rb +10 -0
- data/scan/lib/scan/runner.rb +27 -0
- data/screengrab/lib/screengrab/android_environment.rb +2 -2
- data/screengrab/lib/screengrab/runner.rb +1 -2
- data/sigh/lib/sigh/options.rb +2 -2
- data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +2 -1
- data/spaceship/README.md +2 -2
- data/spaceship/lib/spaceship/client.rb +32 -18
- data/spaceship/lib/spaceship/connect_api/api_client.rb +40 -7
- data/spaceship/lib/spaceship/connect_api/models/app.rb +1 -1
- data/spaceship/lib/spaceship/connect_api/models/app_preview_set.rb +5 -0
- data/spaceship/lib/spaceship/connect_api/models/app_screenshot_set.rb +5 -0
- data/spaceship/lib/spaceship/connect_api/models/app_store_version_localization.rb +6 -0
- data/spaceship/lib/spaceship/connect_api/models/build.rb +5 -0
- data/spaceship/lib/spaceship/connect_api/models/build_beta_detail.rb +4 -0
- data/spaceship/lib/spaceship/connect_api/models/bundle_id.rb +24 -0
- data/spaceship/lib/spaceship/connect_api/models/bundle_id_capability.rb +26 -4
- data/spaceship/lib/spaceship/connect_api/models/user_invitation.rb +13 -0
- data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +53 -0
- data/spaceship/lib/spaceship/connect_api/token.rb +1 -1
- data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +15 -0
- data/spaceship/lib/spaceship/playground.rb +2 -2
- data/spaceship/lib/spaceship/tunes/tunes_client.rb +2 -2
- data/spaceship/lib/spaceship/two_step_or_factor_client.rb +42 -29
- data/spaceship/lib/spaceship/upgrade_2fa_later_client.rb +91 -0
- metadata +35 -19
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4b4ca8dee8c02f29be511a41ef49cda72c46ceef4f83304bc20a85f030ee7417
|
|
4
|
+
data.tar.gz: ee60bf365f058e14edce21e29f709bb9a653dad0e704bc26eecc701587b6cf57
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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='
|
|
62
|
-
<a href='https://github.com/
|
|
63
|
-
<img src='https://github.com/
|
|
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/
|
|
47
|
+
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
|
66
48
|
</td>
|
|
67
|
-
|
|
68
|
-
<
|
|
69
|
-
<
|
|
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/
|
|
53
|
+
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
|
74
54
|
</td>
|
|
75
|
-
<td id='
|
|
76
|
-
<a href='https://github.com/
|
|
77
|
-
<img src='https://github.com/
|
|
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/
|
|
59
|
+
<h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
|
|
80
60
|
</td>
|
|
81
|
-
<td id='
|
|
82
|
-
<a href='https://github.com/
|
|
83
|
-
<img src='https://github.com/
|
|
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'>
|
|
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='
|
|
94
|
-
<a href='https://github.com/
|
|
95
|
-
<img src='https://github.com/
|
|
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/
|
|
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='
|
|
108
|
-
<a href='https://github.com/
|
|
109
|
-
<img src='https://github.com/
|
|
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/
|
|
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='
|
|
140
|
-
<a href='https://github.com/
|
|
141
|
-
<img src='https://github.com/
|
|
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/
|
|
117
|
+
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
|
150
118
|
</td>
|
|
151
|
-
<td id='
|
|
152
|
-
<a href='https://github.com/
|
|
153
|
-
<img src='https://github.com/
|
|
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/
|
|
123
|
+
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
|
156
124
|
</td>
|
|
157
|
-
<td id='
|
|
158
|
-
<a href='https://github.com/
|
|
159
|
-
<img src='https://github.com/
|
|
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'
|
|
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'>
|
data/cert/lib/cert/options.rb
CHANGED
|
@@ -38,7 +38,7 @@ module Cert
|
|
|
38
38
|
|
|
39
39
|
# App Store Connect API
|
|
40
40
|
FastlaneCore::ConfigItem.new(key: :api_key_path,
|
|
41
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
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 =
|
|
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 =
|
|
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
|
-
|
|
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}
|
|
72
|
+
target = "#{job.localization.locale} #{job.app_screenshot_set.screenshot_display_type}"
|
|
73
73
|
begin
|
|
74
74
|
UI.verbose("Deleting '#{target}'")
|
|
75
|
-
job.
|
|
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.
|
|
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}
|
|
89
|
-
worker.enqueue(
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
]
|