fastlane 2.182.0 → 2.183.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 +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
|
- - ">="
|