fastlane 2.221.0 → 2.222.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 +92 -92
- data/deliver/lib/deliver/options.rb +2 -2
- data/deliver/lib/deliver/runner.rb +2 -2
- data/deliver/lib/deliver/submit_for_review.rb +0 -77
- data/fastlane/lib/fastlane/actions/app_store_build_number.rb +1 -1
- data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +4 -3
- data/fastlane/lib/fastlane/actions/download_dsyms.rb +2 -2
- data/fastlane/lib/fastlane/actions/ensure_git_status_clean.rb +16 -1
- data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +1 -1
- data/fastlane/lib/fastlane/actions/set_changelog.rb +3 -3
- data/fastlane/lib/fastlane/fast_file.rb +3 -1
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +2 -2
- data/fastlane/swift/Fastlane.swift +7 -7
- 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/swift/formatting/Brewfile.lock.json +17 -17
- data/gym/lib/gym/generators/build_command_generator.rb +1 -1
- data/spaceship/lib/spaceship/connect_api/models/app.rb +10 -0
- data/spaceship/lib/spaceship/connect_api/models/app_availability.rb +23 -0
- data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +1 -19
- data/spaceship/lib/spaceship/connect_api/models/territory_availability.rb +62 -0
- data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +9 -45
- data/spaceship/lib/spaceship/connect_api.rb +2 -1
- data/spaceship/lib/spaceship/tunes/app_submission.rb +0 -19
- data/spaceship/lib/spaceship/tunes/application.rb +1 -1
- data/spaceship/lib/spaceship/tunes/tunes_client.rb +2 -0
- data/trainer/lib/trainer/test_parser.rb +27 -2
- metadata +25 -24
- data/spaceship/lib/spaceship/connect_api/models/idfa_declaration.rb +0 -43
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3c2fcb0e5c62891ef4b01994e10d1c7880f0738f5f289d28633e983e657eede5
|
|
4
|
+
data.tar.gz: 5e56397ff26ad27aee638525ed836aea56749477029a81fd263ac747da7fb760
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 38e276729f76d983d1e61807d6502cd8d09b9b357be64b04f2045870db69803923e928566fd2df06e9727d5d69e58063837c70c32a5f9d2c6ef9693d6aa195b0
|
|
7
|
+
data.tar.gz: 23b475e6e9dede5602fceebd40be36fc3026a74e9b29d90f5942e4a084761bd6820f03d77733f8700a21957384ed52d560d089126a067c74475678eea42426e4
|
data/README.md
CHANGED
|
@@ -35,11 +35,11 @@ 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='manish-rathi'>
|
|
39
|
+
<a href='https://github.com/crazymanish'>
|
|
40
|
+
<img src='https://github.com/crazymanish.png' width='140px;'>
|
|
41
41
|
</a>
|
|
42
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
42
|
+
<h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</a></h4>
|
|
43
43
|
</td>
|
|
44
44
|
<td id='iulian-onofrei'>
|
|
45
45
|
<a href='https://github.com/revolter'>
|
|
@@ -47,37 +47,17 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
47
47
|
</a>
|
|
48
48
|
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
|
49
49
|
</td>
|
|
50
|
-
<td id='
|
|
51
|
-
<a href='https://github.com/
|
|
52
|
-
<img src='https://github.com/
|
|
53
|
-
</a>
|
|
54
|
-
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
|
55
|
-
</td>
|
|
56
|
-
<td id='roger-oba'>
|
|
57
|
-
<a href='https://github.com/rogerluan'>
|
|
58
|
-
<img src='https://github.com/rogerluan.png' width='140px;'>
|
|
59
|
-
</a>
|
|
60
|
-
<h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
|
|
61
|
-
</td>
|
|
62
|
-
<td id='jan-piotrowski'>
|
|
63
|
-
<a href='https://github.com/janpio'>
|
|
64
|
-
<img src='https://github.com/janpio.png' width='140px;'>
|
|
65
|
-
</a>
|
|
66
|
-
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
|
67
|
-
</td>
|
|
68
|
-
</tr>
|
|
69
|
-
<tr>
|
|
70
|
-
<td id='jimmy-dee'>
|
|
71
|
-
<a href='https://github.com/jdee'>
|
|
72
|
-
<img src='https://github.com/jdee.png' width='140px;'>
|
|
50
|
+
<td id='helmut-januschka'>
|
|
51
|
+
<a href='https://github.com/hjanuschka'>
|
|
52
|
+
<img src='https://github.com/hjanuschka.png' width='140px;'>
|
|
73
53
|
</a>
|
|
74
|
-
<h4 align='center'>
|
|
54
|
+
<h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
|
|
75
55
|
</td>
|
|
76
|
-
<td id='
|
|
77
|
-
<a href='https://github.com/
|
|
78
|
-
<img src='https://github.com/
|
|
56
|
+
<td id='stefan-natchev'>
|
|
57
|
+
<a href='https://github.com/snatchev'>
|
|
58
|
+
<img src='https://github.com/snatchev.png' width='140px;'>
|
|
79
59
|
</a>
|
|
80
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
60
|
+
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
|
81
61
|
</td>
|
|
82
62
|
<td id='manu-wallner'>
|
|
83
63
|
<a href='https://github.com/milch'>
|
|
@@ -85,25 +65,45 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
85
65
|
</a>
|
|
86
66
|
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
|
87
67
|
</td>
|
|
68
|
+
</tr>
|
|
69
|
+
<tr>
|
|
70
|
+
<td id='maksym-grebenets'>
|
|
71
|
+
<a href='https://github.com/mgrebenets'>
|
|
72
|
+
<img src='https://github.com/mgrebenets.png' width='140px;'>
|
|
73
|
+
</a>
|
|
74
|
+
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
|
75
|
+
</td>
|
|
88
76
|
<td id='jorge-revuelta-h'>
|
|
89
77
|
<a href='https://github.com/minuscorp'>
|
|
90
78
|
<img src='https://github.com/minuscorp.png' width='140px;'>
|
|
91
79
|
</a>
|
|
92
80
|
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
|
93
81
|
</td>
|
|
94
|
-
<td id='
|
|
95
|
-
<a href='https://github.com/
|
|
96
|
-
<img src='https://github.com/
|
|
82
|
+
<td id='jérôme-lacoste'>
|
|
83
|
+
<a href='https://github.com/lacostej'>
|
|
84
|
+
<img src='https://github.com/lacostej.png' width='140px;'>
|
|
97
85
|
</a>
|
|
98
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
86
|
+
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
|
87
|
+
</td>
|
|
88
|
+
<td id='roger-oba'>
|
|
89
|
+
<a href='https://github.com/rogerluan'>
|
|
90
|
+
<img src='https://github.com/rogerluan.png' width='140px;'>
|
|
91
|
+
</a>
|
|
92
|
+
<h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
|
|
93
|
+
</td>
|
|
94
|
+
<td id='jan-piotrowski'>
|
|
95
|
+
<a href='https://github.com/janpio'>
|
|
96
|
+
<img src='https://github.com/janpio.png' width='140px;'>
|
|
97
|
+
</a>
|
|
98
|
+
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
|
99
99
|
</td>
|
|
100
100
|
</tr>
|
|
101
101
|
<tr>
|
|
102
|
-
<td id='
|
|
103
|
-
<a href='https://github.com/
|
|
104
|
-
<img src='https://github.com/
|
|
102
|
+
<td id='max-ott'>
|
|
103
|
+
<a href='https://github.com/max-ott'>
|
|
104
|
+
<img src='https://github.com/max-ott.png' width='140px;'>
|
|
105
105
|
</a>
|
|
106
|
-
<h4 align='center'
|
|
106
|
+
<h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
|
|
107
107
|
</td>
|
|
108
108
|
<td id='matthew-ellis'>
|
|
109
109
|
<a href='https://github.com/matthewellis'>
|
|
@@ -111,69 +111,69 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
111
111
|
</a>
|
|
112
112
|
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
|
113
113
|
</td>
|
|
114
|
-
<td id='
|
|
115
|
-
<a href='https://github.com/
|
|
116
|
-
<img src='https://github.com/
|
|
114
|
+
<td id='danielle-tomlinson'>
|
|
115
|
+
<a href='https://github.com/endocrimes'>
|
|
116
|
+
<img src='https://github.com/endocrimes.png' width='140px;'>
|
|
117
117
|
</a>
|
|
118
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
118
|
+
<h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
|
|
119
119
|
</td>
|
|
120
|
-
<td id='
|
|
121
|
-
<a href='https://github.com/
|
|
122
|
-
<img src='https://github.com/
|
|
120
|
+
<td id='daniel-jankowski'>
|
|
121
|
+
<a href='https://github.com/mollyIV'>
|
|
122
|
+
<img src='https://github.com/mollyIV.png' width='140px;'>
|
|
123
123
|
</a>
|
|
124
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
124
|
+
<h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
|
|
125
125
|
</td>
|
|
126
|
-
<td id='
|
|
127
|
-
<a href='https://github.com/
|
|
128
|
-
<img src='https://github.com/
|
|
126
|
+
<td id='kohki-miki'>
|
|
127
|
+
<a href='https://github.com/giginet'>
|
|
128
|
+
<img src='https://github.com/giginet.png' width='140px;'>
|
|
129
129
|
</a>
|
|
130
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
130
|
+
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
|
131
131
|
</td>
|
|
132
132
|
</tr>
|
|
133
133
|
<tr>
|
|
134
|
-
<td id='
|
|
135
|
-
<a href='https://github.com/
|
|
136
|
-
<img src='https://github.com/
|
|
134
|
+
<td id='jimmy-dee'>
|
|
135
|
+
<a href='https://github.com/jdee'>
|
|
136
|
+
<img src='https://github.com/jdee.png' width='140px;'>
|
|
137
137
|
</a>
|
|
138
|
-
<h4 align='center'
|
|
138
|
+
<h4 align='center'>Jimmy Dee</h4>
|
|
139
139
|
</td>
|
|
140
|
-
<td id='
|
|
141
|
-
<a href='https://github.com/
|
|
142
|
-
<img src='https://github.com/
|
|
140
|
+
<td id='satoshi-namai'>
|
|
141
|
+
<a href='https://github.com/ainame'>
|
|
142
|
+
<img src='https://github.com/ainame.png' width='140px;'>
|
|
143
143
|
</a>
|
|
144
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
144
|
+
<h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
|
|
145
145
|
</td>
|
|
146
|
-
<td id='
|
|
147
|
-
<a href='https://github.com/
|
|
148
|
-
<img src='https://github.com/
|
|
146
|
+
<td id='luka-mirosevic'>
|
|
147
|
+
<a href='https://github.com/lmirosevic'>
|
|
148
|
+
<img src='https://github.com/lmirosevic.png' width='140px;'>
|
|
149
149
|
</a>
|
|
150
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
150
|
+
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
|
151
151
|
</td>
|
|
152
|
-
<td id='
|
|
153
|
-
<a href='https://github.com/
|
|
154
|
-
<img src='https://github.com/
|
|
152
|
+
<td id='joshua-liebowitz'>
|
|
153
|
+
<a href='https://github.com/taquitos'>
|
|
154
|
+
<img src='https://github.com/taquitos.png' width='140px;'>
|
|
155
155
|
</a>
|
|
156
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
156
|
+
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
|
157
157
|
</td>
|
|
158
|
-
<td id='
|
|
159
|
-
<a href='https://github.com/
|
|
160
|
-
<img src='https://github.com/
|
|
158
|
+
<td id='josh-holtz'>
|
|
159
|
+
<a href='https://github.com/joshdholtz'>
|
|
160
|
+
<img src='https://github.com/joshdholtz.png' width='140px;'>
|
|
161
161
|
</a>
|
|
162
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
162
|
+
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
|
163
163
|
</td>
|
|
164
164
|
</tr>
|
|
165
165
|
<tr>
|
|
166
|
-
<td id='
|
|
167
|
-
<a href='https://github.com/
|
|
168
|
-
<img src='https://github.com/
|
|
166
|
+
<td id='fumiya-nakamura'>
|
|
167
|
+
<a href='https://github.com/nafu'>
|
|
168
|
+
<img src='https://github.com/nafu.png' width='140px;'>
|
|
169
169
|
</a>
|
|
170
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
170
|
+
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
|
|
171
171
|
</td>
|
|
172
|
-
<td id='
|
|
173
|
-
<a href='https://github.com/
|
|
174
|
-
<img src='https://github.com/
|
|
172
|
+
<td id='łukasz-grabowski'>
|
|
173
|
+
<a href='https://github.com/lucgrabowski'>
|
|
174
|
+
<img src='https://github.com/lucgrabowski.png' width='140px;'>
|
|
175
175
|
</a>
|
|
176
|
-
<h4 align='center'
|
|
176
|
+
<h4 align='center'>Łukasz Grabowski</h4>
|
|
177
177
|
</td>
|
|
178
178
|
<td id='felix-krause'>
|
|
179
179
|
<a href='https://github.com/KrauseFx'>
|
|
@@ -181,25 +181,25 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
181
181
|
</a>
|
|
182
182
|
<h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
|
|
183
183
|
</td>
|
|
184
|
-
<td id='
|
|
185
|
-
<a href='https://github.com/
|
|
186
|
-
<img src='https://github.com/
|
|
184
|
+
<td id='aaron-brager'>
|
|
185
|
+
<a href='https://github.com/getaaron'>
|
|
186
|
+
<img src='https://github.com/getaaron.png' width='140px;'>
|
|
187
187
|
</a>
|
|
188
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
188
|
+
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
|
189
189
|
</td>
|
|
190
|
-
<td id='
|
|
191
|
-
<a href='https://github.com/
|
|
192
|
-
<img src='https://github.com/
|
|
190
|
+
<td id='olivier-halligon'>
|
|
191
|
+
<a href='https://github.com/AliSoftware'>
|
|
192
|
+
<img src='https://github.com/AliSoftware.png' width='140px;'>
|
|
193
193
|
</a>
|
|
194
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
194
|
+
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
|
195
195
|
</td>
|
|
196
196
|
</tr>
|
|
197
197
|
<tr>
|
|
198
|
-
<td id='
|
|
199
|
-
<a href='https://github.com/
|
|
200
|
-
<img src='https://github.com/
|
|
198
|
+
<td id='andrew-mcburney'>
|
|
199
|
+
<a href='https://github.com/armcburney'>
|
|
200
|
+
<img src='https://github.com/armcburney.png' width='140px;'>
|
|
201
201
|
</a>
|
|
202
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
202
|
+
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
|
203
203
|
</td>
|
|
204
204
|
</table>
|
|
205
205
|
|
|
@@ -99,7 +99,7 @@ module Deliver
|
|
|
99
99
|
optional: true,
|
|
100
100
|
default_value: "ios",
|
|
101
101
|
verify_block: proc do |value|
|
|
102
|
-
UI.user_error!("The platform can only be ios, appletvos, or osx") unless %('ios', 'appletvos', 'osx').include?(value)
|
|
102
|
+
UI.user_error!("The platform can only be ios, appletvos, xros or osx") unless %('ios', 'appletvos', 'xros', 'osx').include?(value)
|
|
103
103
|
end),
|
|
104
104
|
|
|
105
105
|
# live version
|
|
@@ -249,7 +249,7 @@ module Deliver
|
|
|
249
249
|
end),
|
|
250
250
|
FastlaneCore::ConfigItem.new(key: :submission_information,
|
|
251
251
|
short_option: "-b",
|
|
252
|
-
description: "Extra information for the submission (e.g. compliance specifications
|
|
252
|
+
description: "Extra information for the submission (e.g. compliance specifications)",
|
|
253
253
|
type: Hash,
|
|
254
254
|
optional: true),
|
|
255
255
|
|
|
@@ -172,7 +172,7 @@ module Deliver
|
|
|
172
172
|
transporter = transporter_for_selected_team
|
|
173
173
|
|
|
174
174
|
case platform
|
|
175
|
-
when "ios", "appletvos"
|
|
175
|
+
when "ios", "appletvos", "xros"
|
|
176
176
|
package_path = FastlaneCore::IpaUploadPackageBuilder.new.generate(
|
|
177
177
|
app_id: Deliver.cache[:app].id,
|
|
178
178
|
ipa_path: ipa_path,
|
|
@@ -209,7 +209,7 @@ module Deliver
|
|
|
209
209
|
transporter = transporter_for_selected_team
|
|
210
210
|
|
|
211
211
|
case platform
|
|
212
|
-
when "ios", "appletvos"
|
|
212
|
+
when "ios", "appletvos", "xros"
|
|
213
213
|
package_path = FastlaneCore::IpaUploadPackageBuilder.new.generate(
|
|
214
214
|
app_id: Deliver.cache[:app].id,
|
|
215
215
|
ipa_path: ipa_path,
|
|
@@ -20,7 +20,6 @@ module Deliver
|
|
|
20
20
|
build = select_build(options, app, version, platform)
|
|
21
21
|
|
|
22
22
|
update_export_compliance(options, app, build)
|
|
23
|
-
update_idfa(options, app, version)
|
|
24
23
|
update_submission_information(options, app)
|
|
25
24
|
|
|
26
25
|
create_review_submission(options, app, version, platform)
|
|
@@ -120,82 +119,6 @@ module Deliver
|
|
|
120
119
|
end
|
|
121
120
|
end
|
|
122
121
|
|
|
123
|
-
def update_idfa(options, app, version)
|
|
124
|
-
submission_information = options[:submission_information] || {}
|
|
125
|
-
submission_information = submission_information.transform_keys(&:to_sym)
|
|
126
|
-
|
|
127
|
-
uses_idfa = submission_information[:add_id_info_uses_idfa]
|
|
128
|
-
|
|
129
|
-
idfa_declaration = begin
|
|
130
|
-
version.fetch_idfa_declaration
|
|
131
|
-
rescue
|
|
132
|
-
nil
|
|
133
|
-
end
|
|
134
|
-
|
|
135
|
-
updated_idfa = false
|
|
136
|
-
|
|
137
|
-
# Set IDFA on version
|
|
138
|
-
unless uses_idfa.nil?
|
|
139
|
-
UI.verbose("Updating app store version for IDFA status of '#{uses_idfa}'")
|
|
140
|
-
version = version.update(attributes: {
|
|
141
|
-
usesIdfa: uses_idfa
|
|
142
|
-
})
|
|
143
|
-
UI.verbose("Updated app store version for IDFA status of '#{version.uses_idfa}'")
|
|
144
|
-
updated_idfa = true
|
|
145
|
-
end
|
|
146
|
-
|
|
147
|
-
# Error if uses_idfa not set
|
|
148
|
-
if version.uses_idfa.nil?
|
|
149
|
-
message = [
|
|
150
|
-
"Use of Advertising Identifier (IDFA) is required to submit",
|
|
151
|
-
"Add information to the :submission_information option...",
|
|
152
|
-
" Docs: http://docs.fastlane.tools/actions/deliver/#compliance-and-idfa-settings",
|
|
153
|
-
" Example: submission_information: { add_id_info_uses_idfa: false }",
|
|
154
|
-
" Example: submission_information: {",
|
|
155
|
-
" add_id_info_uses_idfa: true,",
|
|
156
|
-
" add_id_info_serves_ads: false,",
|
|
157
|
-
" add_id_info_tracks_install: true,",
|
|
158
|
-
" add_id_info_tracks_action: true,",
|
|
159
|
-
" add_id_info_limits_tracking: true",
|
|
160
|
-
" }",
|
|
161
|
-
" Example CLI:",
|
|
162
|
-
" --submission_information \"{\\\"add_id_info_uses_idfa\\\": false}\""
|
|
163
|
-
].join("\n")
|
|
164
|
-
UI.user_error!(message)
|
|
165
|
-
end
|
|
166
|
-
|
|
167
|
-
# Create, update, or delete IDFA declaration
|
|
168
|
-
if uses_idfa == false
|
|
169
|
-
if idfa_declaration
|
|
170
|
-
UI.verbose("Deleting IDFA declaration")
|
|
171
|
-
idfa_declaration.delete!
|
|
172
|
-
updated_idfa = true
|
|
173
|
-
UI.verbose("Deleted IDFA declaration")
|
|
174
|
-
end
|
|
175
|
-
elsif uses_idfa == true
|
|
176
|
-
attributes = {
|
|
177
|
-
honorsLimitedAdTracking: !!submission_information[:add_id_info_limits_tracking],
|
|
178
|
-
servesAds: !!submission_information[:add_id_info_serves_ads],
|
|
179
|
-
attributesAppInstallationToPreviousAd: !!submission_information[:add_id_info_tracks_install],
|
|
180
|
-
attributesActionWithPreviousAd: !!submission_information[:add_id_info_tracks_action]
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
if idfa_declaration
|
|
184
|
-
UI.verbose("Updating IDFA declaration")
|
|
185
|
-
idfa_declaration.update(attributes: attributes)
|
|
186
|
-
UI.verbose("Updated IDFA declaration")
|
|
187
|
-
else
|
|
188
|
-
UI.verbose("Creating IDFA declaration")
|
|
189
|
-
version.create_idfa_declaration(attributes: attributes)
|
|
190
|
-
UI.verbose("Created IDFA declaration")
|
|
191
|
-
end
|
|
192
|
-
|
|
193
|
-
updated_idfa = true
|
|
194
|
-
end
|
|
195
|
-
|
|
196
|
-
UI.success("Successfully updated IDFA declarations on App Store Connect") if updated_idfa
|
|
197
|
-
end
|
|
198
|
-
|
|
199
122
|
def update_submission_information(options, app)
|
|
200
123
|
submission_information = options[:submission_information] || {}
|
|
201
124
|
submission_information = submission_information.transform_keys(&:to_sym)
|
|
@@ -186,7 +186,7 @@ module Fastlane
|
|
|
186
186
|
optional: true,
|
|
187
187
|
default_value: "ios",
|
|
188
188
|
verify_block: proc do |value|
|
|
189
|
-
UI.user_error!("The platform can only be ios, appletvos, or osx") unless %('ios', 'appletvos', 'osx').include?(value)
|
|
189
|
+
UI.user_error!("The platform can only be ios, appletvos, xros or osx") unless %('ios', 'appletvos', 'xros', 'osx').include?(value)
|
|
190
190
|
end),
|
|
191
191
|
FastlaneCore::ConfigItem.new(key: :team_name,
|
|
192
192
|
short_option: "-e",
|
|
@@ -374,6 +374,7 @@ The available options:
|
|
|
374
374
|
|
|
375
375
|
- 'ios'
|
|
376
376
|
- 'appletvos'
|
|
377
|
+
- 'xros'
|
|
377
378
|
- 'osx'
|
|
378
379
|
|
|
379
380
|
|
|
@@ -431,12 +432,12 @@ end
|
|
|
431
432
|
|
|
432
433
|
Omit `build_number` to let _fastlane_ automatically select the latest build number for the current version being edited for release from App Store Connect.
|
|
433
434
|
|
|
434
|
-
### Compliance
|
|
435
|
+
### Compliance settings
|
|
435
436
|
|
|
436
|
-
Use the `submission_information` parameter for additional submission specifiers, including compliance
|
|
437
|
+
Use the `submission_information` parameter for additional submission specifiers, including compliance settings. Look at the Spaceship's [`app_submission.rb`](https://github.com/fastlane/fastlane/blob/master/spaceship/lib/spaceship/tunes/app_submission.rb) file for options. See [this example](https://github.com/artsy/eigen/blob/faa02e2746194d8d7c11899474de9c517435eca4/fastlane/Fastfile#L131-L149).
|
|
437
438
|
|
|
438
439
|
```no-highlight
|
|
439
|
-
fastlane deliver submit_build --build_number 830 --submission_information "{\"export_compliance_uses_encryption\": false
|
|
440
|
+
fastlane deliver submit_build --build_number 830 --submission_information "{\"export_compliance_uses_encryption\": false }"
|
|
440
441
|
```
|
|
441
442
|
|
|
442
443
|
### App Privacy Details
|
|
@@ -290,7 +290,7 @@ module Fastlane
|
|
|
290
290
|
FastlaneCore::ConfigItem.new(key: :platform,
|
|
291
291
|
short_option: "-p",
|
|
292
292
|
env_name: "DOWNLOAD_DSYMS_PLATFORM",
|
|
293
|
-
description: "The app platform for dSYMs you wish to download (ios, appletvos)",
|
|
293
|
+
description: "The app platform for dSYMs you wish to download (ios, xros, appletvos)",
|
|
294
294
|
default_value: :ios),
|
|
295
295
|
FastlaneCore::ConfigItem.new(key: :version,
|
|
296
296
|
short_option: "-v",
|
|
@@ -351,7 +351,7 @@ module Fastlane
|
|
|
351
351
|
end
|
|
352
352
|
|
|
353
353
|
def self.is_supported?(platform)
|
|
354
|
-
[:ios, :appletvos].include?(platform)
|
|
354
|
+
[:ios, :appletvos, :xros].include?(platform)
|
|
355
355
|
end
|
|
356
356
|
|
|
357
357
|
def self.example_code
|
|
@@ -23,7 +23,9 @@ module Fastlane
|
|
|
23
23
|
# Manual post processing trying to ignore certain file paths
|
|
24
24
|
if (ignore_files = params[:ignore_files])
|
|
25
25
|
repo_status = repo_status.lines.reject do |line|
|
|
26
|
-
path = line
|
|
26
|
+
path = path_from_git_status_line(line)
|
|
27
|
+
next if path.empty?
|
|
28
|
+
|
|
27
29
|
was_found = ignore_files.include?(path)
|
|
28
30
|
|
|
29
31
|
UI.message("Ignoring '#{path}'") if was_found
|
|
@@ -54,6 +56,19 @@ module Fastlane
|
|
|
54
56
|
end
|
|
55
57
|
end
|
|
56
58
|
|
|
59
|
+
def self.path_from_git_status_line(line)
|
|
60
|
+
# Extract the file path from the line based on https://git-scm.com/docs/git-status#_output.
|
|
61
|
+
# The first two characters indicate the status of the file path (e.g. ' M')
|
|
62
|
+
# M App/script.sh
|
|
63
|
+
#
|
|
64
|
+
# If the file path is renamed, the original path is also included in the line (e.g. 'R ORIG_PATH -> PATH')
|
|
65
|
+
# R App/script.sh -> App/script_renamed.sh
|
|
66
|
+
#
|
|
67
|
+
path = line.match(/^.. (.* -> )?(.*)$/)[2]
|
|
68
|
+
path = path.delete_prefix('"').delete_suffix('"')
|
|
69
|
+
return path
|
|
70
|
+
end
|
|
71
|
+
|
|
57
72
|
def self.description
|
|
58
73
|
"Raises an exception if there are uncommitted git changes"
|
|
59
74
|
end
|
|
@@ -83,7 +83,7 @@ module Fastlane
|
|
|
83
83
|
optional: true,
|
|
84
84
|
default_value: "ios",
|
|
85
85
|
verify_block: proc do |value|
|
|
86
|
-
UI.user_error!("The platform can only be ios, osx, or appletvos") unless %('osx', ios', 'appletvos').include?(value)
|
|
86
|
+
UI.user_error!("The platform can only be ios, osx, xros or appletvos") unless %('osx', ios', 'appletvos', 'xros').include?(value)
|
|
87
87
|
end),
|
|
88
88
|
FastlaneCore::ConfigItem.new(key: :initial_build_number,
|
|
89
89
|
env_name: "INITIAL_BUILD_NUMBER",
|
|
@@ -169,10 +169,10 @@ module Fastlane
|
|
|
169
169
|
end),
|
|
170
170
|
FastlaneCore::ConfigItem.new(key: :platform,
|
|
171
171
|
env_name: "FL_SET_CHANGELOG_PLATFORM",
|
|
172
|
-
description: "The platform of the app (ios, appletvos, mac)",
|
|
172
|
+
description: "The platform of the app (ios, appletvos, xros, mac)",
|
|
173
173
|
default_value: "ios",
|
|
174
174
|
verify_block: proc do |value|
|
|
175
|
-
available = ['ios', 'appletvos', 'mac']
|
|
175
|
+
available = ['ios', 'appletvos', 'xros', 'mac']
|
|
176
176
|
UI.user_error!("Invalid platform '#{value}', must be #{available.join(', ')}") unless available.include?(value)
|
|
177
177
|
end)
|
|
178
178
|
]
|
|
@@ -183,7 +183,7 @@ module Fastlane
|
|
|
183
183
|
end
|
|
184
184
|
|
|
185
185
|
def self.is_supported?(platform)
|
|
186
|
-
[:ios, :appletvos, :mac].include?(platform)
|
|
186
|
+
[:ios, :appletvos, :xros, :mac].include?(platform)
|
|
187
187
|
end
|
|
188
188
|
|
|
189
189
|
def self.example_code
|
|
@@ -218,7 +218,9 @@ module Fastlane
|
|
|
218
218
|
end
|
|
219
219
|
|
|
220
220
|
def self.sh(*command, step_name: nil, log: true, error_callback: nil, &b)
|
|
221
|
-
command_header =
|
|
221
|
+
command_header = step_name
|
|
222
|
+
command_header ||= log ? Actions.shell_command_from_args(*command) : "shell command"
|
|
223
|
+
|
|
222
224
|
Actions.execute_action(command_header) do
|
|
223
225
|
Actions.sh_no_action(*command, log: log, error_callback: error_callback, &b)
|
|
224
226
|
end
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
module Fastlane
|
|
2
|
-
VERSION = '2.
|
|
2
|
+
VERSION = '2.222.0'.freeze
|
|
3
3
|
SUMMARY = "The easiest way to build and release mobile apps.".freeze
|
|
4
4
|
DESCRIPTION = "The easiest way to automate beta deployments and releases for your iOS and Android apps".freeze
|
|
5
5
|
MINIMUM_XCODE_RELEASE = "7.0".freeze
|
|
@@ -95,7 +95,7 @@ public protocol DeliverfileProtocol: AnyObject {
|
|
|
95
95
|
/// Path to the app rating's config
|
|
96
96
|
var appRatingConfigPath: String? { get }
|
|
97
97
|
|
|
98
|
-
/// Extra information for the submission (e.g. compliance specifications
|
|
98
|
+
/// Extra information for the submission (e.g. compliance specifications)
|
|
99
99
|
var submissionInformation: [String: Any]? { get }
|
|
100
100
|
|
|
101
101
|
/// The ID of your App Store Connect team if you're in multiple teams
|
|
@@ -272,4 +272,4 @@ public extension DeliverfileProtocol {
|
|
|
272
272
|
|
|
273
273
|
// Please don't remove the lines below
|
|
274
274
|
// They are used to detect outdated files
|
|
275
|
-
// FastlaneRunnerAPIVersion [0.9.
|
|
275
|
+
// FastlaneRunnerAPIVersion [0.9.127]
|
|
@@ -674,7 +674,7 @@ public func appledoc(input: [String],
|
|
|
674
674
|
- resetRatings: Reset the summary rating when you release a new version of the application
|
|
675
675
|
- priceTier: The price tier of this application
|
|
676
676
|
- appRatingConfigPath: Path to the app rating's config
|
|
677
|
-
- submissionInformation: Extra information for the submission (e.g. compliance specifications
|
|
677
|
+
- submissionInformation: Extra information for the submission (e.g. compliance specifications)
|
|
678
678
|
- teamId: The ID of your App Store Connect team if you're in multiple teams
|
|
679
679
|
- teamName: The name of your App Store Connect team if you're in multiple teams
|
|
680
680
|
- devPortalTeamId: The short ID of your Developer Portal team, if you're in multiple teams. Different from your iTC team ID!
|
|
@@ -3714,7 +3714,7 @@ public func deleteKeychain(name: OptionalConfigValue<String?> = .fastlaneDefault
|
|
|
3714
3714
|
- resetRatings: Reset the summary rating when you release a new version of the application
|
|
3715
3715
|
- priceTier: The price tier of this application
|
|
3716
3716
|
- appRatingConfigPath: Path to the app rating's config
|
|
3717
|
-
- submissionInformation: Extra information for the submission (e.g. compliance specifications
|
|
3717
|
+
- submissionInformation: Extra information for the submission (e.g. compliance specifications)
|
|
3718
3718
|
- teamId: The ID of your App Store Connect team if you're in multiple teams
|
|
3719
3719
|
- teamName: The name of your App Store Connect team if you're in multiple teams
|
|
3720
3720
|
- devPortalTeamId: The short ID of your Developer Portal team, if you're in multiple teams. Different from your iTC team ID!
|
|
@@ -4096,7 +4096,7 @@ public func downloadAppPrivacyDetailsFromAppStore(username: String,
|
|
|
4096
4096
|
- appIdentifier: The bundle identifier of your app
|
|
4097
4097
|
- teamId: The ID of your App Store Connect team if you're in multiple teams
|
|
4098
4098
|
- teamName: The name of your App Store Connect team if you're in multiple teams
|
|
4099
|
-
- platform: The app platform for dSYMs you wish to download (ios, appletvos)
|
|
4099
|
+
- platform: The app platform for dSYMs you wish to download (ios, xros, appletvos)
|
|
4100
4100
|
- version: The app version for dSYMs you wish to download, pass in 'latest' to download only the latest build's dSYMs or 'live' to download only the live version dSYMs
|
|
4101
4101
|
- buildNumber: The app build_number for dSYMs you wish to download
|
|
4102
4102
|
- minVersion: The minimum app version for dSYMs you wish to download
|
|
@@ -9707,7 +9707,7 @@ public func setBuildNumberRepository(useHgRevisionNumber: OptionalConfigValue<Bo
|
|
|
9707
9707
|
- changelog: Changelog text that should be uploaded to App Store Connect
|
|
9708
9708
|
- teamId: The ID of your App Store Connect team if you're in multiple teams
|
|
9709
9709
|
- teamName: The name of your App Store Connect team if you're in multiple teams
|
|
9710
|
-
- platform: The platform of the app (ios, appletvos, mac)
|
|
9710
|
+
- platform: The platform of the app (ios, appletvos, xros, mac)
|
|
9711
9711
|
|
|
9712
9712
|
This is useful if you have only one changelog for all languages.
|
|
9713
9713
|
You can store the changelog in `./changelog.txt` and it will automatically get loaded from there. This integration is useful if you support e.g. 10 languages and want to use the same "What's new"-text for all languages.
|
|
@@ -12540,7 +12540,7 @@ public func uploadSymbolsToSentry(apiHost: String = "https://app.getsentry.com/a
|
|
|
12540
12540
|
- resetRatings: Reset the summary rating when you release a new version of the application
|
|
12541
12541
|
- priceTier: The price tier of this application
|
|
12542
12542
|
- appRatingConfigPath: Path to the app rating's config
|
|
12543
|
-
- submissionInformation: Extra information for the submission (e.g. compliance specifications
|
|
12543
|
+
- submissionInformation: Extra information for the submission (e.g. compliance specifications)
|
|
12544
12544
|
- teamId: The ID of your App Store Connect team if you're in multiple teams
|
|
12545
12545
|
- teamName: The name of your App Store Connect team if you're in multiple teams
|
|
12546
12546
|
- devPortalTeamId: The short ID of your Developer Portal team, if you're in multiple teams. Different from your iTC team ID!
|
|
@@ -13598,7 +13598,7 @@ public func xcov(workspace: OptionalConfigValue<String?> = .fastlaneDefault(nil)
|
|
|
13598
13598
|
coverallsServiceJobId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
|
13599
13599
|
coverallsRepoToken: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
|
13600
13600
|
xcconfig: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
|
13601
|
-
ideFoundationPath: String = "/Applications/Xcode_15.
|
|
13601
|
+
ideFoundationPath: String = "/Applications/Xcode_15.4.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation",
|
|
13602
13602
|
legacySupport: OptionalConfigValue<Bool> = .fastlaneDefault(false))
|
|
13603
13603
|
{
|
|
13604
13604
|
let workspaceArg = workspace.asRubyArgument(name: "workspace", type: nil)
|
|
@@ -13801,4 +13801,4 @@ public let snapshotfile: Snapshotfile = .init()
|
|
|
13801
13801
|
|
|
13802
13802
|
// Please don't remove the lines below
|
|
13803
13803
|
// They are used to detect outdated files
|
|
13804
|
-
// FastlaneRunnerAPIVersion [0.9.
|
|
13804
|
+
// FastlaneRunnerAPIVersion [0.9.180]
|