fastlane 2.151.2 → 2.155.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/deliver/lib/deliver/app_screenshot.rb +1 -1
- data/deliver/lib/deliver/commands_generator.rb +7 -4
- data/deliver/lib/deliver/detect_values.rb +9 -3
- data/deliver/lib/deliver/download_screenshots.rb +1 -3
- data/deliver/lib/deliver/html_generator.rb +8 -1
- data/deliver/lib/deliver/options.rb +1 -1
- data/deliver/lib/deliver/runner.rb +5 -10
- data/deliver/lib/deliver/setup.rb +92 -3
- data/deliver/lib/deliver/submit_for_review.rb +4 -6
- data/deliver/lib/deliver/upload_metadata.rb +51 -30
- data/deliver/lib/deliver/upload_price_tier.rb +1 -3
- data/deliver/lib/deliver/upload_screenshots.rb +75 -44
- data/fastlane/lib/fastlane/{helper/.s3_client_helper.rb.swp → .erb_template_helper.rb.swp} +0 -0
- data/{deliver/lib/deliver/.commands_generator.rb.swp → fastlane/lib/fastlane/actions/.git_commit.rb.swp} +0 -0
- data/fastlane/lib/fastlane/actions/carthage.rb +7 -0
- data/fastlane/lib/fastlane/actions/create_keychain.rb +5 -1
- data/fastlane/lib/fastlane/actions/docs/frame_screenshots.md +3 -1
- data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +21 -2
- data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +4 -4
- data/fastlane/lib/fastlane/actions/download_dsyms.rb +4 -2
- data/fastlane/lib/fastlane/actions/erb.rb +10 -2
- data/fastlane/lib/fastlane/actions/git_branch.rb +4 -1
- data/fastlane/lib/fastlane/actions/git_pull.rb +13 -2
- data/fastlane/lib/fastlane/actions/sync_code_signing.rb +5 -0
- data/fastlane/lib/fastlane/actions/upload_to_testflight.rb +11 -3
- data/fastlane/lib/fastlane/runner.rb +3 -1
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +3 -3
- data/fastlane/swift/Fastlane.swift +419 -192
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/GymfileProtocol.swift +1 -1
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/MatchfileProtocol.swift +10 -2
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/ScanfileProtocol.swift +1 -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 +9 -1
- data/fastlane_core/lib/fastlane_core/device_manager.rb +25 -6
- data/frameit/lib/frameit/editor.rb +11 -6
- data/gym/lib/gym/detect_values.rb +6 -3
- data/gym/lib/gym/module.rb +30 -0
- data/gym/lib/gym/runner.rb +23 -18
- data/match/lib/match/generator.rb +6 -0
- data/match/lib/match/options.rb +16 -4
- data/match/lib/match/runner.rb +13 -5
- data/match/lib/match/spaceship_ensure.rb +7 -9
- data/match/lib/match/storage/git_storage.rb +16 -2
- data/match/lib/match/storage/google_cloud_storage.rb +1 -1
- data/pilot/lib/pilot/build_manager.rb +9 -0
- data/pilot/lib/pilot/options.rb +7 -1
- data/scan/lib/scan/runner.rb +19 -6
- data/sigh/lib/sigh/download_all.rb +42 -27
- data/sigh/lib/sigh/module.rb +26 -0
- data/sigh/lib/sigh/options.rb +2 -2
- data/sigh/lib/sigh/runner.rb +74 -33
- data/snapshot/lib/snapshot/options.rb +10 -0
- data/snapshot/lib/snapshot/simulator_launchers/launcher_configuration.rb +2 -0
- data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +5 -0
- data/snapshot/lib/snapshot/test_command_generator.rb +3 -2
- data/snapshot/lib/snapshot/test_command_generator_xcode_8.rb +4 -1
- data/spaceship/lib/spaceship/connect_api.rb +1 -0
- data/spaceship/lib/spaceship/connect_api/client.rb +5 -3
- data/spaceship/lib/spaceship/connect_api/model.rb +15 -1
- data/spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb +1 -0
- data/spaceship/lib/spaceship/connect_api/models/app.rb +61 -3
- data/spaceship/lib/spaceship/connect_api/models/app_info_localization.rb +1 -0
- data/spaceship/lib/spaceship/connect_api/models/app_preview.rb +1 -0
- data/spaceship/lib/spaceship/connect_api/models/app_screenshot.rb +44 -5
- data/spaceship/lib/spaceship/connect_api/models/app_store_review_detail.rb +1 -0
- data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +12 -0
- data/spaceship/lib/spaceship/connect_api/models/app_store_version_localization.rb +1 -0
- data/spaceship/lib/spaceship/connect_api/models/app_store_version_release_request.rb +12 -0
- data/spaceship/lib/spaceship/connect_api/models/build.rb +1 -0
- data/spaceship/lib/spaceship/connect_api/models/bundle_id.rb +17 -5
- data/spaceship/lib/spaceship/connect_api/models/bundle_id_capability.rb +41 -7
- data/spaceship/lib/spaceship/connect_api/models/idfa_declaration.rb +1 -0
- data/spaceship/lib/spaceship/connect_api/models/profile.rb +31 -1
- data/spaceship/lib/spaceship/connect_api/provisioning/client.rb +46 -4
- data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +41 -0
- data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +32 -1
- data/supply/lib/supply/client.rb +2 -1
- data/supply/lib/supply/options.rb +8 -1
- metadata +34 -61
- data/deliver/lib/deliver/.submit_for_review.rb.swp +0 -0
- data/frameit/lib/frameit/.editor.rb.swp +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d05003197423c1e94c2728d49100fbacb7d5f5b657491b94e90f34432d2774ba
|
|
4
|
+
data.tar.gz: 99b28cc3d83ec3500d9a90554db8464ee479a7e533141e9246164d26fef8edba
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9a7b6ce2df7348ad80f366ad54a619ad1d966348e3e2a0f616f43d160681c1ba15625f7c16923d4b0bbfa3c873b3936891001f53c5349abba1e0a3c0a6bb4704
|
|
7
|
+
data.tar.gz: c75739db5b1e8dcea81230f67effe0d1b46de274cab20d85183aa3dafb64088ed85a7260f2aa47e14e802c8a81879b541d7ba4fbca55f56a2c84c1cb09fbeae0
|
data/README.md
CHANGED
|
@@ -34,23 +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='
|
|
38
|
-
<a href='https://github.com/
|
|
39
|
-
<img src='https://github.com/
|
|
37
|
+
<td id='danielle-tomlinson'>
|
|
38
|
+
<a href='https://github.com/endocrimes'>
|
|
39
|
+
<img src='https://github.com/endocrimes.png?size=140'>
|
|
40
40
|
</a>
|
|
41
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
41
|
+
<h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
|
|
42
42
|
</td>
|
|
43
|
-
<td id='
|
|
44
|
-
<a href='https://github.com/
|
|
45
|
-
<img src='https://github.com/
|
|
43
|
+
<td id='olivier-halligon'>
|
|
44
|
+
<a href='https://github.com/AliSoftware'>
|
|
45
|
+
<img src='https://github.com/AliSoftware.png?size=140'>
|
|
46
46
|
</a>
|
|
47
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
47
|
+
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
|
48
48
|
</td>
|
|
49
|
-
<td id='
|
|
50
|
-
<a href='https://github.com/
|
|
51
|
-
<img src='https://github.com/
|
|
49
|
+
<td id='max-ott'>
|
|
50
|
+
<a href='https://github.com/max-ott'>
|
|
51
|
+
<img src='https://github.com/max-ott.png?size=140'>
|
|
52
52
|
</a>
|
|
53
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
53
|
+
<h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
|
|
54
|
+
</td>
|
|
55
|
+
<td id='jorge-revuelta-h'>
|
|
56
|
+
<a href='https://github.com/minuscorp'>
|
|
57
|
+
<img src='https://github.com/minuscorp.png?size=140'>
|
|
58
|
+
</a>
|
|
59
|
+
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
|
60
|
+
</td>
|
|
61
|
+
<td id='andrew-mcburney'>
|
|
62
|
+
<a href='https://github.com/armcburney'>
|
|
63
|
+
<img src='https://github.com/armcburney.png?size=140'>
|
|
64
|
+
</a>
|
|
65
|
+
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
|
66
|
+
</td>
|
|
67
|
+
</tr>
|
|
68
|
+
<tr>
|
|
69
|
+
<td id='jérôme-lacoste'>
|
|
70
|
+
<a href='https://github.com/lacostej'>
|
|
71
|
+
<img src='https://github.com/lacostej.png?size=140'>
|
|
72
|
+
</a>
|
|
73
|
+
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
|
54
74
|
</td>
|
|
55
75
|
<td id='josh-holtz'>
|
|
56
76
|
<a href='https://github.com/joshdholtz'>
|
|
@@ -58,11 +78,23 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
58
78
|
</a>
|
|
59
79
|
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
|
60
80
|
</td>
|
|
61
|
-
<td id='
|
|
62
|
-
<a href='https://github.com/
|
|
63
|
-
<img src='https://github.com/
|
|
81
|
+
<td id='manu-wallner'>
|
|
82
|
+
<a href='https://github.com/milch'>
|
|
83
|
+
<img src='https://github.com/milch.png?size=140'>
|
|
64
84
|
</a>
|
|
65
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
85
|
+
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
|
86
|
+
</td>
|
|
87
|
+
<td id='fumiya-nakamura'>
|
|
88
|
+
<a href='https://github.com/nafu'>
|
|
89
|
+
<img src='https://github.com/nafu.png?size=140'>
|
|
90
|
+
</a>
|
|
91
|
+
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
|
|
92
|
+
</td>
|
|
93
|
+
<td id='felix-krause'>
|
|
94
|
+
<a href='https://github.com/KrauseFx'>
|
|
95
|
+
<img src='https://github.com/KrauseFx.png?size=140'>
|
|
96
|
+
</a>
|
|
97
|
+
<h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
|
|
66
98
|
</td>
|
|
67
99
|
</tr>
|
|
68
100
|
<tr>
|
|
@@ -72,17 +104,17 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
72
104
|
</a>
|
|
73
105
|
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
|
74
106
|
</td>
|
|
75
|
-
<td id='
|
|
76
|
-
<a href='https://github.com/
|
|
77
|
-
<img src='https://github.com/
|
|
107
|
+
<td id='matthew-ellis'>
|
|
108
|
+
<a href='https://github.com/matthewellis'>
|
|
109
|
+
<img src='https://github.com/matthewellis.png?size=140'>
|
|
78
110
|
</a>
|
|
79
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
111
|
+
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
|
80
112
|
</td>
|
|
81
|
-
<td id='
|
|
82
|
-
<a href='https://github.com/
|
|
83
|
-
<img src='https://github.com/
|
|
113
|
+
<td id='daniel-jankowski'>
|
|
114
|
+
<a href='https://github.com/mollyIV'>
|
|
115
|
+
<img src='https://github.com/mollyIV.png?size=140'>
|
|
84
116
|
</a>
|
|
85
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
117
|
+
<h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
|
|
86
118
|
</td>
|
|
87
119
|
<td id='jimmy-dee'>
|
|
88
120
|
<a href='https://github.com/jdee'>
|
|
@@ -90,69 +122,31 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
90
122
|
</a>
|
|
91
123
|
<h4 align='center'>Jimmy Dee</h4>
|
|
92
124
|
</td>
|
|
93
|
-
<td id='iulian-onofrei'>
|
|
94
|
-
<a href='https://github.com/revolter'>
|
|
95
|
-
<img src='https://github.com/revolter.png?size=140'>
|
|
96
|
-
</a>
|
|
97
|
-
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
|
98
|
-
</td>
|
|
99
|
-
</tr>
|
|
100
|
-
<tr>
|
|
101
125
|
<td id='jan-piotrowski'>
|
|
102
126
|
<a href='https://github.com/janpio'>
|
|
103
127
|
<img src='https://github.com/janpio.png?size=140'>
|
|
104
128
|
</a>
|
|
105
129
|
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
|
106
130
|
</td>
|
|
107
|
-
<td id='danielle-tomlinson'>
|
|
108
|
-
<a href='https://github.com/endocrimes'>
|
|
109
|
-
<img src='https://github.com/endocrimes.png?size=140'>
|
|
110
|
-
</a>
|
|
111
|
-
<h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
|
|
112
|
-
</td>
|
|
113
|
-
<td id='kohki-miki'>
|
|
114
|
-
<a href='https://github.com/giginet'>
|
|
115
|
-
<img src='https://github.com/giginet.png?size=140'>
|
|
116
|
-
</a>
|
|
117
|
-
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
|
118
|
-
</td>
|
|
119
|
-
<td id='aaron-brager'>
|
|
120
|
-
<a href='https://github.com/getaaron'>
|
|
121
|
-
<img src='https://github.com/getaaron.png?size=140'>
|
|
122
|
-
</a>
|
|
123
|
-
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
|
124
|
-
</td>
|
|
125
|
-
<td id='manu-wallner'>
|
|
126
|
-
<a href='https://github.com/milch'>
|
|
127
|
-
<img src='https://github.com/milch.png?size=140'>
|
|
128
|
-
</a>
|
|
129
|
-
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
|
130
|
-
</td>
|
|
131
131
|
</tr>
|
|
132
132
|
<tr>
|
|
133
|
-
<td id='
|
|
134
|
-
<a href='https://github.com/
|
|
135
|
-
<img src='https://github.com/
|
|
136
|
-
</a>
|
|
137
|
-
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
|
138
|
-
</td>
|
|
139
|
-
<td id='fumiya-nakamura'>
|
|
140
|
-
<a href='https://github.com/nafu'>
|
|
141
|
-
<img src='https://github.com/nafu.png?size=140'>
|
|
133
|
+
<td id='luka-mirosevic'>
|
|
134
|
+
<a href='https://github.com/lmirosevic'>
|
|
135
|
+
<img src='https://github.com/lmirosevic.png?size=140'>
|
|
142
136
|
</a>
|
|
143
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
137
|
+
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
|
144
138
|
</td>
|
|
145
|
-
<td id='
|
|
146
|
-
<a href='https://github.com/
|
|
147
|
-
<img src='https://github.com/
|
|
139
|
+
<td id='maksym-grebenets'>
|
|
140
|
+
<a href='https://github.com/mgrebenets'>
|
|
141
|
+
<img src='https://github.com/mgrebenets.png?size=140'>
|
|
148
142
|
</a>
|
|
149
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
143
|
+
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
|
150
144
|
</td>
|
|
151
|
-
<td id='
|
|
152
|
-
<a href='https://github.com/
|
|
153
|
-
<img src='https://github.com/
|
|
145
|
+
<td id='kohki-miki'>
|
|
146
|
+
<a href='https://github.com/giginet'>
|
|
147
|
+
<img src='https://github.com/giginet.png?size=140'>
|
|
154
148
|
</a>
|
|
155
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
149
|
+
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
|
156
150
|
</td>
|
|
157
151
|
<td id='helmut-januschka'>
|
|
158
152
|
<a href='https://github.com/hjanuschka'>
|
|
@@ -160,19 +154,25 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
160
154
|
</a>
|
|
161
155
|
<h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
|
|
162
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
163
|
</tr>
|
|
164
164
|
<tr>
|
|
165
|
-
<td id='
|
|
166
|
-
<a href='https://github.com/
|
|
167
|
-
<img src='https://github.com/
|
|
165
|
+
<td id='iulian-onofrei'>
|
|
166
|
+
<a href='https://github.com/revolter'>
|
|
167
|
+
<img src='https://github.com/revolter.png?size=140'>
|
|
168
168
|
</a>
|
|
169
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
169
|
+
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
|
170
170
|
</td>
|
|
171
|
-
<td id='
|
|
172
|
-
<a href='https://github.com/
|
|
173
|
-
<img src='https://github.com/
|
|
171
|
+
<td id='joshua-liebowitz'>
|
|
172
|
+
<a href='https://github.com/taquitos'>
|
|
173
|
+
<img src='https://github.com/taquitos.png?size=140'>
|
|
174
174
|
</a>
|
|
175
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
175
|
+
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
|
176
176
|
</td>
|
|
177
177
|
</table>
|
|
178
178
|
|
|
@@ -120,7 +120,7 @@ module Deliver
|
|
|
120
120
|
ScreenSize::MAC => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::APP_DESKTOP,
|
|
121
121
|
ScreenSize::IOS_APPLE_WATCH => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::APP_WATCH_SERIES_3,
|
|
122
122
|
ScreenSize::IOS_APPLE_WATCH_SERIES4 => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::APP_WATCH_SERIES_4,
|
|
123
|
-
|
|
123
|
+
ScreenSize::APPLE_TV => Spaceship::ConnectAPI::AppScreenshotSet::DisplayType::APP_APPLE_TV
|
|
124
124
|
}
|
|
125
125
|
return matching[self.screen_size]
|
|
126
126
|
end
|
|
@@ -40,6 +40,7 @@ module Deliver
|
|
|
40
40
|
res
|
|
41
41
|
end
|
|
42
42
|
|
|
43
|
+
# rubocop:disable Metrics/PerceivedComplexity
|
|
43
44
|
def run
|
|
44
45
|
program :name, 'deliver'
|
|
45
46
|
program :version, Fastlane::VERSION
|
|
@@ -166,15 +167,17 @@ module Deliver
|
|
|
166
167
|
return 0 unless res
|
|
167
168
|
|
|
168
169
|
require 'deliver/setup'
|
|
169
|
-
|
|
170
|
+
app = options[:app]
|
|
171
|
+
platform = Spaceship::ConnectAPI::Platform.map(options[:platform])
|
|
172
|
+
v = app.get_latest_app_store_version(platform: platform)
|
|
170
173
|
if options[:app_version].to_s.length > 0
|
|
171
|
-
v =
|
|
172
|
-
if v.
|
|
174
|
+
v = app.get_live_app_store_version(platform: platform) if v.version_string != options[:app_version]
|
|
175
|
+
if v.nil? || v.version_string != options[:app_version]
|
|
173
176
|
raise "Neither the current nor live version match specified app_version \"#{options[:app_version]}\""
|
|
174
177
|
end
|
|
175
178
|
end
|
|
176
179
|
|
|
177
|
-
Deliver::Setup.new.generate_metadata_files(v, path)
|
|
180
|
+
Deliver::Setup.new.generate_metadata_files(app, v, path)
|
|
178
181
|
end
|
|
179
182
|
end
|
|
180
183
|
|
|
@@ -36,9 +36,15 @@ module Deliver
|
|
|
36
36
|
end
|
|
37
37
|
|
|
38
38
|
def find_app(options)
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
app_identifier = options[:app_identifier]
|
|
40
|
+
app_id = options[:app] if app_identifier.to_s.empty?
|
|
41
|
+
|
|
42
|
+
if !app_identifier.to_s.empty?
|
|
43
|
+
app = Spaceship::ConnectAPI::App.find(app_identifier)
|
|
44
|
+
elsif !app_id.kind_of?(Spaceship::ConnectAPI::App) && !app_id.to_s.empty?
|
|
45
|
+
app = Spaceship::ConnectAPI::App.get(app_id: app_id)
|
|
46
|
+
end
|
|
47
|
+
|
|
42
48
|
if app
|
|
43
49
|
options[:app] = app
|
|
44
50
|
else
|
|
@@ -14,9 +14,7 @@ module Deliver
|
|
|
14
14
|
end
|
|
15
15
|
|
|
16
16
|
def self.download(options, folder_path)
|
|
17
|
-
|
|
18
|
-
app_id = legacy_app.apple_id
|
|
19
|
-
app = Spaceship::ConnectAPI::App.get(app_id: app_id)
|
|
17
|
+
app = options[:app]
|
|
20
18
|
|
|
21
19
|
platform = Spaceship::ConnectAPI::Platform.map(options[:platform])
|
|
22
20
|
if options[:use_live_version]
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
require 'spaceship'
|
|
2
|
+
|
|
1
3
|
require_relative 'module'
|
|
2
4
|
|
|
3
5
|
module Deliver
|
|
@@ -51,7 +53,12 @@ module Deliver
|
|
|
51
53
|
@app_name ||= options[:app].name
|
|
52
54
|
|
|
53
55
|
@languages = options[:description].keys if options[:description]
|
|
54
|
-
@languages ||=
|
|
56
|
+
@languages ||= begin
|
|
57
|
+
platform = Spaceship::ConnectAPI::Platform.map(options[:platform])
|
|
58
|
+
version = options[:app].get_edit_app_store_version(platform: platform)
|
|
59
|
+
|
|
60
|
+
version.get_app_store_version_localizations.collect(&:locale)
|
|
61
|
+
end
|
|
55
62
|
|
|
56
63
|
html_path = File.join(Deliver::ROOT, "lib/assets/summary.html.erb")
|
|
57
64
|
html = ERB.new(File.read(html_path)).result(binding) # https://web.archive.org/web/20160430190141/www.rrn.dk/rubys-erb-templating-system
|
|
@@ -292,7 +292,7 @@ module Deliver
|
|
|
292
292
|
deprecated: "Removed after the migration to the new App Store Connect API in June 2020",
|
|
293
293
|
is_string: false,
|
|
294
294
|
type: Array,
|
|
295
|
-
|
|
295
|
+
optional: true),
|
|
296
296
|
|
|
297
297
|
# Non Localised
|
|
298
298
|
FastlaneCore::ConfigItem.new(key: :app_icon,
|
|
@@ -91,9 +91,7 @@ module Deliver
|
|
|
91
91
|
app_version = options[:app_version]
|
|
92
92
|
UI.message("Making sure the latest version on App Store Connect matches '#{app_version}'...")
|
|
93
93
|
|
|
94
|
-
|
|
95
|
-
app_id = legacy_app.apple_id
|
|
96
|
-
app = Spaceship::ConnectAPI::App.get(app_id: app_id)
|
|
94
|
+
app = options[:app]
|
|
97
95
|
|
|
98
96
|
platform = Spaceship::ConnectAPI::Platform.map(options[:platform])
|
|
99
97
|
changed = app.ensure_version!(app_version, platform: platform)
|
|
@@ -142,14 +140,14 @@ module Deliver
|
|
|
142
140
|
|
|
143
141
|
if upload_ipa
|
|
144
142
|
package_path = FastlaneCore::IpaUploadPackageBuilder.new.generate(
|
|
145
|
-
app_id: options[:app].
|
|
143
|
+
app_id: options[:app].id,
|
|
146
144
|
ipa_path: options[:ipa],
|
|
147
145
|
package_path: "/tmp",
|
|
148
146
|
platform: options[:platform]
|
|
149
147
|
)
|
|
150
148
|
elsif upload_pkg
|
|
151
149
|
package_path = FastlaneCore::PkgUploadPackageBuilder.new.generate(
|
|
152
|
-
app_id: options[:app].
|
|
150
|
+
app_id: options[:app].id,
|
|
153
151
|
pkg_path: options[:pkg],
|
|
154
152
|
package_path: "/tmp",
|
|
155
153
|
platform: options[:platform]
|
|
@@ -157,15 +155,12 @@ module Deliver
|
|
|
157
155
|
end
|
|
158
156
|
|
|
159
157
|
transporter = transporter_for_selected_team
|
|
160
|
-
result = transporter.upload(options[:app].
|
|
158
|
+
result = transporter.upload(options[:app].id, package_path)
|
|
161
159
|
UI.user_error!("Could not upload binary to App Store Connect. Check out the error above", show_github_issues: true) unless result
|
|
162
160
|
end
|
|
163
161
|
|
|
164
162
|
def reject_version_if_possible
|
|
165
|
-
|
|
166
|
-
app_id = legacy_app.apple_id
|
|
167
|
-
app = Spaceship::ConnectAPI::App.get(app_id: app_id)
|
|
168
|
-
|
|
163
|
+
app = options[:app]
|
|
169
164
|
platform = Spaceship::ConnectAPI::Platform.map(options[:platform])
|
|
170
165
|
if app.reject_version_if_possible!(platform: platform)
|
|
171
166
|
UI.success("Successfully rejected previous version!")
|
|
@@ -40,9 +40,13 @@ module Deliver
|
|
|
40
40
|
# This method takes care of creating a new 'deliver' folder, containing the app metadata
|
|
41
41
|
# and screenshots folders
|
|
42
42
|
def generate_deliver_file(deliver_path, options)
|
|
43
|
-
|
|
43
|
+
app = options[:app]
|
|
44
|
+
|
|
45
|
+
platform = Spaceship::ConnectAPI::Platform.map(options[:platform])
|
|
46
|
+
v = app.get_latest_app_store_version(platform: platform)
|
|
47
|
+
|
|
44
48
|
metadata_path = options[:metadata_path] || File.join(deliver_path, 'metadata')
|
|
45
|
-
generate_metadata_files(v, metadata_path)
|
|
49
|
+
generate_metadata_files(app, v, metadata_path)
|
|
46
50
|
|
|
47
51
|
# Generate the final Deliverfile here
|
|
48
52
|
return File.read(deliverfile_path)
|
|
@@ -56,7 +60,92 @@ module Deliver
|
|
|
56
60
|
end
|
|
57
61
|
end
|
|
58
62
|
|
|
59
|
-
def generate_metadata_files(
|
|
63
|
+
def generate_metadata_files(app, version, path)
|
|
64
|
+
# App info localizations
|
|
65
|
+
app_info = app.fetch_live_app_info || app.fetch_edit_app_info
|
|
66
|
+
app_info_localizations = app_info.get_app_info_localizations
|
|
67
|
+
app_info_localizations.each do |localization|
|
|
68
|
+
language = localization.locale
|
|
69
|
+
|
|
70
|
+
UploadMetadata::LOCALISED_APP_VALUES.each do |file_key, attribute_name|
|
|
71
|
+
content = localization.send(attribute_name.to_slug) || ""
|
|
72
|
+
content += "\n"
|
|
73
|
+
|
|
74
|
+
resulting_path = File.join(path, language, "#{file_key}.txt")
|
|
75
|
+
FileUtils.mkdir_p(File.expand_path('..', resulting_path))
|
|
76
|
+
File.write(resulting_path, content)
|
|
77
|
+
|
|
78
|
+
UI.message("Writing to '#{resulting_path}'")
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
# Version localizations
|
|
83
|
+
version_localizations = version.get_app_store_version_localizations
|
|
84
|
+
version_localizations.each do |localization|
|
|
85
|
+
language = localization.locale
|
|
86
|
+
|
|
87
|
+
UploadMetadata::LOCALISED_VERSION_VALUES.each do |file_key, attribute_name|
|
|
88
|
+
content = localization.send(attribute_name) || ""
|
|
89
|
+
content += "\n"
|
|
90
|
+
|
|
91
|
+
resulting_path = File.join(path, language, "#{file_key}.txt")
|
|
92
|
+
FileUtils.mkdir_p(File.expand_path('..', resulting_path))
|
|
93
|
+
File.write(resulting_path, content)
|
|
94
|
+
|
|
95
|
+
UI.message("Writing to '#{resulting_path}'")
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
# App info (categories)
|
|
100
|
+
UploadMetadata::NON_LOCALISED_APP_VALUES.each do |file_key, attribute_name|
|
|
101
|
+
category = app_info.send(attribute_name)
|
|
102
|
+
|
|
103
|
+
content = category ? category.id.to_s : ""
|
|
104
|
+
content += "\n"
|
|
105
|
+
|
|
106
|
+
resulting_path = File.join(path, "#{file_key}.txt")
|
|
107
|
+
FileUtils.mkdir_p(File.expand_path('..', resulting_path))
|
|
108
|
+
File.write(resulting_path, content)
|
|
109
|
+
|
|
110
|
+
UI.message("Writing to '#{resulting_path}'")
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
# Version
|
|
114
|
+
UploadMetadata::NON_LOCALISED_VERSION_VALUES.each do |file_key, attribute_name|
|
|
115
|
+
content = version.send(attribute_name) || ""
|
|
116
|
+
content += "\n"
|
|
117
|
+
|
|
118
|
+
resulting_path = File.join(path, "#{file_key}.txt")
|
|
119
|
+
FileUtils.mkdir_p(File.expand_path('..', resulting_path))
|
|
120
|
+
File.write(resulting_path, content)
|
|
121
|
+
|
|
122
|
+
UI.message("Writing to '#{resulting_path}'")
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
# Review information
|
|
126
|
+
app_store_review_detail = begin
|
|
127
|
+
version.fetch_app_store_review_detail
|
|
128
|
+
rescue
|
|
129
|
+
nil
|
|
130
|
+
end # errors if doesn't exist
|
|
131
|
+
UploadMetadata::REVIEW_INFORMATION_VALUES.each do |file_key, attribute_name|
|
|
132
|
+
if app_store_review_detail
|
|
133
|
+
content = app_store_review_detail.send(attribute_name) || ""
|
|
134
|
+
else
|
|
135
|
+
content = ""
|
|
136
|
+
end
|
|
137
|
+
content += "\n"
|
|
138
|
+
|
|
139
|
+
base_dir = File.join(path, UploadMetadata::REVIEW_INFORMATION_DIR)
|
|
140
|
+
resulting_path = File.join(base_dir, "#{file_key}.txt")
|
|
141
|
+
FileUtils.mkdir_p(File.expand_path('..', resulting_path))
|
|
142
|
+
File.write(resulting_path, content)
|
|
143
|
+
|
|
144
|
+
UI.message("Writing to '#{resulting_path}'")
|
|
145
|
+
end
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
def generate_metadata_files_old(v, path)
|
|
60
149
|
app_details = v.application.details
|
|
61
150
|
|
|
62
151
|
# All the localised metadata
|