fastlane 2.182.0 → 2.183.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 +82 -82
- data/deliver/lib/assets/summary.html.erb +10 -10
- data/deliver/lib/deliver/submit_for_review.rb +3 -3
- data/deliver/lib/deliver/upload_metadata.rb +1 -1
- data/fastlane/lib/fastlane/actions/danger.rb +7 -1
- data/fastlane/lib/fastlane/actions/get_managed_play_store_publishing_rights.rb +3 -1
- data/fastlane/lib/fastlane/actions/git_pull.rb +4 -10
- data/fastlane/lib/fastlane/actions/hipchat.rb +2 -1
- data/fastlane/lib/fastlane/actions/notification.rb +1 -1
- data/fastlane/lib/fastlane/actions/xcodebuild.rb +5 -5
- data/fastlane/lib/fastlane/plugins/template/%gem_name%.gemspec.erb +1 -1
- data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +1 -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 +13 -9
- 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 +11 -11
- data/fastlane_core/lib/fastlane_core/build_watcher.rb +15 -2
- data/fastlane_core/lib/fastlane_core/device_manager.rb +1 -1
- data/fastlane_core/lib/fastlane_core/ui/implementations/shell.rb +4 -1
- data/frameit/lib/frameit/config_parser.rb +2 -2
- data/frameit/lib/frameit/frame_downloader.rb +2 -1
- data/gym/lib/gym/code_signing_mapping.rb +2 -2
- data/gym/lib/gym/generators/package_command_generator_xcode7.rb +6 -5
- data/pilot/lib/pilot/build_manager.rb +3 -3
- data/scan/lib/scan/runner.rb +1 -1
- data/spaceship/README.md +2 -2
- data/spaceship/lib/spaceship/connect_api/model.rb +1 -1
- data/spaceship/lib/spaceship/connect_api/models/.app.rb.swp +0 -0
- metadata +44 -41
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f6eb7cf4626f2d80b3e2e9d1babae5ed8518aba5ef23d4a73ba5360b8f8737c0
|
4
|
+
data.tar.gz: 328282bf768094d61b5224a888acb68fbe5a6a56d47e33c39df22d11652ab8ae
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 896193a32f695ef2553dbd729afaaf11b183ba31cdab590c3a8b2f02a99aa47c9ddb30c0332e26361a8cfd30460957e50b9b5a2347ab7dabcbb8eacc48dfdfba
|
7
|
+
data.tar.gz: d741cff12645e1afd755f75102bffbde8374f92248ba15e30f7f33334226b2ac26d79c33cc0b3c1982d3850dc9c1c7f3814b74c75466bac4f6a2d05b8bf7c0fb
|
data/README.md
CHANGED
@@ -35,17 +35,17 @@ 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='joshua-liebowitz'>
|
39
|
+
<a href='https://github.com/taquitos'>
|
40
|
+
<img src='https://github.com/taquitos.png?size=140'>
|
41
41
|
</a>
|
42
|
-
<h4 align='center'><a href='https://twitter.com/
|
42
|
+
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
43
43
|
</td>
|
44
|
-
<td id='
|
45
|
-
<a href='https://github.com/
|
46
|
-
<img src='https://github.com/
|
44
|
+
<td id='luka-mirosevic'>
|
45
|
+
<a href='https://github.com/lmirosevic'>
|
46
|
+
<img src='https://github.com/lmirosevic.png?size=140'>
|
47
47
|
</a>
|
48
|
-
<h4 align='center'><a href='https://twitter.com/
|
48
|
+
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
49
49
|
</td>
|
50
50
|
<td id='iulian-onofrei'>
|
51
51
|
<a href='https://github.com/revolter'>
|
@@ -53,75 +53,69 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
53
53
|
</a>
|
54
54
|
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
55
55
|
</td>
|
56
|
-
<td id='
|
57
|
-
<a href='https://github.com/
|
58
|
-
<img src='https://github.com/
|
56
|
+
<td id='maksym-grebenets'>
|
57
|
+
<a href='https://github.com/mgrebenets'>
|
58
|
+
<img src='https://github.com/mgrebenets.png?size=140'>
|
59
59
|
</a>
|
60
|
-
<h4 align='center'><a href='https://twitter.com/
|
60
|
+
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
61
61
|
</td>
|
62
|
-
<td id='
|
63
|
-
<a href='https://github.com/
|
64
|
-
<img src='https://github.com/
|
62
|
+
<td id='jorge-revuelta-h'>
|
63
|
+
<a href='https://github.com/minuscorp'>
|
64
|
+
<img src='https://github.com/minuscorp.png?size=140'>
|
65
65
|
</a>
|
66
|
-
<h4 align='center'><a href='https://twitter.com/
|
66
|
+
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</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='danielle-tomlinson'>
|
71
|
+
<a href='https://github.com/endocrimes'>
|
72
|
+
<img src='https://github.com/endocrimes.png?size=140'>
|
73
73
|
</a>
|
74
|
-
<h4 align='center'>
|
74
|
+
<h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
|
75
75
|
</td>
|
76
|
-
<td id='
|
77
|
-
<a href='https://github.com/
|
78
|
-
<img src='https://github.com/
|
76
|
+
<td id='josh-holtz'>
|
77
|
+
<a href='https://github.com/joshdholtz'>
|
78
|
+
<img src='https://github.com/joshdholtz.png?size=140'>
|
79
79
|
</a>
|
80
|
-
<h4 align='center'><a href='https://twitter.com/
|
80
|
+
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
81
81
|
</td>
|
82
|
-
<td id='
|
83
|
-
<a href='https://github.com/
|
84
|
-
<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?size=140'>
|
85
85
|
</a>
|
86
|
-
<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
87
|
</td>
|
88
|
-
<td id='
|
89
|
-
<a href='https://github.com/
|
90
|
-
<img src='https://github.com/
|
88
|
+
<td id='max-ott'>
|
89
|
+
<a href='https://github.com/max-ott'>
|
90
|
+
<img src='https://github.com/max-ott.png?size=140'>
|
91
91
|
</a>
|
92
|
-
<h4 align='center'><a href='https://twitter.com/
|
92
|
+
<h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
|
93
93
|
</td>
|
94
|
-
<td id='
|
95
|
-
<a href='https://github.com/
|
96
|
-
<img src='https://github.com/
|
94
|
+
<td id='jimmy-dee'>
|
95
|
+
<a href='https://github.com/jdee'>
|
96
|
+
<img src='https://github.com/jdee.png?size=140'>
|
97
97
|
</a>
|
98
|
-
<h4 align='center'
|
98
|
+
<h4 align='center'>Jimmy Dee</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/
|
105
|
-
</a>
|
106
|
-
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
107
|
-
</td>
|
108
|
-
<td id='luka-mirosevic'>
|
109
|
-
<a href='https://github.com/lmirosevic'>
|
110
|
-
<img src='https://github.com/lmirosevic.png?size=140'>
|
102
|
+
<td id='felix-krause'>
|
103
|
+
<a href='https://github.com/KrauseFx'>
|
104
|
+
<img src='https://github.com/KrauseFx.png?size=140'>
|
111
105
|
</a>
|
112
|
-
<h4 align='center'><a href='https://twitter.com/
|
106
|
+
<h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
|
113
107
|
</td>
|
114
|
-
<td id='
|
115
|
-
<a href='https://github.com/
|
116
|
-
<img src='https://github.com/
|
108
|
+
<td id='satoshi-namai'>
|
109
|
+
<a href='https://github.com/ainame'>
|
110
|
+
<img src='https://github.com/ainame.png?size=140'>
|
117
111
|
</a>
|
118
|
-
<h4 align='center'><a href='https://twitter.com/
|
112
|
+
<h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
|
119
113
|
</td>
|
120
|
-
<td id='
|
121
|
-
<a href='https://github.com/
|
122
|
-
<img src='https://github.com/
|
114
|
+
<td id='stefan-natchev'>
|
115
|
+
<a href='https://github.com/snatchev'>
|
116
|
+
<img src='https://github.com/snatchev.png?size=140'>
|
123
117
|
</a>
|
124
|
-
<h4 align='center'><a href='https://twitter.com/
|
118
|
+
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
125
119
|
</td>
|
126
120
|
<td id='matthew-ellis'>
|
127
121
|
<a href='https://github.com/matthewellis'>
|
@@ -129,63 +123,69 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
129
123
|
</a>
|
130
124
|
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
131
125
|
</td>
|
132
|
-
</tr>
|
133
|
-
<tr>
|
134
126
|
<td id='jan-piotrowski'>
|
135
127
|
<a href='https://github.com/janpio'>
|
136
128
|
<img src='https://github.com/janpio.png?size=140'>
|
137
129
|
</a>
|
138
130
|
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
139
131
|
</td>
|
140
|
-
|
141
|
-
<
|
142
|
-
<
|
132
|
+
</tr>
|
133
|
+
<tr>
|
134
|
+
<td id='manu-wallner'>
|
135
|
+
<a href='https://github.com/milch'>
|
136
|
+
<img src='https://github.com/milch.png?size=140'>
|
143
137
|
</a>
|
144
|
-
<h4 align='center'><a href='https://twitter.com/
|
138
|
+
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
145
139
|
</td>
|
146
|
-
<td id='
|
147
|
-
<a href='https://github.com/
|
148
|
-
<img src='https://github.com/
|
140
|
+
<td id='daniel-jankowski'>
|
141
|
+
<a href='https://github.com/mollyIV'>
|
142
|
+
<img src='https://github.com/mollyIV.png?size=140'>
|
149
143
|
</a>
|
150
|
-
<h4 align='center'><a href='https://twitter.com/
|
144
|
+
<h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
|
151
145
|
</td>
|
152
|
-
<td id='
|
153
|
-
<a href='https://github.com/
|
154
|
-
<img src='https://github.com/
|
146
|
+
<td id='fumiya-nakamura'>
|
147
|
+
<a href='https://github.com/nafu'>
|
148
|
+
<img src='https://github.com/nafu.png?size=140'>
|
155
149
|
</a>
|
156
|
-
<h4 align='center'><a href='https://twitter.com/
|
150
|
+
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
|
157
151
|
</td>
|
158
|
-
<td id='
|
159
|
-
<a href='https://github.com/
|
160
|
-
<img src='https://github.com/
|
152
|
+
<td id='aaron-brager'>
|
153
|
+
<a href='https://github.com/getaaron'>
|
154
|
+
<img src='https://github.com/getaaron.png?size=140'>
|
161
155
|
</a>
|
162
|
-
<h4 align='center'><a href='https://twitter.com/
|
156
|
+
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
163
157
|
</td>
|
164
|
-
|
165
|
-
<
|
166
|
-
<
|
167
|
-
<a href='https://github.com/taquitos'>
|
168
|
-
<img src='https://github.com/taquitos.png?size=140'>
|
158
|
+
<td id='kohki-miki'>
|
159
|
+
<a href='https://github.com/giginet'>
|
160
|
+
<img src='https://github.com/giginet.png?size=140'>
|
169
161
|
</a>
|
170
|
-
<h4 align='center'><a href='https://twitter.com/
|
162
|
+
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
171
163
|
</td>
|
164
|
+
</tr>
|
165
|
+
<tr>
|
172
166
|
<td id='helmut-januschka'>
|
173
167
|
<a href='https://github.com/hjanuschka'>
|
174
168
|
<img src='https://github.com/hjanuschka.png?size=140'>
|
175
169
|
</a>
|
176
170
|
<h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
|
177
171
|
</td>
|
172
|
+
<td id='roger-oba'>
|
173
|
+
<a href='https://github.com/rogerluan'>
|
174
|
+
<img src='https://github.com/rogerluan.png?size=140'>
|
175
|
+
</a>
|
176
|
+
<h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
|
177
|
+
</td>
|
178
178
|
<td id='olivier-halligon'>
|
179
179
|
<a href='https://github.com/AliSoftware'>
|
180
180
|
<img src='https://github.com/AliSoftware.png?size=140'>
|
181
181
|
</a>
|
182
182
|
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
183
183
|
</td>
|
184
|
-
<td id='
|
185
|
-
<a href='https://github.com/
|
186
|
-
<img src='https://github.com/
|
184
|
+
<td id='andrew-mcburney'>
|
185
|
+
<a href='https://github.com/armcburney'>
|
186
|
+
<img src='https://github.com/armcburney.png?size=140'>
|
187
187
|
</a>
|
188
|
-
<h4 align='center'><a href='https://twitter.com/
|
188
|
+
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
189
189
|
</td>
|
190
190
|
</table>
|
191
191
|
|
@@ -91,7 +91,7 @@
|
|
91
91
|
|
92
92
|
.app-changelog-list {
|
93
93
|
list-style-type: square;
|
94
|
-
|
94
|
+
|
95
95
|
font-weight: 300;
|
96
96
|
}
|
97
97
|
|
@@ -137,10 +137,10 @@
|
|
137
137
|
}
|
138
138
|
</style>
|
139
139
|
</head>
|
140
|
-
|
140
|
+
|
141
141
|
<body>
|
142
142
|
<div class="app-icons">
|
143
|
-
|
143
|
+
|
144
144
|
<% if @options[:app_icon] %>
|
145
145
|
<div class="app-icon">
|
146
146
|
Large App Icon:<br>
|
@@ -182,7 +182,7 @@
|
|
182
182
|
<% end %>
|
183
183
|
<% end %>
|
184
184
|
</div>
|
185
|
-
|
185
|
+
|
186
186
|
<% if @options[:keywords] and @options[:keywords][language] %>
|
187
187
|
<div class="app-keyword">
|
188
188
|
<div class="cat-headline">Keywords</div>
|
@@ -193,7 +193,7 @@
|
|
193
193
|
</ul>
|
194
194
|
</div>
|
195
195
|
<% end %>
|
196
|
-
|
196
|
+
|
197
197
|
<% if @options[:description] %>
|
198
198
|
<div class="app-description">
|
199
199
|
<div class="cat-headline">Description</div>
|
@@ -202,7 +202,7 @@
|
|
202
202
|
</div>
|
203
203
|
</div>
|
204
204
|
<% end %>
|
205
|
-
|
205
|
+
|
206
206
|
<% if @options[:release_notes] %>
|
207
207
|
<div class="app-changelog">
|
208
208
|
<div class="cat-headline">Changelog</div>
|
@@ -216,7 +216,7 @@
|
|
216
216
|
<%= (@options[:promotional_text][language] || '').gsub("\n", "<br />") %>
|
217
217
|
</div>
|
218
218
|
<% end %>
|
219
|
-
|
219
|
+
|
220
220
|
<div class="app-screenshots">
|
221
221
|
<div class="cat-headline">Screenshots</div>
|
222
222
|
|
@@ -237,7 +237,7 @@
|
|
237
237
|
<div class="app-screenshot-row">
|
238
238
|
|
239
239
|
<% screenshots.each_with_index do |screenshot, index| %>
|
240
|
-
<a href="<%= URI.
|
240
|
+
<a href="<%= render_relative_path(@export_path, Addressable::URI.encode(screenshot.path)) %>" target="_blank"><img class="app-screenshot" src="<%= render_relative_path(@export_path, Addressable::URI.encode(screenshot.path)) %>" title="Screenshot #<%=index%> for <%=language%>"></a>
|
241
241
|
<% end %>
|
242
242
|
</div>
|
243
243
|
<% end %>
|
@@ -250,7 +250,7 @@
|
|
250
250
|
<% if options[:overwrite_screenshots] %>
|
251
251
|
<b>--overwrite_screenshots</b> is set, existing screenshots will be removed, but none will be uploaded.
|
252
252
|
<% else %>
|
253
|
-
The existing screenshots on App Store Connect will be kept.
|
253
|
+
The existing screenshots on App Store Connect will be kept.
|
254
254
|
if you want to remove them you have to use the <i>--overwrite_screenshots</i> flag.
|
255
255
|
<% end %>
|
256
256
|
<p>
|
@@ -259,7 +259,7 @@
|
|
259
259
|
</div>
|
260
260
|
<% end %>
|
261
261
|
</div>
|
262
|
-
|
262
|
+
|
263
263
|
<hr />
|
264
264
|
<% end # end data
|
265
265
|
%>
|
@@ -57,7 +57,7 @@ module Deliver
|
|
57
57
|
|
58
58
|
def update_export_compliance(options, app, build)
|
59
59
|
submission_information = options[:submission_information] || {}
|
60
|
-
submission_information = submission_information.
|
60
|
+
submission_information = submission_information.transform_keys(&:to_sym)
|
61
61
|
|
62
62
|
uses_encryption = submission_information[:export_compliance_uses_encryption]
|
63
63
|
|
@@ -87,7 +87,7 @@ module Deliver
|
|
87
87
|
|
88
88
|
def update_idfa(options, app, version)
|
89
89
|
submission_information = options[:submission_information] || {}
|
90
|
-
submission_information = submission_information.
|
90
|
+
submission_information = submission_information.transform_keys(&:to_sym)
|
91
91
|
|
92
92
|
uses_idfa = submission_information[:add_id_info_uses_idfa]
|
93
93
|
|
@@ -163,7 +163,7 @@ module Deliver
|
|
163
163
|
|
164
164
|
def update_submission_information(options, app)
|
165
165
|
submission_information = options[:submission_information] || {}
|
166
|
-
submission_information = submission_information.
|
166
|
+
submission_information = submission_information.transform_keys(&:to_sym)
|
167
167
|
|
168
168
|
content_rights = submission_information[:content_rights_contains_third_party_content]
|
169
169
|
|
@@ -595,7 +595,7 @@ module Deliver
|
|
595
595
|
info = options[:app_review_information]
|
596
596
|
return if info.nil? || info.empty?
|
597
597
|
|
598
|
-
info = info.
|
598
|
+
info = info.transform_keys(&:to_sym)
|
599
599
|
UI.user_error!("`app_review_information` must be a hash", show_github_issues: true) unless info.kind_of?(Hash)
|
600
600
|
|
601
601
|
attributes = {}
|
@@ -17,6 +17,7 @@ module Fastlane
|
|
17
17
|
cmd << "--danger_id=#{danger_id}" if danger_id
|
18
18
|
cmd << "--dangerfile=#{dangerfile}" if dangerfile
|
19
19
|
cmd << "--fail-on-errors=true" if params[:fail_on_errors]
|
20
|
+
cmd << "--fail-if-no-pr=true" if params[:fail_if_no_pr]
|
20
21
|
cmd << "--new-comment" if params[:new_comment]
|
21
22
|
cmd << "--remove-previous-comments" if params[:remove_previous_comments]
|
22
23
|
cmd << "--base=#{base}" if base
|
@@ -99,7 +100,12 @@ module Fastlane
|
|
99
100
|
env_name: "FL_DANGER_PR",
|
100
101
|
description: "Run danger on a specific pull request. e.g. \"https://github.com/danger/danger/pull/518\"",
|
101
102
|
is_string: true,
|
102
|
-
optional: true)
|
103
|
+
optional: true),
|
104
|
+
FastlaneCore::ConfigItem.new(key: :fail_if_no_pr,
|
105
|
+
env_name: "FL_DANGER_FAIL_IF_NO_PR",
|
106
|
+
description: "Fail Danger execution if no PR is found",
|
107
|
+
type: Boolean,
|
108
|
+
default_value: false)
|
103
109
|
]
|
104
110
|
end
|
105
111
|
|
@@ -26,7 +26,9 @@ module Fastlane
|
|
26
26
|
# Login
|
27
27
|
credentials = JSON.parse(json_key_data)
|
28
28
|
callback_uri = 'https://fastlane.github.io/managed_google_play-callback/callback.html'
|
29
|
-
|
29
|
+
require 'addressable/uri'
|
30
|
+
continueUrl = Addressable::URI.encode(callback_uri)
|
31
|
+
uri = "https://play.google.com/apps/publish/delegatePrivateApp?service_account=#{credentials['client_email']}&continueUrl=#{continueUrl}"
|
30
32
|
|
31
33
|
UI.message("To obtain publishing rights for custom apps on Managed Play Store, open the following URL and log in:")
|
32
34
|
UI.message("")
|
@@ -23,20 +23,14 @@ module Fastlane
|
|
23
23
|
[
|
24
24
|
FastlaneCore::ConfigItem.new(key: :only_tags,
|
25
25
|
description: "Simply pull the tags, and not bring new commits to the current branch from the remote",
|
26
|
-
|
26
|
+
type: Boolean,
|
27
27
|
optional: true,
|
28
|
-
default_value: false,
|
29
|
-
verify_block: proc do |value|
|
30
|
-
UI.user_error!("Please pass a valid value for only_tags. Use one of the following: true, false") unless value.kind_of?(TrueClass) || value.kind_of?(FalseClass)
|
31
|
-
end),
|
28
|
+
default_value: false),
|
32
29
|
FastlaneCore::ConfigItem.new(key: :rebase,
|
33
30
|
description: "Rebase on top of the remote branch instead of merge",
|
34
|
-
|
31
|
+
type: Boolean,
|
35
32
|
optional: true,
|
36
|
-
default_value: false
|
37
|
-
verify_block: proc do |value|
|
38
|
-
UI.user_error!("Please pass a valid value for rebase. Use one of the following: true, false") unless value.kind_of?(TrueClass) || value.kind_of?(FalseClass)
|
39
|
-
end)
|
33
|
+
default_value: false)
|
40
34
|
]
|
41
35
|
end
|
42
36
|
|
@@ -49,7 +49,8 @@ module Fastlane
|
|
49
49
|
# Escape channel's name to guarantee it is a valid URL resource.
|
50
50
|
# First of all we verify that the value is not already escaped,
|
51
51
|
# escaping an escaped value will produce a wrong channel name.
|
52
|
-
|
52
|
+
require 'addressable/uri'
|
53
|
+
escaped_channel = Addressable::URI.encode(channel) == channel ? Addressable::URI.encode(channel) : channel
|
53
54
|
if user?(channel)
|
54
55
|
params = { 'message' => message, 'message_format' => message_format }
|
55
56
|
json_headers = { 'Content-Type' => 'application/json',
|
@@ -13,7 +13,7 @@ module Fastlane
|
|
13
13
|
app_icon: :appIcon,
|
14
14
|
content_image: :contentImage
|
15
15
|
}
|
16
|
-
options =
|
16
|
+
options = options.transform_keys { |k| option_map.fetch(k, k) }
|
17
17
|
TerminalNotifier.notify(message, options)
|
18
18
|
end
|
19
19
|
|
@@ -305,12 +305,12 @@ module Fastlane
|
|
305
305
|
|
306
306
|
# Normalize some values
|
307
307
|
export_options[:teamID] = CredentialsManager::AppfileConfig.try_fetch_value(:team_id) if !export_options[:teamID] && CredentialsManager::AppfileConfig.try_fetch_value(:team_id)
|
308
|
-
export_options[:onDemandResourcesAssetPacksBaseURL] = URI.
|
308
|
+
export_options[:onDemandResourcesAssetPacksBaseURL] = Addressable::URI.encode(export_options[:onDemandResourcesAssetPacksBaseURL]) if export_options[:onDemandResourcesAssetPacksBaseURL]
|
309
309
|
if export_options[:manifest]
|
310
|
-
export_options[:manifest][:appURL] = URI.
|
311
|
-
export_options[:manifest][:displayImageURL] = URI.
|
312
|
-
export_options[:manifest][:fullSizeImageURL] = URI.
|
313
|
-
export_options[:manifest][:assetPackManifestURL] = URI.
|
310
|
+
export_options[:manifest][:appURL] = Addressable::URI.encode(export_options[:manifest][:appURL]) if export_options[:manifest][:appURL]
|
311
|
+
export_options[:manifest][:displayImageURL] = Addressable::URI.encode(export_options[:manifest][:displayImageURL]) if export_options[:manifest][:displayImageURL]
|
312
|
+
export_options[:manifest][:fullSizeImageURL] = Addressable::URI.encode(export_options[:manifest][:fullSizeImageURL]) if export_options[:manifest][:fullSizeImageURL]
|
313
|
+
export_options[:manifest][:assetPackManifestURL] = Addressable::URI.encode(export_options[:manifest][:assetPackManifestURL]) if export_options[:manifest][:assetPackManifestURL]
|
314
314
|
end
|
315
315
|
|
316
316
|
# Saves options to plist
|
@@ -16,7 +16,7 @@ Gem::Specification.new do |spec|
|
|
16
16
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
17
17
|
spec.require_paths = ['lib']
|
18
18
|
|
19
|
-
spec.required_ruby_version = '>= 2.
|
19
|
+
spec.required_ruby_version = '>= 2.5'
|
20
20
|
|
21
21
|
# Don't add a dependency to fastlane or fastlane_re
|
22
22
|
# since this would cause a circular dependency
|
@@ -3431,6 +3431,7 @@ public func createXcframework(frameworks: OptionalConfigValue<[String]?> = .fast
|
|
3431
3431
|
- base: A branch/tag/commit to use as the base of the diff. [master|dev|stable]
|
3432
3432
|
- head: A branch/tag/commit to use as the head. [master|dev|stable]
|
3433
3433
|
- pr: Run danger on a specific pull request. e.g. "https://github.com/danger/danger/pull/518"
|
3434
|
+
- failIfNoPr: Fail Danger execution if no PR is found
|
3434
3435
|
|
3435
3436
|
Formalize your Pull Request etiquette.
|
3436
3437
|
More information: [https://github.com/danger/danger](https://github.com/danger/danger).
|
@@ -3445,7 +3446,8 @@ public func danger(useBundleExec: Bool = true,
|
|
3445
3446
|
removePreviousComments: Bool = false,
|
3446
3447
|
base: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
3447
3448
|
head: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
3448
|
-
pr: OptionalConfigValue<String?> = .fastlaneDefault(nil)
|
3449
|
+
pr: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
3450
|
+
failIfNoPr: Bool = false)
|
3449
3451
|
{
|
3450
3452
|
let useBundleExecArg = RubyCommand.Argument(name: "use_bundle_exec", value: useBundleExec, type: nil)
|
3451
3453
|
let verboseArg = RubyCommand.Argument(name: "verbose", value: verbose, type: nil)
|
@@ -3458,6 +3460,7 @@ public func danger(useBundleExec: Bool = true,
|
|
3458
3460
|
let baseArg = base.asRubyArgument(name: "base", type: nil)
|
3459
3461
|
let headArg = head.asRubyArgument(name: "head", type: nil)
|
3460
3462
|
let prArg = pr.asRubyArgument(name: "pr", type: nil)
|
3463
|
+
let failIfNoPrArg = RubyCommand.Argument(name: "fail_if_no_pr", value: failIfNoPr, type: nil)
|
3461
3464
|
let args = [useBundleExecArg,
|
3462
3465
|
verboseArg,
|
3463
3466
|
dangerIdArg,
|
@@ -3468,7 +3471,8 @@ public func danger(useBundleExec: Bool = true,
|
|
3468
3471
|
removePreviousCommentsArg,
|
3469
3472
|
baseArg,
|
3470
3473
|
headArg,
|
3471
|
-
prArg
|
3474
|
+
prArg,
|
3475
|
+
failIfNoPrArg]
|
3472
3476
|
.compactMap { $0 }
|
3473
3477
|
let command = RubyCommand(commandID: "", methodName: "danger", className: nil, args: args)
|
3474
3478
|
_ = runner.executeCommand(command)
|
@@ -3984,7 +3988,7 @@ public func downloadDsyms(username: String,
|
|
3984
3988
|
public func downloadFromPlayStore(packageName: String,
|
3985
3989
|
versionName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
3986
3990
|
track: String = "production",
|
3987
|
-
metadataPath:
|
3991
|
+
metadataPath: String = "./metadata",
|
3988
3992
|
key: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
3989
3993
|
issuer: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
3990
3994
|
jsonKey: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
@@ -3995,7 +3999,7 @@ public func downloadFromPlayStore(packageName: String,
|
|
3995
3999
|
let packageNameArg = RubyCommand.Argument(name: "package_name", value: packageName, type: nil)
|
3996
4000
|
let versionNameArg = versionName.asRubyArgument(name: "version_name", type: nil)
|
3997
4001
|
let trackArg = RubyCommand.Argument(name: "track", value: track, type: nil)
|
3998
|
-
let metadataPathArg =
|
4002
|
+
let metadataPathArg = RubyCommand.Argument(name: "metadata_path", value: metadataPath, type: nil)
|
3999
4003
|
let keyArg = key.asRubyArgument(name: "key", type: nil)
|
4000
4004
|
let issuerArg = issuer.asRubyArgument(name: "issuer", type: nil)
|
4001
4005
|
let jsonKeyArg = jsonKey.asRubyArgument(name: "json_key", type: nil)
|
@@ -10279,7 +10283,7 @@ public func supply(packageName: String,
|
|
10279
10283
|
releaseStatus: String = "completed",
|
10280
10284
|
track: String = "production",
|
10281
10285
|
rollout: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
10282
|
-
metadataPath:
|
10286
|
+
metadataPath: String = "./metadata",
|
10283
10287
|
key: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
10284
10288
|
issuer: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
10285
10289
|
jsonKey: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
@@ -10316,7 +10320,7 @@ public func supply(packageName: String,
|
|
10316
10320
|
let releaseStatusArg = RubyCommand.Argument(name: "release_status", value: releaseStatus, type: nil)
|
10317
10321
|
let trackArg = RubyCommand.Argument(name: "track", value: track, type: nil)
|
10318
10322
|
let rolloutArg = rollout.asRubyArgument(name: "rollout", type: nil)
|
10319
|
-
let metadataPathArg =
|
10323
|
+
let metadataPathArg = RubyCommand.Argument(name: "metadata_path", value: metadataPath, type: nil)
|
10320
10324
|
let keyArg = key.asRubyArgument(name: "key", type: nil)
|
10321
10325
|
let issuerArg = issuer.asRubyArgument(name: "issuer", type: nil)
|
10322
10326
|
let jsonKeyArg = jsonKey.asRubyArgument(name: "json_key", type: nil)
|
@@ -11841,7 +11845,7 @@ public func uploadToPlayStore(packageName: String,
|
|
11841
11845
|
releaseStatus: String = "completed",
|
11842
11846
|
track: String = "production",
|
11843
11847
|
rollout: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11844
|
-
metadataPath:
|
11848
|
+
metadataPath: String = "./metadata",
|
11845
11849
|
key: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11846
11850
|
issuer: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
11847
11851
|
jsonKey: OptionalConfigValue<String?> = .fastlaneDefault(nil),
|
@@ -11878,7 +11882,7 @@ public func uploadToPlayStore(packageName: String,
|
|
11878
11882
|
let releaseStatusArg = RubyCommand.Argument(name: "release_status", value: releaseStatus, type: nil)
|
11879
11883
|
let trackArg = RubyCommand.Argument(name: "track", value: track, type: nil)
|
11880
11884
|
let rolloutArg = rollout.asRubyArgument(name: "rollout", type: nil)
|
11881
|
-
let metadataPathArg =
|
11885
|
+
let metadataPathArg = RubyCommand.Argument(name: "metadata_path", value: metadataPath, type: nil)
|
11882
11886
|
let keyArg = key.asRubyArgument(name: "key", type: nil)
|
11883
11887
|
let issuerArg = issuer.asRubyArgument(name: "issuer", type: nil)
|
11884
11888
|
let jsonKeyArg = jsonKey.asRubyArgument(name: "json_key", type: nil)
|
@@ -12702,4 +12706,4 @@ public let snapshotfile = Snapshotfile()
|
|
12702
12706
|
|
12703
12707
|
// Please don't remove the lines below
|
12704
12708
|
// They are used to detect outdated files
|
12705
|
-
// FastlaneRunnerAPIVersion [0.9.
|
12709
|
+
// FastlaneRunnerAPIVersion [0.9.120]
|
@@ -2,30 +2,30 @@
|
|
2
2
|
"entries": {
|
3
3
|
"brew": {
|
4
4
|
"swiftformat": {
|
5
|
-
"version": "0.48.
|
5
|
+
"version": "0.48.1",
|
6
6
|
"bottle": {
|
7
7
|
"rebuild": 0,
|
8
8
|
"root_url": "https://ghcr.io/v2/homebrew/core",
|
9
9
|
"files": {
|
10
10
|
"arm64_big_sur": {
|
11
11
|
"cellar": ":any_skip_relocation",
|
12
|
-
"url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:
|
13
|
-
"sha256": "
|
12
|
+
"url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:937b21c64f3aec2eaf9d0234f681013e1026f3110bafac9348a58e893305c266",
|
13
|
+
"sha256": "937b21c64f3aec2eaf9d0234f681013e1026f3110bafac9348a58e893305c266"
|
14
14
|
},
|
15
15
|
"big_sur": {
|
16
16
|
"cellar": ":any_skip_relocation",
|
17
|
-
"url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:
|
18
|
-
"sha256": "
|
17
|
+
"url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:e5217aee36051fd378912b4620786b5892ec4b69343e06f6b94747ab08e1c0ea",
|
18
|
+
"sha256": "e5217aee36051fd378912b4620786b5892ec4b69343e06f6b94747ab08e1c0ea"
|
19
19
|
},
|
20
20
|
"catalina": {
|
21
21
|
"cellar": ":any_skip_relocation",
|
22
|
-
"url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:
|
23
|
-
"sha256": "
|
22
|
+
"url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:203eaac0a2c2f18121937d3c065a867a748e7539f8a716d8e55358d626850ec3",
|
23
|
+
"sha256": "203eaac0a2c2f18121937d3c065a867a748e7539f8a716d8e55358d626850ec3"
|
24
24
|
},
|
25
25
|
"mojave": {
|
26
26
|
"cellar": ":any_skip_relocation",
|
27
|
-
"url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:
|
28
|
-
"sha256": "
|
27
|
+
"url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:cc3176e0ed768de2ab13ed28cb41c6efa010382fa2862896c474ff54ce385bfa",
|
28
|
+
"sha256": "cc3176e0ed768de2ab13ed28cb41c6efa010382fa2862896c474ff54ce385bfa"
|
29
29
|
}
|
30
30
|
}
|
31
31
|
}
|
@@ -35,9 +35,9 @@
|
|
35
35
|
"system": {
|
36
36
|
"macos": {
|
37
37
|
"catalina": {
|
38
|
-
"HOMEBREW_VERSION": "3.1.
|
38
|
+
"HOMEBREW_VERSION": "3.1.7-36-g7c68b17",
|
39
39
|
"HOMEBREW_PREFIX": "/usr/local",
|
40
|
-
"Homebrew/homebrew-core": "
|
40
|
+
"Homebrew/homebrew-core": "b29800c865a59b8b92c4b7e432e6ea736f27dacd",
|
41
41
|
"CLT": "11.0.0.33.12",
|
42
42
|
"Xcode": "12.4",
|
43
43
|
"macOS": "10.15.7"
|
@@ -3,6 +3,9 @@ require 'spaceship/connect_api'
|
|
3
3
|
require_relative 'ui/ui'
|
4
4
|
|
5
5
|
module FastlaneCore
|
6
|
+
class BuildWatcherError < StandardError
|
7
|
+
end
|
8
|
+
|
6
9
|
class BuildWatcher
|
7
10
|
VersionMatches = Struct.new(:version, :builds)
|
8
11
|
|
@@ -78,6 +81,16 @@ module FastlaneCore
|
|
78
81
|
watched_app_version_alternate = alternate_version(watched_app_version)
|
79
82
|
versions = [watched_app_version, watched_app_version_alternate].compact
|
80
83
|
|
84
|
+
if versions.empty?
|
85
|
+
if select_latest
|
86
|
+
UI.message("Watched build version should not be present when there is no app version to watch") unless watched_build_version.nil?
|
87
|
+
UI.message("Searching for the latest build")
|
88
|
+
versions = [nil]
|
89
|
+
else
|
90
|
+
raise BuildWatcherError.new, "There is no app version to watch"
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
81
94
|
version_matches = versions.map do |version|
|
82
95
|
match = VersionMatches.new
|
83
96
|
match.version = version
|
@@ -98,8 +111,8 @@ module FastlaneCore
|
|
98
111
|
error_builds = matched_builds.map do |build|
|
99
112
|
"#{build.app_version}(#{build.version}) for #{build.platform} - #{build.processing_state}"
|
100
113
|
end.join("\n")
|
101
|
-
error_message = "
|
102
|
-
|
114
|
+
error_message = "Found more than 1 matching build: \n#{error_builds}"
|
115
|
+
raise BuildWatcherError.new, error_message
|
103
116
|
end
|
104
117
|
|
105
118
|
version_match = version_matches.reject do |match|
|
@@ -118,7 +118,7 @@ module FastlaneCore
|
|
118
118
|
discover_devices(child_item, device_types, discovered_device_udids)
|
119
119
|
end
|
120
120
|
|
121
|
-
is_supported_device = device_types.any?
|
121
|
+
is_supported_device = device_types.any?(usb_item['_name'])
|
122
122
|
serial_num = usb_item['serial_num'] || ''
|
123
123
|
has_serial_number = serial_num.length == 40 || serial_num.length == 24
|
124
124
|
|
@@ -145,7 +145,10 @@ module FastlaneCore
|
|
145
145
|
def password(message)
|
146
146
|
verify_interactive!(message)
|
147
147
|
|
148
|
-
ask("#{format_string}#{message.to_s.yellow}")
|
148
|
+
ask("#{format_string}#{message.to_s.yellow}") do |q|
|
149
|
+
q.whitespace = :chomp
|
150
|
+
q.echo = "*"
|
151
|
+
end
|
149
152
|
end
|
150
153
|
|
151
154
|
private
|
@@ -121,12 +121,12 @@ module Frameit
|
|
121
121
|
|
122
122
|
def self.supported_color?(value)
|
123
123
|
return false if value.nil?
|
124
|
-
Color.all_colors.any?
|
124
|
+
Color.all_colors.any?(value)
|
125
125
|
end
|
126
126
|
|
127
127
|
def self.supported_platform?(value)
|
128
128
|
return false if value.nil?
|
129
|
-
Platform.all_platforms.any?
|
129
|
+
Platform.all_platforms.any?(value)
|
130
130
|
end
|
131
131
|
|
132
132
|
def self.supported_device?(value)
|
@@ -71,8 +71,9 @@ module Frameit
|
|
71
71
|
def download_file(path, txt: "file")
|
72
72
|
require 'uri'
|
73
73
|
require 'excon'
|
74
|
+
require 'addressable/uri'
|
74
75
|
|
75
|
-
url = File.join(HOST_URL, Frameit.frames_version, URI.
|
76
|
+
url = File.join(HOST_URL, Frameit.frames_version, Addressable::URI.encode(path))
|
76
77
|
UI.message("Downloading #{txt} from '#{url}' ...")
|
77
78
|
body = Excon.get(url).body
|
78
79
|
raise body if body.include?("<Error>")
|
@@ -17,8 +17,8 @@ module Gym
|
|
17
17
|
final_mapping = (primary_mapping || {}).dup # for verbose output at the end of the method
|
18
18
|
secondary_mapping ||= self.detect_project_profile_mapping # default to Xcode project
|
19
19
|
|
20
|
-
final_mapping =
|
21
|
-
secondary_mapping =
|
20
|
+
final_mapping = final_mapping.transform_keys(&:to_sym)
|
21
|
+
secondary_mapping = secondary_mapping.transform_keys(&:to_sym)
|
22
22
|
|
23
23
|
# Now it's time to merge the (potentially) existing mapping
|
24
24
|
# (e.g. coming from `provisioningProfiles` of the `export_options` or from previous match calls)
|
@@ -4,6 +4,7 @@
|
|
4
4
|
# because of
|
5
5
|
# `incompatible encoding regexp match (UTF-8 regexp with ASCII-8BIT string) (Encoding::CompatibilityError)`
|
6
6
|
|
7
|
+
require 'addressable/uri'
|
7
8
|
require 'tempfile'
|
8
9
|
require 'xcodeproj'
|
9
10
|
|
@@ -154,12 +155,12 @@ module Gym
|
|
154
155
|
|
155
156
|
def normalize_export_options(hash)
|
156
157
|
# Normalize some values
|
157
|
-
hash[:onDemandResourcesAssetPacksBaseURL] = URI.
|
158
|
+
hash[:onDemandResourcesAssetPacksBaseURL] = Addressable::URI.encode(hash[:onDemandResourcesAssetPacksBaseURL]) if hash[:onDemandResourcesAssetPacksBaseURL]
|
158
159
|
if hash[:manifest]
|
159
|
-
hash[:manifest][:appURL] = URI.
|
160
|
-
hash[:manifest][:displayImageURL] = URI.
|
161
|
-
hash[:manifest][:fullSizeImageURL] = URI.
|
162
|
-
hash[:manifest][:assetPackManifestURL] = URI.
|
160
|
+
hash[:manifest][:appURL] = Addressable::URI.encode(hash[:manifest][:appURL]) if hash[:manifest][:appURL]
|
161
|
+
hash[:manifest][:displayImageURL] = Addressable::URI.encode(hash[:manifest][:displayImageURL]) if hash[:manifest][:displayImageURL]
|
162
|
+
hash[:manifest][:fullSizeImageURL] = Addressable::URI.encode(hash[:manifest][:fullSizeImageURL]) if hash[:manifest][:fullSizeImageURL]
|
163
|
+
hash[:manifest][:assetPackManifestURL] = Addressable::URI.encode(hash[:manifest][:assetPackManifestURL]) if hash[:manifest][:assetPackManifestURL]
|
163
164
|
end
|
164
165
|
hash
|
165
166
|
end
|
@@ -447,7 +447,7 @@ module Pilot
|
|
447
447
|
end
|
448
448
|
|
449
449
|
def update_review_detail(build, info)
|
450
|
-
info = info.
|
450
|
+
info = info.transform_keys(&:to_sym)
|
451
451
|
|
452
452
|
attributes = {}
|
453
453
|
attributes[:contactEmail] = info[:contact_email] if info.key?(:contact_email)
|
@@ -463,7 +463,7 @@ module Pilot
|
|
463
463
|
end
|
464
464
|
|
465
465
|
def update_localized_app_review(build, info_by_lang, default_info: nil)
|
466
|
-
info_by_lang = info_by_lang.
|
466
|
+
info_by_lang = info_by_lang.transform_keys(&:to_sym)
|
467
467
|
|
468
468
|
if default_info
|
469
469
|
info_by_lang.delete(:default)
|
@@ -509,7 +509,7 @@ module Pilot
|
|
509
509
|
end
|
510
510
|
|
511
511
|
def update_localized_build_review(build, info_by_lang, default_info: nil)
|
512
|
-
info_by_lang = info_by_lang.
|
512
|
+
info_by_lang = info_by_lang.transform_keys(&:to_sym)
|
513
513
|
|
514
514
|
if default_info
|
515
515
|
info_by_lang.delete(:default)
|
data/scan/lib/scan/runner.rb
CHANGED
@@ -122,7 +122,7 @@ module Scan
|
|
122
122
|
suites = failing_tests.split(/(?=\n\s+[\w\s]+:\n)/)
|
123
123
|
|
124
124
|
suites.each do |suite|
|
125
|
-
suite_name = suite.match(/\s*([\w\s]+):/).captures.first
|
125
|
+
suite_name = suite.match(/\s*([\w\s\S]+):/).captures.first
|
126
126
|
|
127
127
|
test_cases = suite.split(":\n").fetch(1, []).split("\n").each
|
128
128
|
.select { |line| line.match?(/^\s+/) }
|
data/spaceship/README.md
CHANGED
@@ -111,11 +111,11 @@ When your Apple account has 2 factor verification enabled, you'll automatically
|
|
111
111
|
|
112
112
|
#### Web sessions
|
113
113
|
|
114
|
-
See [Continuous Integration > Authenticating with Apple services > Method 2: Two-step or two-factor authentication > Storing a manually verified session using spaceauth](https://docs.fastlane.tools/best-practices/continuous-integration/#storing-a-manually-verified-session-using-spaceauth)
|
114
|
+
See [Best Practices > Continuous Integration > Authenticating with Apple services > Method 2: Two-step or two-factor authentication > Storing a manually verified session using spaceauth](https://docs.fastlane.tools/best-practices/continuous-integration/#storing-a-manually-verified-session-using-spaceauth)
|
115
115
|
|
116
116
|
#### Transporter
|
117
117
|
|
118
|
-
See [
|
118
|
+
See [Best Practices > Continuous Integration > Authenticating with Apple services > Method 3: Application-specific passwords](https://docs.fastlane.tools/best-practices/continuous-integration/#method-3-application-specific-passwords)
|
119
119
|
|
120
120
|
## _spaceship_ in use
|
121
121
|
|
@@ -30,7 +30,7 @@ module Spaceship
|
|
30
30
|
# Creates alias for :minOsVersion to :min_os_version
|
31
31
|
#
|
32
32
|
def attr_mapping(attr_map)
|
33
|
-
self.reverse_attr_map ||= attr_map.invert.
|
33
|
+
self.reverse_attr_map ||= attr_map.invert.transform_keys(&:to_sym)
|
34
34
|
attr_map.each do |key, value|
|
35
35
|
# Actual
|
36
36
|
reader = value.to_sym
|
Binary file
|
metadata
CHANGED
@@ -1,37 +1,37 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.183.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
+
- Max Ott
|
8
|
+
- Joshua Liebowitz
|
9
|
+
- Helmut Januschka
|
10
|
+
- Aaron Brager
|
11
|
+
- Andrew McBurney
|
7
12
|
- Josh Holtz
|
8
13
|
- Fumiya Nakamura
|
9
|
-
- Andrew McBurney
|
10
|
-
- Luka Mirosevic
|
11
|
-
- Satoshi Namai
|
12
|
-
- Stefan Natchev
|
13
|
-
- Daniel Jankowski
|
14
|
-
- Jérôme Lacoste
|
15
|
-
- Olivier Halligon
|
16
|
-
- Jorge Revuelta H
|
17
|
-
- Kohki Miki
|
18
14
|
- Iulian Onofrei
|
19
|
-
-
|
20
|
-
-
|
21
|
-
- Danielle Tomlinson
|
22
|
-
- Aaron Brager
|
23
|
-
- Felix Krause
|
24
|
-
- Matthew Ellis
|
15
|
+
- Olivier Halligon
|
16
|
+
- Roger Oba
|
25
17
|
- Manu Wallner
|
18
|
+
- Danielle Tomlinson
|
26
19
|
- Maksym Grebenets
|
27
|
-
- Helmut Januschka
|
28
20
|
- Jimmy Dee
|
29
|
-
-
|
30
|
-
-
|
21
|
+
- Matthew Ellis
|
22
|
+
- Felix Krause
|
23
|
+
- Jan Piotrowski
|
24
|
+
- Satoshi Namai
|
25
|
+
- Luka Mirosevic
|
26
|
+
- Kohki Miki
|
27
|
+
- Jorge Revuelta H
|
28
|
+
- Daniel Jankowski
|
29
|
+
- Stefan Natchev
|
30
|
+
- Jérôme Lacoste
|
31
31
|
autorequire:
|
32
32
|
bindir: bin
|
33
33
|
cert_chain: []
|
34
|
-
date: 2021-05-
|
34
|
+
date: 2021-05-14 00:00:00.000000000 Z
|
35
35
|
dependencies:
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: xcodeproj
|
@@ -584,45 +584,47 @@ dependencies:
|
|
584
584
|
- !ruby/object:Gem::Version
|
585
585
|
version: '3'
|
586
586
|
- !ruby/object:Gem::Dependency
|
587
|
-
name: google-
|
587
|
+
name: google-apis-playcustomapp_v1
|
588
588
|
requirement: !ruby/object:Gem::Requirement
|
589
589
|
requirements:
|
590
|
-
- - "
|
591
|
-
- !ruby/object:Gem::Version
|
592
|
-
version: 0.37.0
|
593
|
-
- - "<"
|
590
|
+
- - "~>"
|
594
591
|
- !ruby/object:Gem::Version
|
595
|
-
version: 0.
|
592
|
+
version: '0.1'
|
596
593
|
type: :runtime
|
597
594
|
prerelease: false
|
598
595
|
version_requirements: !ruby/object:Gem::Requirement
|
599
596
|
requirements:
|
600
|
-
- - "
|
597
|
+
- - "~>"
|
601
598
|
- !ruby/object:Gem::Version
|
602
|
-
version: 0.
|
603
|
-
|
599
|
+
version: '0.1'
|
600
|
+
- !ruby/object:Gem::Dependency
|
601
|
+
name: google-apis-androidpublisher_v3
|
602
|
+
requirement: !ruby/object:Gem::Requirement
|
603
|
+
requirements:
|
604
|
+
- - "~>"
|
604
605
|
- !ruby/object:Gem::Version
|
605
|
-
version: 0.
|
606
|
+
version: '0.1'
|
607
|
+
type: :runtime
|
608
|
+
prerelease: false
|
609
|
+
version_requirements: !ruby/object:Gem::Requirement
|
610
|
+
requirements:
|
611
|
+
- - "~>"
|
612
|
+
- !ruby/object:Gem::Version
|
613
|
+
version: '0.1'
|
606
614
|
- !ruby/object:Gem::Dependency
|
607
615
|
name: google-cloud-storage
|
608
616
|
requirement: !ruby/object:Gem::Requirement
|
609
617
|
requirements:
|
610
|
-
- - "
|
611
|
-
- !ruby/object:Gem::Version
|
612
|
-
version: 1.15.0
|
613
|
-
- - "<"
|
618
|
+
- - "~>"
|
614
619
|
- !ruby/object:Gem::Version
|
615
|
-
version:
|
620
|
+
version: '1.31'
|
616
621
|
type: :runtime
|
617
622
|
prerelease: false
|
618
623
|
version_requirements: !ruby/object:Gem::Requirement
|
619
624
|
requirements:
|
620
|
-
- - "
|
621
|
-
- !ruby/object:Gem::Version
|
622
|
-
version: 1.15.0
|
623
|
-
- - "<"
|
625
|
+
- - "~>"
|
624
626
|
- !ruby/object:Gem::Version
|
625
|
-
version:
|
627
|
+
version: '1.31'
|
626
628
|
- !ruby/object:Gem::Dependency
|
627
629
|
name: emoji_regex
|
628
630
|
requirement: !ruby/object:Gem::Requirement
|
@@ -1641,6 +1643,7 @@ files:
|
|
1641
1643
|
- spaceship/lib/spaceship/connect_api/client.rb
|
1642
1644
|
- spaceship/lib/spaceship/connect_api/file_uploader.rb
|
1643
1645
|
- spaceship/lib/spaceship/connect_api/model.rb
|
1646
|
+
- spaceship/lib/spaceship/connect_api/models/.app.rb.swp
|
1644
1647
|
- spaceship/lib/spaceship/connect_api/models/.app_store_version_submission.rb.swp
|
1645
1648
|
- spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb
|
1646
1649
|
- spaceship/lib/spaceship/connect_api/models/app.rb
|
@@ -1851,7 +1854,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
1851
1854
|
requirements:
|
1852
1855
|
- - ">="
|
1853
1856
|
- !ruby/object:Gem::Version
|
1854
|
-
version: '2.
|
1857
|
+
version: '2.5'
|
1855
1858
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
1856
1859
|
requirements:
|
1857
1860
|
- - ">="
|