fastlane 2.152.0 → 2.155.1
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 +76 -76
- 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/runner.rb +5 -10
- data/deliver/lib/deliver/setup.rb +92 -3
- data/deliver/lib/deliver/submit_for_review.rb +1 -3
- data/deliver/lib/deliver/upload_metadata.rb +46 -26
- data/deliver/lib/deliver/upload_price_tier.rb +1 -3
- data/deliver/lib/deliver/upload_screenshots.rb +75 -44
- data/{deliver/lib/deliver/.commands_generator.rb.swp → fastlane/lib/fastlane/.erb_template_helper.rb.swp} +0 -0
- data/{frameit/lib/frameit/.editor.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_pull.rb +13 -2
- data/fastlane/lib/fastlane/actions/sync_code_signing.rb +5 -0
- 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 +1 -1
- data/fastlane/swift/Fastlane.swift +407 -189
- 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 +1 -1
- data/scan/lib/scan/runner.rb +19 -6
- data/sigh/lib/sigh/.runner.rb.swp +0 -0
- 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 +96 -35
- 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/.device.rb.swp +0 -0
- 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 +33 -58
- data/deliver/lib/deliver/.submit_for_review.rb.swp +0 -0
- data/deliver/lib/deliver/.upload_metadata.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: b77c9dcff082266f510dfe52db1d9747eac32e620b8197e16582af61c03060b5
|
|
4
|
+
data.tar.gz: 5d66ae9adcbaa02fd74fceac52bdaf89d33ae3abede5ac82015440abf0be8787
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 928ee72847179a8eeec320a3c76bd61a43b02683a91cd018f398404ae15f5fe3c0b055b76a3fe203e9d5d3bad23f42e3bc677acbda33fcefec133f4c926c3a5c
|
|
7
|
+
data.tar.gz: 64555183b72fac412fe507a9a55acef51348a1c260ad48aeba484a2f347e6f33a3e205b51b0d4c182dee2a112905292f7f7e03a030fae08b8765ed7fd943645d
|
data/README.md
CHANGED
|
@@ -34,23 +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='
|
|
38
|
-
<a href='https://github.com/
|
|
39
|
-
<img src='https://github.com/
|
|
37
|
+
<td id='helmut-januschka'>
|
|
38
|
+
<a href='https://github.com/hjanuschka'>
|
|
39
|
+
<img src='https://github.com/hjanuschka.png?size=140'>
|
|
40
40
|
</a>
|
|
41
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
41
|
+
<h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
|
|
42
42
|
</td>
|
|
43
|
-
<td id='
|
|
44
|
-
<a href='https://github.com/
|
|
45
|
-
<img src='https://github.com/
|
|
43
|
+
<td id='stefan-natchev'>
|
|
44
|
+
<a href='https://github.com/snatchev'>
|
|
45
|
+
<img src='https://github.com/snatchev.png?size=140'>
|
|
46
46
|
</a>
|
|
47
|
-
<h4 align='center'>
|
|
47
|
+
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
|
48
48
|
</td>
|
|
49
|
-
<td id='
|
|
50
|
-
<a href='https://github.com/
|
|
51
|
-
<img src='https://github.com/
|
|
49
|
+
<td id='matthew-ellis'>
|
|
50
|
+
<a href='https://github.com/matthewellis'>
|
|
51
|
+
<img src='https://github.com/matthewellis.png?size=140'>
|
|
52
52
|
</a>
|
|
53
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
53
|
+
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
|
54
54
|
</td>
|
|
55
55
|
<td id='olivier-halligon'>
|
|
56
56
|
<a href='https://github.com/AliSoftware'>
|
|
@@ -58,51 +58,31 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
58
58
|
</a>
|
|
59
59
|
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
|
60
60
|
</td>
|
|
61
|
-
<td id='
|
|
62
|
-
<a href='https://github.com/
|
|
63
|
-
<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'>
|
|
64
64
|
</a>
|
|
65
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
65
|
+
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
|
66
66
|
</td>
|
|
67
67
|
</tr>
|
|
68
68
|
<tr>
|
|
69
|
-
<td id='
|
|
70
|
-
<a href='https://github.com/
|
|
71
|
-
<img src='https://github.com/
|
|
72
|
-
</a>
|
|
73
|
-
<h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
|
|
74
|
-
</td>
|
|
75
|
-
<td id='matthew-ellis'>
|
|
76
|
-
<a href='https://github.com/matthewellis'>
|
|
77
|
-
<img src='https://github.com/matthewellis.png?size=140'>
|
|
78
|
-
</a>
|
|
79
|
-
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
|
80
|
-
</td>
|
|
81
|
-
<td id='helmut-januschka'>
|
|
82
|
-
<a href='https://github.com/hjanuschka'>
|
|
83
|
-
<img src='https://github.com/hjanuschka.png?size=140'>
|
|
84
|
-
</a>
|
|
85
|
-
<h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
|
|
86
|
-
</td>
|
|
87
|
-
<td id='josh-holtz'>
|
|
88
|
-
<a href='https://github.com/joshdholtz'>
|
|
89
|
-
<img src='https://github.com/joshdholtz.png?size=140'>
|
|
69
|
+
<td id='kohki-miki'>
|
|
70
|
+
<a href='https://github.com/giginet'>
|
|
71
|
+
<img src='https://github.com/giginet.png?size=140'>
|
|
90
72
|
</a>
|
|
91
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
73
|
+
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
|
92
74
|
</td>
|
|
93
|
-
<td id='
|
|
94
|
-
<a href='https://github.com/
|
|
95
|
-
<img src='https://github.com/
|
|
75
|
+
<td id='danielle-tomlinson'>
|
|
76
|
+
<a href='https://github.com/endocrimes'>
|
|
77
|
+
<img src='https://github.com/endocrimes.png?size=140'>
|
|
96
78
|
</a>
|
|
97
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
79
|
+
<h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
|
|
98
80
|
</td>
|
|
99
|
-
|
|
100
|
-
<
|
|
101
|
-
<
|
|
102
|
-
<a href='https://github.com/armcburney'>
|
|
103
|
-
<img src='https://github.com/armcburney.png?size=140'>
|
|
81
|
+
<td id='jan-piotrowski'>
|
|
82
|
+
<a href='https://github.com/janpio'>
|
|
83
|
+
<img src='https://github.com/janpio.png?size=140'>
|
|
104
84
|
</a>
|
|
105
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
85
|
+
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
|
106
86
|
</td>
|
|
107
87
|
<td id='iulian-onofrei'>
|
|
108
88
|
<a href='https://github.com/revolter'>
|
|
@@ -110,43 +90,63 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
110
90
|
</a>
|
|
111
91
|
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
|
112
92
|
</td>
|
|
113
|
-
<td id='
|
|
114
|
-
<a href='https://github.com/
|
|
115
|
-
<img src='https://github.com/
|
|
116
|
-
</a>
|
|
117
|
-
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
|
118
|
-
</td>
|
|
119
|
-
<td id='stefan-natchev'>
|
|
120
|
-
<a href='https://github.com/snatchev'>
|
|
121
|
-
<img src='https://github.com/snatchev.png?size=140'>
|
|
93
|
+
<td id='jimmy-dee'>
|
|
94
|
+
<a href='https://github.com/jdee'>
|
|
95
|
+
<img src='https://github.com/jdee.png?size=140'>
|
|
122
96
|
</a>
|
|
123
|
-
<h4 align='center'
|
|
97
|
+
<h4 align='center'>Jimmy Dee</h4>
|
|
124
98
|
</td>
|
|
99
|
+
</tr>
|
|
100
|
+
<tr>
|
|
125
101
|
<td id='felix-krause'>
|
|
126
102
|
<a href='https://github.com/KrauseFx'>
|
|
127
103
|
<img src='https://github.com/KrauseFx.png?size=140'>
|
|
128
104
|
</a>
|
|
129
105
|
<h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
|
|
130
106
|
</td>
|
|
131
|
-
</tr>
|
|
132
|
-
<tr>
|
|
133
107
|
<td id='jérôme-lacoste'>
|
|
134
108
|
<a href='https://github.com/lacostej'>
|
|
135
109
|
<img src='https://github.com/lacostej.png?size=140'>
|
|
136
110
|
</a>
|
|
137
111
|
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
|
138
112
|
</td>
|
|
113
|
+
<td id='daniel-jankowski'>
|
|
114
|
+
<a href='https://github.com/mollyIV'>
|
|
115
|
+
<img src='https://github.com/mollyIV.png?size=140'>
|
|
116
|
+
</a>
|
|
117
|
+
<h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
|
|
118
|
+
</td>
|
|
119
|
+
<td id='luka-mirosevic'>
|
|
120
|
+
<a href='https://github.com/lmirosevic'>
|
|
121
|
+
<img src='https://github.com/lmirosevic.png?size=140'>
|
|
122
|
+
</a>
|
|
123
|
+
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
|
124
|
+
</td>
|
|
125
|
+
<td id='max-ott'>
|
|
126
|
+
<a href='https://github.com/max-ott'>
|
|
127
|
+
<img src='https://github.com/max-ott.png?size=140'>
|
|
128
|
+
</a>
|
|
129
|
+
<h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
|
|
130
|
+
</td>
|
|
131
|
+
</tr>
|
|
132
|
+
<tr>
|
|
139
133
|
<td id='joshua-liebowitz'>
|
|
140
134
|
<a href='https://github.com/taquitos'>
|
|
141
135
|
<img src='https://github.com/taquitos.png?size=140'>
|
|
142
136
|
</a>
|
|
143
137
|
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
|
144
138
|
</td>
|
|
145
|
-
<td id='
|
|
146
|
-
<a href='https://github.com/
|
|
147
|
-
<img src='https://github.com/
|
|
139
|
+
<td id='josh-holtz'>
|
|
140
|
+
<a href='https://github.com/joshdholtz'>
|
|
141
|
+
<img src='https://github.com/joshdholtz.png?size=140'>
|
|
148
142
|
</a>
|
|
149
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
143
|
+
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
|
144
|
+
</td>
|
|
145
|
+
<td id='fumiya-nakamura'>
|
|
146
|
+
<a href='https://github.com/nafu'>
|
|
147
|
+
<img src='https://github.com/nafu.png?size=140'>
|
|
148
|
+
</a>
|
|
149
|
+
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
|
|
150
150
|
</td>
|
|
151
151
|
<td id='manu-wallner'>
|
|
152
152
|
<a href='https://github.com/milch'>
|
|
@@ -154,25 +154,25 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
154
154
|
</a>
|
|
155
155
|
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
|
156
156
|
</td>
|
|
157
|
-
<td id='
|
|
158
|
-
<a href='https://github.com/
|
|
159
|
-
<img src='https://github.com/
|
|
157
|
+
<td id='maksym-grebenets'>
|
|
158
|
+
<a href='https://github.com/mgrebenets'>
|
|
159
|
+
<img src='https://github.com/mgrebenets.png?size=140'>
|
|
160
160
|
</a>
|
|
161
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
161
|
+
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
|
162
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='aaron-brager'>
|
|
166
|
+
<a href='https://github.com/getaaron'>
|
|
167
|
+
<img src='https://github.com/getaaron.png?size=140'>
|
|
168
168
|
</a>
|
|
169
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
169
|
+
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
|
170
170
|
</td>
|
|
171
|
-
<td id='
|
|
172
|
-
<a href='https://github.com/
|
|
173
|
-
<img src='https://github.com/
|
|
171
|
+
<td id='andrew-mcburney'>
|
|
172
|
+
<a href='https://github.com/armcburney'>
|
|
173
|
+
<img src='https://github.com/armcburney.png?size=140'>
|
|
174
174
|
</a>
|
|
175
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
175
|
+
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</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
|
|
@@ -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
|