fastlane 2.152.0 → 2.153.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 +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/runner.rb +5 -10
- data/deliver/lib/deliver/setup.rb +94 -3
- data/deliver/lib/deliver/submit_for_review.rb +1 -3
- data/deliver/lib/deliver/upload_metadata.rb +25 -22
- 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/fastlane/lib/fastlane/actions/.git_commit.rb.swp +0 -0
- data/fastlane/lib/fastlane/actions/docs/frame_screenshots.md +3 -1
- data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +1 -1
- data/fastlane/lib/fastlane/actions/download_dsyms.rb +4 -2
- data/fastlane/lib/fastlane/actions/erb.rb +10 -2
- 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 +7 -4
- 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 +1 -1
- 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 +1 -1
- data/fastlane_core/lib/fastlane_core/device_manager.rb +20 -6
- data/frameit/lib/frameit/editor.rb +8 -5
- data/scan/lib/scan/runner.rb +19 -6
- data/spaceship/lib/spaceship/connect_api.rb +1 -0
- data/spaceship/lib/spaceship/connect_api/client.rb +2 -2
- data/spaceship/lib/spaceship/connect_api/model.rb +10 -0
- data/spaceship/lib/spaceship/connect_api/models/.app_screenshot.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 +40 -2
- 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 +10 -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/idfa_declaration.rb +1 -0
- data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +32 -1
- metadata +34 -59
- 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: '0738d9e2b7948bc5c029fff4cc5314accc0285c7e9fa0652c7526c58d4512dbd'
|
|
4
|
+
data.tar.gz: 2999ba6d7c1c5784969196e9d2efe9da82561c74ac218af83e5533a7c28babaa
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 94463ea90394a490270ec45cd7a47123cd8da45f7aa1649f302fdabc3e315864bd1366861730ca57a31748f7bd90cc39a5f6d61c67a7ecfb29eccb0be99f457e
|
|
7
|
+
data.tar.gz: a23b7a7e5e74c7301222b9700b8cc6b73124842530fc417987eb95b62ae7d0be65c88b190f0d22c5b847bbb9ed55ad413d1f25c6eb3a20b011ade15af119088b
|
data/README.md
CHANGED
|
@@ -34,49 +34,29 @@ 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/
|
|
40
|
-
</a>
|
|
41
|
-
<h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
|
|
42
|
-
</td>
|
|
43
|
-
<td id='jimmy-dee'>
|
|
44
|
-
<a href='https://github.com/jdee'>
|
|
45
|
-
<img src='https://github.com/jdee.png?size=140'>
|
|
46
|
-
</a>
|
|
47
|
-
<h4 align='center'>Jimmy Dee</h4>
|
|
48
|
-
</td>
|
|
49
|
-
<td id='kohki-miki'>
|
|
50
|
-
<a href='https://github.com/giginet'>
|
|
51
|
-
<img src='https://github.com/giginet.png?size=140'>
|
|
52
|
-
</a>
|
|
53
|
-
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
|
54
|
-
</td>
|
|
55
|
-
<td id='olivier-halligon'>
|
|
56
|
-
<a href='https://github.com/AliSoftware'>
|
|
57
|
-
<img src='https://github.com/AliSoftware.png?size=140'>
|
|
37
|
+
<td id='andrew-mcburney'>
|
|
38
|
+
<a href='https://github.com/armcburney'>
|
|
39
|
+
<img src='https://github.com/armcburney.png?size=140'>
|
|
58
40
|
</a>
|
|
59
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
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='josh-holtz'>
|
|
44
|
+
<a href='https://github.com/joshdholtz'>
|
|
45
|
+
<img src='https://github.com/joshdholtz.png?size=140'>
|
|
64
46
|
</a>
|
|
65
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
47
|
+
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
|
66
48
|
</td>
|
|
67
|
-
</tr>
|
|
68
|
-
<tr>
|
|
69
49
|
<td id='daniel-jankowski'>
|
|
70
50
|
<a href='https://github.com/mollyIV'>
|
|
71
51
|
<img src='https://github.com/mollyIV.png?size=140'>
|
|
72
52
|
</a>
|
|
73
53
|
<h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</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
61
|
<td id='helmut-januschka'>
|
|
82
62
|
<a href='https://github.com/hjanuschka'>
|
|
@@ -84,11 +64,13 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
84
64
|
</a>
|
|
85
65
|
<h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
|
|
86
66
|
</td>
|
|
87
|
-
|
|
88
|
-
<
|
|
89
|
-
<
|
|
67
|
+
</tr>
|
|
68
|
+
<tr>
|
|
69
|
+
<td id='luka-mirosevic'>
|
|
70
|
+
<a href='https://github.com/lmirosevic'>
|
|
71
|
+
<img src='https://github.com/lmirosevic.png?size=140'>
|
|
90
72
|
</a>
|
|
91
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
73
|
+
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
|
92
74
|
</td>
|
|
93
75
|
<td id='fumiya-nakamura'>
|
|
94
76
|
<a href='https://github.com/nafu'>
|
|
@@ -96,31 +78,17 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
96
78
|
</a>
|
|
97
79
|
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</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'>
|
|
104
|
-
</a>
|
|
105
|
-
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
|
106
|
-
</td>
|
|
107
|
-
<td id='iulian-onofrei'>
|
|
108
|
-
<a href='https://github.com/revolter'>
|
|
109
|
-
<img src='https://github.com/revolter.png?size=140'>
|
|
110
|
-
</a>
|
|
111
|
-
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
|
112
|
-
</td>
|
|
113
|
-
<td id='luka-mirosevic'>
|
|
114
|
-
<a href='https://github.com/lmirosevic'>
|
|
115
|
-
<img src='https://github.com/lmirosevic.png?size=140'>
|
|
81
|
+
<td id='olivier-halligon'>
|
|
82
|
+
<a href='https://github.com/AliSoftware'>
|
|
83
|
+
<img src='https://github.com/AliSoftware.png?size=140'>
|
|
116
84
|
</a>
|
|
117
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
85
|
+
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
|
118
86
|
</td>
|
|
119
|
-
<td id='
|
|
120
|
-
<a href='https://github.com/
|
|
121
|
-
<img src='https://github.com/
|
|
87
|
+
<td id='kohki-miki'>
|
|
88
|
+
<a href='https://github.com/giginet'>
|
|
89
|
+
<img src='https://github.com/giginet.png?size=140'>
|
|
122
90
|
</a>
|
|
123
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
91
|
+
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
|
124
92
|
</td>
|
|
125
93
|
<td id='felix-krause'>
|
|
126
94
|
<a href='https://github.com/KrauseFx'>
|
|
@@ -130,17 +98,23 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
130
98
|
</td>
|
|
131
99
|
</tr>
|
|
132
100
|
<tr>
|
|
133
|
-
<td id='
|
|
134
|
-
<a href='https://github.com/
|
|
135
|
-
<img src='https://github.com/
|
|
101
|
+
<td id='stefan-natchev'>
|
|
102
|
+
<a href='https://github.com/snatchev'>
|
|
103
|
+
<img src='https://github.com/snatchev.png?size=140'>
|
|
136
104
|
</a>
|
|
137
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
105
|
+
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
|
138
106
|
</td>
|
|
139
|
-
<td id='
|
|
140
|
-
<a href='https://github.com/
|
|
141
|
-
<img src='https://github.com/
|
|
107
|
+
<td id='jorge-revuelta-h'>
|
|
108
|
+
<a href='https://github.com/minuscorp'>
|
|
109
|
+
<img src='https://github.com/minuscorp.png?size=140'>
|
|
142
110
|
</a>
|
|
143
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
111
|
+
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
|
112
|
+
</td>
|
|
113
|
+
<td id='jimmy-dee'>
|
|
114
|
+
<a href='https://github.com/jdee'>
|
|
115
|
+
<img src='https://github.com/jdee.png?size=140'>
|
|
116
|
+
</a>
|
|
117
|
+
<h4 align='center'>Jimmy Dee</h4>
|
|
144
118
|
</td>
|
|
145
119
|
<td id='danielle-tomlinson'>
|
|
146
120
|
<a href='https://github.com/endocrimes'>
|
|
@@ -148,25 +122,31 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
148
122
|
</a>
|
|
149
123
|
<h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
|
|
150
124
|
</td>
|
|
125
|
+
<td id='matthew-ellis'>
|
|
126
|
+
<a href='https://github.com/matthewellis'>
|
|
127
|
+
<img src='https://github.com/matthewellis.png?size=140'>
|
|
128
|
+
</a>
|
|
129
|
+
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
|
130
|
+
</td>
|
|
131
|
+
</tr>
|
|
132
|
+
<tr>
|
|
151
133
|
<td id='manu-wallner'>
|
|
152
134
|
<a href='https://github.com/milch'>
|
|
153
135
|
<img src='https://github.com/milch.png?size=140'>
|
|
154
136
|
</a>
|
|
155
137
|
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
|
156
138
|
</td>
|
|
157
|
-
<td id='
|
|
158
|
-
<a href='https://github.com/
|
|
159
|
-
<img src='https://github.com/
|
|
139
|
+
<td id='jérôme-lacoste'>
|
|
140
|
+
<a href='https://github.com/lacostej'>
|
|
141
|
+
<img src='https://github.com/lacostej.png?size=140'>
|
|
160
142
|
</a>
|
|
161
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
143
|
+
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
|
162
144
|
</td>
|
|
163
|
-
|
|
164
|
-
<
|
|
165
|
-
<
|
|
166
|
-
<a href='https://github.com/minuscorp'>
|
|
167
|
-
<img src='https://github.com/minuscorp.png?size=140'>
|
|
145
|
+
<td id='iulian-onofrei'>
|
|
146
|
+
<a href='https://github.com/revolter'>
|
|
147
|
+
<img src='https://github.com/revolter.png?size=140'>
|
|
168
148
|
</a>
|
|
169
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
149
|
+
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
|
170
150
|
</td>
|
|
171
151
|
<td id='maksym-grebenets'>
|
|
172
152
|
<a href='https://github.com/mgrebenets'>
|
|
@@ -174,6 +154,26 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
174
154
|
</a>
|
|
175
155
|
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
|
176
156
|
</td>
|
|
157
|
+
<td id='joshua-liebowitz'>
|
|
158
|
+
<a href='https://github.com/taquitos'>
|
|
159
|
+
<img src='https://github.com/taquitos.png?size=140'>
|
|
160
|
+
</a>
|
|
161
|
+
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
|
162
|
+
</td>
|
|
163
|
+
</tr>
|
|
164
|
+
<tr>
|
|
165
|
+
<td id='aaron-brager'>
|
|
166
|
+
<a href='https://github.com/getaaron'>
|
|
167
|
+
<img src='https://github.com/getaaron.png?size=140'>
|
|
168
|
+
</a>
|
|
169
|
+
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
|
170
|
+
</td>
|
|
171
|
+
<td id='jan-piotrowski'>
|
|
172
|
+
<a href='https://github.com/janpio'>
|
|
173
|
+
<img src='https://github.com/janpio.png?size=140'>
|
|
174
|
+
</a>
|
|
175
|
+
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
|
176
|
+
</td>
|
|
177
177
|
</table>
|
|
178
178
|
|
|
179
179
|
Special thanks to all [contributors](https://github.com/fastlane/fastlane/graphs/contributors) for extending and improving _fastlane_.
|
|
@@ -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]
|
|
@@ -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,94 @@ 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
|
+
file_key = UploadMetadata::REVIEW_INFORMATION_VALUES_LEGACY.key(file_key)
|
|
140
|
+
|
|
141
|
+
base_dir = File.join(path, UploadMetadata::REVIEW_INFORMATION_DIR)
|
|
142
|
+
resulting_path = File.join(base_dir, "#{file_key}.txt")
|
|
143
|
+
FileUtils.mkdir_p(File.expand_path('..', resulting_path))
|
|
144
|
+
File.write(resulting_path, content)
|
|
145
|
+
|
|
146
|
+
UI.message("Writing to '#{resulting_path}'")
|
|
147
|
+
end
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
def generate_metadata_files_old(v, path)
|
|
60
151
|
app_details = v.application.details
|
|
61
152
|
|
|
62
153
|
# All the localised metadata
|