fastlane 2.183.2 → 2.184.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +88 -88
- data/cert/lib/cert/runner.rb +3 -7
- data/deliver/lib/deliver/commands_generator.rb +1 -1
- data/deliver/lib/deliver/detect_values.rb +5 -3
- data/deliver/lib/deliver/download_screenshots.rb +1 -1
- data/deliver/lib/deliver/html_generator.rb +2 -2
- data/deliver/lib/deliver/module.rb +6 -0
- data/deliver/lib/deliver/options.rb +36 -51
- data/deliver/lib/deliver/runner.rb +8 -11
- data/deliver/lib/deliver/setup.rb +1 -1
- data/deliver/lib/deliver/submit_for_review.rb +1 -1
- data/deliver/lib/deliver/upload_metadata.rb +19 -5
- data/deliver/lib/deliver/upload_price_tier.rb +1 -1
- data/deliver/lib/deliver/upload_screenshots.rb +1 -1
- data/fastlane/lib/fastlane/actions/app_store_build_number.rb +7 -11
- data/fastlane/lib/fastlane/actions/app_store_connect_api_key.rb +12 -2
- data/fastlane/lib/fastlane/actions/check_app_store_metadata.rb +5 -1
- data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +32 -12
- data/fastlane/lib/fastlane/actions/get_certificates.rb +5 -1
- data/fastlane/lib/fastlane/actions/get_provisioning_profile.rb +5 -1
- data/fastlane/lib/fastlane/actions/register_device.rb +7 -10
- data/fastlane/lib/fastlane/actions/register_devices.rb +7 -10
- data/fastlane/lib/fastlane/actions/set_changelog.rb +7 -10
- data/fastlane/lib/fastlane/actions/swiftlint.rb +16 -4
- data/fastlane/lib/fastlane/actions/sync_code_signing.rb +6 -1
- data/fastlane/lib/fastlane/actions/upload_to_app_store.rb +5 -1
- data/fastlane/lib/fastlane/actions/upload_to_testflight.rb +2 -1
- data/fastlane/lib/fastlane/swift_fastlane_function.rb +6 -4
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +20 -20
- data/fastlane/swift/Fastlane.swift +462 -240
- 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/OptionalConfigValue.swift +2 -32
- 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/swift/formatting/Brewfile.lock.json +2 -2
- data/fastlane_core/lib/fastlane_core/build_watcher.rb +24 -1
- data/fastlane_core/lib/fastlane_core/configuration/commander_generator.rb +5 -0
- data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +2 -0
- data/fastlane_core/lib/fastlane_core/configuration/configuration.rb +1 -1
- data/match/lib/match/importer.rb +6 -10
- data/match/lib/match/migrate.rb +2 -3
- data/match/lib/match/nuke.rb +3 -7
- data/match/lib/match/runner.rb +2 -3
- data/match/lib/match/spaceship_ensure.rb +3 -0
- data/match/lib/match/storage/google_cloud_storage.rb +2 -2
- data/match/lib/match/storage/s3_storage.rb +2 -2
- data/pilot/lib/pilot/build_manager.rb +2 -0
- data/pilot/lib/pilot/manager.rb +3 -7
- data/pilot/lib/pilot/options.rb +8 -0
- data/precheck/lib/precheck/runner.rb +8 -7
- data/sigh/lib/assets/resign.sh +77 -46
- data/sigh/lib/sigh/download_all.rb +4 -8
- data/sigh/lib/sigh/runner.rb +4 -8
- data/spaceship/lib/spaceship/connect_api/models/.age_rating_declaration.rb.swp +0 -0
- data/spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb +35 -4
- data/spaceship/lib/spaceship/connect_api/models/app_info.rb +10 -0
- data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +2 -3
- data/spaceship/lib/spaceship/connect_api/token.rb +6 -0
- data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +4 -2
- metadata +19 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c8a9d0fade7d8368a2ece893d0142c9b22d103b890653d286e7c08de844016ac
|
4
|
+
data.tar.gz: c61acc200330d009626673188948f3c554afcfabecb8ba45e91bd9b697a636ec
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a24b27118a95a7b1c36cbc0710b7bcf9357d52d4c362805ee9e4f84574c7dae49cf09fc4abd6286054a4b330c67a23e1ea349e47e1d27ba6eba3dcd9e9319b82
|
7
|
+
data.tar.gz: 006fd0a41af019175f59dd1a1571611a0255f32c45bdc6a5bebe0fbfc3191b5163981a87b12bd77e38f659406b3687ad15cb8ae9945c7e8d46fc2bb4bc4de562
|
data/README.md
CHANGED
@@ -35,70 +35,76 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
35
35
|
<!-- This table is regenerated and resorted on each release -->
|
36
36
|
<table id='team'>
|
37
37
|
<tr>
|
38
|
-
<td id='
|
39
|
-
<a href='https://github.com/
|
40
|
-
<img src='https://github.com/
|
38
|
+
<td id='iulian-onofrei'>
|
39
|
+
<a href='https://github.com/revolter'>
|
40
|
+
<img src='https://github.com/revolter.png?size=140'>
|
41
41
|
</a>
|
42
|
-
<h4 align='center'><a href='https://twitter.com/
|
42
|
+
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
43
43
|
</td>
|
44
|
-
<td id='
|
45
|
-
<a href='https://github.com/
|
46
|
-
<img src='https://github.com/
|
44
|
+
<td id='jimmy-dee'>
|
45
|
+
<a href='https://github.com/jdee'>
|
46
|
+
<img src='https://github.com/jdee.png?size=140'>
|
47
47
|
</a>
|
48
|
-
<h4 align='center'
|
48
|
+
<h4 align='center'>Jimmy Dee</h4>
|
49
49
|
</td>
|
50
|
-
<td id='
|
51
|
-
<a href='https://github.com/
|
52
|
-
<img src='https://github.com/
|
50
|
+
<td id='kohki-miki'>
|
51
|
+
<a href='https://github.com/giginet'>
|
52
|
+
<img src='https://github.com/giginet.png?size=140'>
|
53
53
|
</a>
|
54
|
-
<h4 align='center'><a href='https://twitter.com/
|
54
|
+
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
55
55
|
</td>
|
56
|
-
<td id='
|
57
|
-
<a href='https://github.com/
|
58
|
-
<img src='https://github.com/
|
56
|
+
<td id='josh-holtz'>
|
57
|
+
<a href='https://github.com/joshdholtz'>
|
58
|
+
<img src='https://github.com/joshdholtz.png?size=140'>
|
59
59
|
</a>
|
60
|
-
<h4 align='center'><a href='https://twitter.com/
|
60
|
+
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
61
61
|
</td>
|
62
|
-
<td id='
|
63
|
-
<a href='https://github.com/
|
64
|
-
<img src='https://github.com/
|
62
|
+
<td id='aaron-brager'>
|
63
|
+
<a href='https://github.com/getaaron'>
|
64
|
+
<img src='https://github.com/getaaron.png?size=140'>
|
65
65
|
</a>
|
66
|
-
<h4 align='center'><a href='https://twitter.com/
|
66
|
+
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
67
67
|
</td>
|
68
68
|
</tr>
|
69
69
|
<tr>
|
70
|
-
<td id='
|
71
|
-
<a href='https://github.com/
|
72
|
-
<img src='https://github.com/
|
70
|
+
<td id='stefan-natchev'>
|
71
|
+
<a href='https://github.com/snatchev'>
|
72
|
+
<img src='https://github.com/snatchev.png?size=140'>
|
73
73
|
</a>
|
74
|
-
<h4 align='center'><a href='https://twitter.com/
|
74
|
+
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
75
75
|
</td>
|
76
|
-
<td id='
|
77
|
-
<a href='https://github.com/
|
78
|
-
<img src='https://github.com/
|
76
|
+
<td id='manu-wallner'>
|
77
|
+
<a href='https://github.com/milch'>
|
78
|
+
<img src='https://github.com/milch.png?size=140'>
|
79
79
|
</a>
|
80
|
-
<h4 align='center'><a href='https://twitter.com/
|
80
|
+
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
81
81
|
</td>
|
82
|
-
<td id='
|
83
|
-
<a href='https://github.com/
|
84
|
-
<img src='https://github.com/
|
82
|
+
<td id='jorge-revuelta-h'>
|
83
|
+
<a href='https://github.com/minuscorp'>
|
84
|
+
<img src='https://github.com/minuscorp.png?size=140'>
|
85
85
|
</a>
|
86
|
-
<h4 align='center'><a href='https://twitter.com/
|
86
|
+
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
87
87
|
</td>
|
88
|
-
<td id='
|
89
|
-
<a href='https://github.com/
|
90
|
-
<img src='https://github.com/
|
88
|
+
<td id='satoshi-namai'>
|
89
|
+
<a href='https://github.com/ainame'>
|
90
|
+
<img src='https://github.com/ainame.png?size=140'>
|
91
91
|
</a>
|
92
|
-
<h4 align='center'><a href='https://twitter.com/
|
92
|
+
<h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
|
93
|
+
</td>
|
94
|
+
<td id='jan-piotrowski'>
|
95
|
+
<a href='https://github.com/janpio'>
|
96
|
+
<img src='https://github.com/janpio.png?size=140'>
|
97
|
+
</a>
|
98
|
+
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
93
99
|
</td>
|
100
|
+
</tr>
|
101
|
+
<tr>
|
94
102
|
<td id='felix-krause'>
|
95
103
|
<a href='https://github.com/KrauseFx'>
|
96
104
|
<img src='https://github.com/KrauseFx.png?size=140'>
|
97
105
|
</a>
|
98
106
|
<h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
|
99
107
|
</td>
|
100
|
-
</tr>
|
101
|
-
<tr>
|
102
108
|
<td id='fumiya-nakamura'>
|
103
109
|
<a href='https://github.com/nafu'>
|
104
110
|
<img src='https://github.com/nafu.png?size=140'>
|
@@ -111,63 +117,37 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
111
117
|
</a>
|
112
118
|
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
113
119
|
</td>
|
114
|
-
<td id='
|
115
|
-
<a href='https://github.com/
|
116
|
-
<img src='https://github.com/
|
117
|
-
</a>
|
118
|
-
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
119
|
-
</td>
|
120
|
-
<td id='jérôme-lacoste'>
|
121
|
-
<a href='https://github.com/lacostej'>
|
122
|
-
<img src='https://github.com/lacostej.png?size=140'>
|
120
|
+
<td id='luka-mirosevic'>
|
121
|
+
<a href='https://github.com/lmirosevic'>
|
122
|
+
<img src='https://github.com/lmirosevic.png?size=140'>
|
123
123
|
</a>
|
124
|
-
<h4 align='center'><a href='https://twitter.com/
|
124
|
+
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
125
125
|
</td>
|
126
|
-
<td id='
|
127
|
-
<a href='https://github.com/
|
128
|
-
<img src='https://github.com/
|
126
|
+
<td id='olivier-halligon'>
|
127
|
+
<a href='https://github.com/AliSoftware'>
|
128
|
+
<img src='https://github.com/AliSoftware.png?size=140'>
|
129
129
|
</a>
|
130
|
-
<h4 align='center'><a href='https://twitter.com/
|
130
|
+
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
131
131
|
</td>
|
132
132
|
</tr>
|
133
133
|
<tr>
|
134
|
-
<td id='satoshi-namai'>
|
135
|
-
<a href='https://github.com/ainame'>
|
136
|
-
<img src='https://github.com/ainame.png?size=140'>
|
137
|
-
</a>
|
138
|
-
<h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
|
139
|
-
</td>
|
140
|
-
<td id='manu-wallner'>
|
141
|
-
<a href='https://github.com/milch'>
|
142
|
-
<img src='https://github.com/milch.png?size=140'>
|
143
|
-
</a>
|
144
|
-
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
145
|
-
</td>
|
146
|
-
<td id='stefan-natchev'>
|
147
|
-
<a href='https://github.com/snatchev'>
|
148
|
-
<img src='https://github.com/snatchev.png?size=140'>
|
149
|
-
</a>
|
150
|
-
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
151
|
-
</td>
|
152
134
|
<td id='danielle-tomlinson'>
|
153
135
|
<a href='https://github.com/endocrimes'>
|
154
136
|
<img src='https://github.com/endocrimes.png?size=140'>
|
155
137
|
</a>
|
156
138
|
<h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
|
157
139
|
</td>
|
158
|
-
<td id='
|
159
|
-
<a href='https://github.com/
|
160
|
-
<img src='https://github.com/
|
140
|
+
<td id='max-ott'>
|
141
|
+
<a href='https://github.com/max-ott'>
|
142
|
+
<img src='https://github.com/max-ott.png?size=140'>
|
161
143
|
</a>
|
162
|
-
<h4 align='center'><a href='https://twitter.com/
|
144
|
+
<h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
|
163
145
|
</td>
|
164
|
-
|
165
|
-
<
|
166
|
-
<
|
167
|
-
<a href='https://github.com/jdee'>
|
168
|
-
<img src='https://github.com/jdee.png?size=140'>
|
146
|
+
<td id='matthew-ellis'>
|
147
|
+
<a href='https://github.com/matthewellis'>
|
148
|
+
<img src='https://github.com/matthewellis.png?size=140'>
|
169
149
|
</a>
|
170
|
-
<h4 align='center'>
|
150
|
+
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
171
151
|
</td>
|
172
152
|
<td id='joshua-liebowitz'>
|
173
153
|
<a href='https://github.com/taquitos'>
|
@@ -175,17 +155,37 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
175
155
|
</a>
|
176
156
|
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
177
157
|
</td>
|
178
|
-
<td id='
|
179
|
-
<a href='https://github.com/
|
180
|
-
<img src='https://github.com/
|
158
|
+
<td id='daniel-jankowski'>
|
159
|
+
<a href='https://github.com/mollyIV'>
|
160
|
+
<img src='https://github.com/mollyIV.png?size=140'>
|
181
161
|
</a>
|
182
|
-
<h4 align='center'><a href='https://twitter.com/
|
162
|
+
<h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
|
183
163
|
</td>
|
184
|
-
|
185
|
-
<
|
186
|
-
<
|
164
|
+
</tr>
|
165
|
+
<tr>
|
166
|
+
<td id='roger-oba'>
|
167
|
+
<a href='https://github.com/rogerluan'>
|
168
|
+
<img src='https://github.com/rogerluan.png?size=140'>
|
187
169
|
</a>
|
188
|
-
<h4 align='center'><a href='https://twitter.com/
|
170
|
+
<h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
|
171
|
+
</td>
|
172
|
+
<td id='maksym-grebenets'>
|
173
|
+
<a href='https://github.com/mgrebenets'>
|
174
|
+
<img src='https://github.com/mgrebenets.png?size=140'>
|
175
|
+
</a>
|
176
|
+
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
177
|
+
</td>
|
178
|
+
<td id='helmut-januschka'>
|
179
|
+
<a href='https://github.com/hjanuschka'>
|
180
|
+
<img src='https://github.com/hjanuschka.png?size=140'>
|
181
|
+
</a>
|
182
|
+
<h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
|
183
|
+
</td>
|
184
|
+
<td id='jérôme-lacoste'>
|
185
|
+
<a href='https://github.com/lacostej'>
|
186
|
+
<img src='https://github.com/lacostej.png?size=140'>
|
187
|
+
</a>
|
188
|
+
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
189
189
|
</td>
|
190
190
|
</table>
|
191
191
|
|
data/cert/lib/cert/runner.rb
CHANGED
@@ -20,9 +20,11 @@ module Cert
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def login
|
23
|
-
if api_token
|
23
|
+
if (api_token = Spaceship::ConnectAPI::Token.from(hash: Cert.config[:api_key], filepath: Cert.config[:api_key_path]))
|
24
24
|
UI.message("Creating authorization token for App Store Connect API")
|
25
25
|
Spaceship::ConnectAPI.token = api_token
|
26
|
+
elsif !Spaceship::ConnectAPI.token.nil?
|
27
|
+
UI.message("Using existing authorization token for App Store Connect API")
|
26
28
|
else
|
27
29
|
# Username is now optional since addition of App Store Connect API Key
|
28
30
|
# Force asking for username to prompt user if not already set
|
@@ -34,12 +36,6 @@ module Cert
|
|
34
36
|
end
|
35
37
|
end
|
36
38
|
|
37
|
-
def api_token
|
38
|
-
@api_token ||= Spaceship::ConnectAPI::Token.create(**Cert.config[:api_key]) if Cert.config[:api_key]
|
39
|
-
@api_token ||= Spaceship::ConnectAPI::Token.from_json_file(Cert.config[:api_key_path]) if Cert.config[:api_key_path]
|
40
|
-
return @api_token
|
41
|
-
end
|
42
|
-
|
43
39
|
def run
|
44
40
|
FileUtils.mkdir_p(Cert.config[:output_path])
|
45
41
|
|
@@ -168,7 +168,7 @@ module Deliver
|
|
168
168
|
return 0 unless res
|
169
169
|
|
170
170
|
require 'deliver/setup'
|
171
|
-
app =
|
171
|
+
app = Deliver.cache[:app]
|
172
172
|
platform = Spaceship::ConnectAPI::Platform.map(options[:platform])
|
173
173
|
v = app.get_latest_app_store_version(platform: platform)
|
174
174
|
if options[:app_version].to_s.length > 0
|
@@ -10,6 +10,8 @@ require_relative 'languages'
|
|
10
10
|
module Deliver
|
11
11
|
class DetectValues
|
12
12
|
def run!(options, skip_params = {})
|
13
|
+
Deliver.cache = {}
|
14
|
+
|
13
15
|
find_platform(options)
|
14
16
|
find_app_identifier(options)
|
15
17
|
find_app(options)
|
@@ -46,9 +48,9 @@ module Deliver
|
|
46
48
|
app = Spaceship::ConnectAPI::App.get(app_id: app_id)
|
47
49
|
end
|
48
50
|
|
49
|
-
|
50
|
-
|
51
|
-
|
51
|
+
Deliver.cache[:app] = app
|
52
|
+
|
53
|
+
unless app
|
52
54
|
UI.user_error!("Could not find app with app identifier '#{options[:app_identifier]}' in your App Store Connect account (#{options[:username]} - Team: #{Spaceship::Tunes.client.team_id})")
|
53
55
|
end
|
54
56
|
end
|
@@ -50,12 +50,12 @@ module Deliver
|
|
50
50
|
@export_path = export_path
|
51
51
|
|
52
52
|
@app_name = (options[:name]['en-US'] || options[:name].values.first) if options[:name]
|
53
|
-
@app_name ||=
|
53
|
+
@app_name ||= Deliver.cache[:app].name
|
54
54
|
|
55
55
|
@languages = options[:description].keys if options[:description]
|
56
56
|
@languages ||= begin
|
57
57
|
platform = Spaceship::ConnectAPI::Platform.map(options[:platform])
|
58
|
-
version =
|
58
|
+
version = Deliver.cache[:app].get_edit_app_store_version(platform: platform)
|
59
59
|
|
60
60
|
version.get_app_store_version_localizations.collect(&:locale)
|
61
61
|
end
|
@@ -4,6 +4,12 @@ require 'fastlane/boolean'
|
|
4
4
|
|
5
5
|
module Deliver
|
6
6
|
class << self
|
7
|
+
attr_accessor :cache
|
8
|
+
|
9
|
+
def cache
|
10
|
+
@cache ||= {}
|
11
|
+
@cache
|
12
|
+
end
|
7
13
|
end
|
8
14
|
|
9
15
|
Helper = FastlaneCore::Helper # you gotta love Ruby: Helper.* should use the Helper class contained in FastlaneCore
|
@@ -109,11 +109,11 @@ module Deliver
|
|
109
109
|
default_value: false,
|
110
110
|
env_name: "DELIVER_EDIT_LIVE",
|
111
111
|
description: "Modify live metadata, this option disables ipa upload and screenshot upload",
|
112
|
-
|
112
|
+
type: Boolean),
|
113
113
|
FastlaneCore::ConfigItem.new(key: :use_live_version,
|
114
114
|
env_name: "DELIVER_USE_LIVE_VERSION",
|
115
115
|
description: "Force usage of live version rather than edit version",
|
116
|
-
|
116
|
+
type: Boolean,
|
117
117
|
default_value: false),
|
118
118
|
|
119
119
|
# paths
|
@@ -132,22 +132,22 @@ module Deliver
|
|
132
132
|
FastlaneCore::ConfigItem.new(key: :skip_binary_upload,
|
133
133
|
env_name: "DELIVER_SKIP_BINARY_UPLOAD",
|
134
134
|
description: "Skip uploading an ipa or pkg to App Store Connect",
|
135
|
-
|
135
|
+
type: Boolean,
|
136
136
|
default_value: false),
|
137
137
|
FastlaneCore::ConfigItem.new(key: :skip_screenshots,
|
138
138
|
env_name: "DELIVER_SKIP_SCREENSHOTS",
|
139
139
|
description: "Don't upload the screenshots",
|
140
|
-
|
140
|
+
type: Boolean,
|
141
141
|
default_value: false),
|
142
142
|
FastlaneCore::ConfigItem.new(key: :skip_metadata,
|
143
143
|
env_name: "DELIVER_SKIP_METADATA",
|
144
144
|
description: "Don't upload the metadata (e.g. title, description). This will still upload screenshots",
|
145
|
-
|
145
|
+
type: Boolean,
|
146
146
|
default_value: false),
|
147
147
|
FastlaneCore::ConfigItem.new(key: :skip_app_version_update,
|
148
148
|
env_name: "DELIVER_SKIP_APP_VERSION_UPDATE",
|
149
149
|
description: "Don’t create or update the app version that is being prepared for submission",
|
150
|
-
|
150
|
+
type: Boolean,
|
151
151
|
default_value: false),
|
152
152
|
|
153
153
|
# how to operate
|
@@ -155,22 +155,22 @@ module Deliver
|
|
155
155
|
short_option: "-f",
|
156
156
|
env_name: "DELIVER_FORCE",
|
157
157
|
description: "Skip verification of HTML preview file",
|
158
|
-
|
158
|
+
type: Boolean,
|
159
159
|
default_value: false),
|
160
160
|
FastlaneCore::ConfigItem.new(key: :overwrite_screenshots,
|
161
161
|
env_name: "DELIVER_OVERWRITE_SCREENSHOTS",
|
162
162
|
description: "Clear all previously uploaded screenshots before uploading the new ones",
|
163
|
-
|
163
|
+
type: Boolean,
|
164
164
|
default_value: false),
|
165
165
|
FastlaneCore::ConfigItem.new(key: :submit_for_review,
|
166
166
|
env_name: "DELIVER_SUBMIT_FOR_REVIEW",
|
167
167
|
description: "Submit the new version for Review after uploading everything",
|
168
|
-
|
168
|
+
type: Boolean,
|
169
169
|
default_value: false),
|
170
170
|
FastlaneCore::ConfigItem.new(key: :reject_if_possible,
|
171
171
|
env_name: "DELIVER_REJECT_IF_POSSIBLE",
|
172
172
|
description: "Rejects the previously submitted build if it's in a state where it's possible",
|
173
|
-
|
173
|
+
type: Boolean,
|
174
174
|
default_value: false),
|
175
175
|
|
176
176
|
# release
|
@@ -198,13 +198,13 @@ module Deliver
|
|
198
198
|
env_name: "DELIVER_PHASED_RELEASE",
|
199
199
|
description: "Enable the phased release feature of iTC",
|
200
200
|
optional: true,
|
201
|
-
|
201
|
+
type: Boolean,
|
202
202
|
default_value: false),
|
203
203
|
FastlaneCore::ConfigItem.new(key: :reset_ratings,
|
204
204
|
env_name: "DELIVER_RESET_RATINGS",
|
205
205
|
description: "Reset the summary rating when you release a new version of the application",
|
206
206
|
optional: true,
|
207
|
-
|
207
|
+
type: Boolean,
|
208
208
|
default_value: false),
|
209
209
|
|
210
210
|
# other app configuration
|
@@ -212,13 +212,12 @@ module Deliver
|
|
212
212
|
short_option: "-r",
|
213
213
|
env_name: "DELIVER_PRICE_TIER",
|
214
214
|
description: "The price tier of this application",
|
215
|
-
|
215
|
+
type: Integer,
|
216
216
|
optional: true),
|
217
217
|
FastlaneCore::ConfigItem.new(key: :app_rating_config_path,
|
218
218
|
short_option: "-g",
|
219
219
|
env_name: "DELIVER_APP_RATING_CONFIG_PATH",
|
220
220
|
description: "Path to the app rating's config",
|
221
|
-
is_string: true,
|
222
221
|
optional: true,
|
223
222
|
verify_block: proc do |value|
|
224
223
|
UI.user_error!("Could not find config file at path '#{File.expand_path(value)}'") unless File.exist?(value)
|
@@ -227,7 +226,6 @@ module Deliver
|
|
227
226
|
FastlaneCore::ConfigItem.new(key: :submission_information,
|
228
227
|
short_option: "-b",
|
229
228
|
description: "Extra information for the submission (e.g. compliance specifications, IDFA settings)",
|
230
|
-
is_string: false,
|
231
229
|
type: Hash,
|
232
230
|
optional: true),
|
233
231
|
|
@@ -237,7 +235,7 @@ module Deliver
|
|
237
235
|
env_name: "DELIVER_TEAM_ID",
|
238
236
|
description: "The ID of your App Store Connect team if you're in multiple teams",
|
239
237
|
optional: true,
|
240
|
-
|
238
|
+
skip_type_validation: true, # as we also allow integers, which we convert to strings anyway
|
241
239
|
code_gen_sensitive: true,
|
242
240
|
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:itc_team_id),
|
243
241
|
default_value_dynamic: true,
|
@@ -260,7 +258,6 @@ module Deliver
|
|
260
258
|
env_name: "DELIVER_DEV_PORTAL_TEAM_ID",
|
261
259
|
description: "The short ID of your Developer Portal team, if you're in multiple teams. Different from your iTC team ID!",
|
262
260
|
optional: true,
|
263
|
-
is_string: true,
|
264
261
|
code_gen_sensitive: true,
|
265
262
|
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:team_id),
|
266
263
|
default_value_dynamic: true,
|
@@ -293,13 +290,13 @@ module Deliver
|
|
293
290
|
short_option: "-x",
|
294
291
|
env_name: "DELIVER_RUN_PRECHECK_BEFORE_SUBMIT",
|
295
292
|
description: "Run precheck before submitting to app review",
|
296
|
-
|
293
|
+
type: Boolean,
|
297
294
|
default_value: true),
|
298
295
|
FastlaneCore::ConfigItem.new(key: :precheck_default_rule_level,
|
299
296
|
short_option: "-d",
|
300
297
|
env_name: "DELIVER_PRECHECK_DEFAULT_RULE_LEVEL",
|
301
298
|
description: "The default precheck rule level unless otherwise configured",
|
302
|
-
|
299
|
+
type: Symbol,
|
303
300
|
default_value: :warn),
|
304
301
|
|
305
302
|
# App Metadata
|
@@ -307,7 +304,6 @@ module Deliver
|
|
307
304
|
env_name: "DELIVER_INDIVUDAL_METADATA_ITEMS",
|
308
305
|
description: "An array of localized metadata items to upload individually by language so that errors can be identified. E.g. ['name', 'keywords', 'description']. Note: slow",
|
309
306
|
deprecated: "Removed after the migration to the new App Store Connect API in June 2020",
|
310
|
-
is_string: false,
|
311
307
|
type: Array,
|
312
308
|
optional: true),
|
313
309
|
|
@@ -327,66 +323,56 @@ module Deliver
|
|
327
323
|
FastlaneCore::ConfigItem.new(key: :copyright,
|
328
324
|
env_name: "DELIVER_COPYRIGHT",
|
329
325
|
description: "Metadata: The copyright notice",
|
330
|
-
optional: true,
|
331
|
-
is_string: true),
|
326
|
+
optional: true),
|
332
327
|
FastlaneCore::ConfigItem.new(key: :primary_category,
|
333
328
|
env_name: "DELIVER_PRIMARY_CATEGORY",
|
334
329
|
description: "Metadata: The english name of the primary category (e.g. `Business`, `Books`)",
|
335
|
-
optional: true,
|
336
|
-
is_string: true),
|
330
|
+
optional: true),
|
337
331
|
FastlaneCore::ConfigItem.new(key: :secondary_category,
|
338
332
|
env_name: "DELIVER_SECONDARY_CATEGORY",
|
339
333
|
description: "Metadata: The english name of the secondary category (e.g. `Business`, `Books`)",
|
340
|
-
optional: true,
|
341
|
-
is_string: true),
|
334
|
+
optional: true),
|
342
335
|
FastlaneCore::ConfigItem.new(key: :primary_first_sub_category,
|
343
336
|
env_name: "DELIVER_PRIMARY_FIRST_SUB_CATEGORY",
|
344
337
|
description: "Metadata: The english name of the primary first sub category (e.g. `Educational`, `Puzzle`)",
|
345
|
-
optional: true,
|
346
|
-
is_string: true),
|
338
|
+
optional: true),
|
347
339
|
FastlaneCore::ConfigItem.new(key: :primary_second_sub_category,
|
348
340
|
env_name: "DELIVER_PRIMARY_SECOND_SUB_CATEGORY",
|
349
341
|
description: "Metadata: The english name of the primary second sub category (e.g. `Educational`, `Puzzle`)",
|
350
|
-
optional: true,
|
351
|
-
is_string: true),
|
342
|
+
optional: true),
|
352
343
|
FastlaneCore::ConfigItem.new(key: :secondary_first_sub_category,
|
353
344
|
env_name: "DELIVER_SECONDARY_FIRST_SUB_CATEGORY",
|
354
345
|
description: "Metadata: The english name of the secondary first sub category (e.g. `Educational`, `Puzzle`)",
|
355
|
-
optional: true,
|
356
|
-
is_string: true),
|
346
|
+
optional: true),
|
357
347
|
FastlaneCore::ConfigItem.new(key: :secondary_second_sub_category,
|
358
348
|
env_name: "DELIVER_SECONDARY_SECOND_SUB_CATEGORY",
|
359
349
|
description: "Metadata: The english name of the secondary second sub category (e.g. `Educational`, `Puzzle`)",
|
360
|
-
optional: true,
|
361
|
-
is_string: true),
|
350
|
+
optional: true),
|
362
351
|
FastlaneCore::ConfigItem.new(key: :trade_representative_contact_information,
|
363
352
|
description: "Metadata: A hash containing the trade representative contact information",
|
364
353
|
optional: true,
|
365
|
-
|
354
|
+
deprecated: "This is no longer used by App Store Connect",
|
366
355
|
type: Hash),
|
367
356
|
FastlaneCore::ConfigItem.new(key: :app_review_information,
|
368
357
|
description: "Metadata: A hash containing the review information",
|
369
358
|
optional: true,
|
370
|
-
is_string: false,
|
371
359
|
type: Hash),
|
372
360
|
FastlaneCore::ConfigItem.new(key: :app_review_attachment_file,
|
373
361
|
env_name: "DELIVER_APP_REVIEW_ATTACHMENT_FILE",
|
374
362
|
description: "Metadata: Path to the app review attachment file",
|
375
|
-
optional: true,
|
376
|
-
is_string: true),
|
363
|
+
optional: true),
|
377
364
|
# Localised
|
378
365
|
FastlaneCore::ConfigItem.new(key: :description,
|
379
366
|
description: "Metadata: The localised app description",
|
380
367
|
optional: true,
|
381
|
-
|
368
|
+
type: Hash),
|
382
369
|
FastlaneCore::ConfigItem.new(key: :name,
|
383
370
|
description: "Metadata: The localised app name",
|
384
371
|
optional: true,
|
385
|
-
|
372
|
+
type: Hash),
|
386
373
|
FastlaneCore::ConfigItem.new(key: :subtitle,
|
387
374
|
description: "Metadata: The localised app subtitle",
|
388
375
|
optional: true,
|
389
|
-
is_string: false,
|
390
376
|
type: Hash,
|
391
377
|
verify_block: proc do |value|
|
392
378
|
UI.user_error!(":subtitle must be a hash, with the language being the key") unless value.kind_of?(Hash)
|
@@ -394,7 +380,6 @@ module Deliver
|
|
394
380
|
FastlaneCore::ConfigItem.new(key: :keywords,
|
395
381
|
description: "Metadata: An array of localised keywords",
|
396
382
|
optional: true,
|
397
|
-
is_string: false,
|
398
383
|
type: Hash,
|
399
384
|
verify_block: proc do |value|
|
400
385
|
UI.user_error!(":keywords must be a hash, with the language being the key") unless value.kind_of?(Hash)
|
@@ -409,7 +394,6 @@ module Deliver
|
|
409
394
|
FastlaneCore::ConfigItem.new(key: :promotional_text,
|
410
395
|
description: "Metadata: An array of localised promotional texts",
|
411
396
|
optional: true,
|
412
|
-
is_string: false,
|
413
397
|
type: Hash,
|
414
398
|
verify_block: proc do |value|
|
415
399
|
UI.user_error!(":keywords must be a hash, with the language being the key") unless value.kind_of?(Hash)
|
@@ -417,23 +401,23 @@ module Deliver
|
|
417
401
|
FastlaneCore::ConfigItem.new(key: :release_notes,
|
418
402
|
description: "Metadata: Localised release notes for this version",
|
419
403
|
optional: true,
|
420
|
-
|
404
|
+
type: Hash),
|
421
405
|
FastlaneCore::ConfigItem.new(key: :privacy_url,
|
422
406
|
description: "Metadata: Localised privacy url",
|
423
407
|
optional: true,
|
424
|
-
|
408
|
+
type: Hash),
|
425
409
|
FastlaneCore::ConfigItem.new(key: :apple_tv_privacy_policy,
|
426
410
|
description: "Metadata: Localised Apple TV privacy policy text",
|
427
411
|
optional: true,
|
428
|
-
|
412
|
+
type: Hash),
|
429
413
|
FastlaneCore::ConfigItem.new(key: :support_url,
|
430
414
|
description: "Metadata: Localised support url",
|
431
415
|
optional: true,
|
432
|
-
|
416
|
+
type: Hash),
|
433
417
|
FastlaneCore::ConfigItem.new(key: :marketing_url,
|
434
418
|
description: "Metadata: Localised marketing url",
|
435
419
|
optional: true,
|
436
|
-
|
420
|
+
type: Hash),
|
437
421
|
# The verify_block has been removed from here and verification now happens in Deliver::DetectValues
|
438
422
|
# Verification needed Spaceship::Tunes.client which required the Deliver::Runner to already by started
|
439
423
|
FastlaneCore::ConfigItem.new(key: :languages,
|
@@ -445,11 +429,11 @@ module Deliver
|
|
445
429
|
env_name: "DELIVER_IGNORE_LANGUAGE_DIRECTORY_VALIDATION",
|
446
430
|
description: "Ignore errors when invalid languages are found in metadata and screenshot directories",
|
447
431
|
default_value: false,
|
448
|
-
|
432
|
+
type: Boolean),
|
449
433
|
FastlaneCore::ConfigItem.new(key: :precheck_include_in_app_purchases,
|
450
434
|
env_name: "PRECHECK_INCLUDE_IN_APP_PURCHASES",
|
451
435
|
description: "Should precheck check in-app purchases?",
|
452
|
-
|
436
|
+
type: Boolean,
|
453
437
|
optional: true,
|
454
438
|
default_value: true),
|
455
439
|
|
@@ -458,7 +442,8 @@ module Deliver
|
|
458
442
|
short_option: "-p",
|
459
443
|
env_name: "DELIVER_APP_ID",
|
460
444
|
description: "The (spaceship) app ID of the app you want to use/modify",
|
461
|
-
|
445
|
+
optional: true,
|
446
|
+
type: Integer)
|
462
447
|
]
|
463
448
|
end
|
464
449
|
end
|