fastlane 2.201.2 → 2.204.1
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 +88 -88
- data/deliver/lib/deliver/runner.rb +19 -2
- data/deliver/lib/deliver/submit_for_review.rb +25 -3
- data/fastlane/lib/fastlane/actions/run_tests.rb +10 -2
- data/fastlane/lib/fastlane/actions/trainer.rb +2 -2
- data/fastlane/lib/fastlane/actions/verify_build.rb +1 -1
- data/fastlane/lib/fastlane/swift_fastlane_api_generator.rb +1 -1
- data/fastlane/lib/fastlane/swift_lane_manager.rb +11 -3
- data/fastlane/lib/fastlane/swift_runner_upgrader.rb +55 -1
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Atomic.swift +150 -0
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +2 -2
- data/fastlane/swift/Fastlane.swift +195 -159
- data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.pbxproj +30 -20
- data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/xcshareddata/xcschemes/FastlaneRunner.xcscheme +1 -1
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/GymfileProtocol.swift +2 -2
- data/fastlane/swift/LaneFileProtocol.swift +1 -1
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/MatchfileProtocol.swift +6 -2
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/PrecheckfileProtocol.swift +2 -2
- data/fastlane/swift/Runner.swift +9 -1
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/ScanfileProtocol.swift +6 -2
- data/fastlane/swift/Screengrabfile.swift +1 -1
- data/fastlane/swift/ScreengrabfileProtocol.swift +2 -2
- data/fastlane/swift/Snapshotfile.swift +1 -1
- data/fastlane/swift/SnapshotfileProtocol.swift +2 -2
- data/fastlane/swift/SocketClient.swift +5 -1
- data/fastlane/swift/SocketClientDelegateProtocol.swift +1 -1
- data/fastlane/swift/formatting/Brewfile.lock.json +19 -19
- data/fastlane/swift/upgrade_manifest.json +1 -1
- data/fastlane_core/lib/fastlane_core/device_manager.rb +5 -1
- data/match/lib/match/nuke.rb +33 -9
- data/match/lib/match/options.rb +5 -0
- data/match/lib/match/storage/s3_storage.rb +3 -3
- data/pilot/lib/pilot/build_manager.rb +17 -7
- data/pilot/lib/pilot/options.rb +6 -1
- data/scan/lib/scan/options.rb +5 -0
- data/scan/lib/scan/runner.rb +18 -11
- data/scan/lib/scan/test_command_generator.rb +1 -0
- data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +5 -1
- data/spaceship/lib/spaceship/connect_api/models/.app.rb.swp +0 -0
- data/spaceship/lib/spaceship/connect_api/models/app.rb +13 -2
- metadata +25 -24
- data/snapshot/lib/snapshot/.options.rb.swp +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 647880784c3e3b01b050e0435d6c11453c28eab635dccce4540e3cc7f6c74728
|
|
4
|
+
data.tar.gz: 176598a4231ffc057ff0542aa656baef4b7e59937b7596afcbb1aa010d2272e1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ae04d48ce351ba555ba9a13ee6ee46557721bd1f16c9a10c79ebb7705afac3e483f0fe9674c37fd6053f46f345f78b8b361769e1fad4ccfd4367ad8ff2478b30
|
|
7
|
+
data.tar.gz: 649dd7007f1bf25436c025f06639c379212624868e08108bcce8117045952f3936b88775a9be3eb8dc61cee74dc96981985e1910c253aca47261746c19a281e1
|
data/README.md
CHANGED
|
@@ -35,55 +35,49 @@ 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='manu-wallner'>
|
|
39
|
+
<a href='https://github.com/milch'>
|
|
40
|
+
<img src='https://github.com/milch.png' width='140px;'>
|
|
41
41
|
</a>
|
|
42
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
42
|
+
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
|
43
43
|
</td>
|
|
44
|
-
<td id='
|
|
45
|
-
<a href='https://github.com/
|
|
46
|
-
<img src='https://github.com/
|
|
44
|
+
<td id='roger-oba'>
|
|
45
|
+
<a href='https://github.com/rogerluan'>
|
|
46
|
+
<img src='https://github.com/rogerluan.png' width='140px;'>
|
|
47
47
|
</a>
|
|
48
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
48
|
+
<h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
|
|
49
49
|
</td>
|
|
50
|
-
<td id='
|
|
51
|
-
<a href='https://github.com/
|
|
52
|
-
<img src='https://github.com/
|
|
50
|
+
<td id='jorge-revuelta-h'>
|
|
51
|
+
<a href='https://github.com/minuscorp'>
|
|
52
|
+
<img src='https://github.com/minuscorp.png' width='140px;'>
|
|
53
53
|
</a>
|
|
54
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
54
|
+
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
|
55
55
|
</td>
|
|
56
|
-
<td id='
|
|
57
|
-
<a href='https://github.com/
|
|
58
|
-
<img src='https://github.com/
|
|
56
|
+
<td id='jan-piotrowski'>
|
|
57
|
+
<a href='https://github.com/janpio'>
|
|
58
|
+
<img src='https://github.com/janpio.png' width='140px;'>
|
|
59
59
|
</a>
|
|
60
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
60
|
+
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
|
61
61
|
</td>
|
|
62
|
-
<td id='
|
|
63
|
-
<a href='https://github.com/
|
|
64
|
-
<img src='https://github.com/
|
|
62
|
+
<td id='manish-rathi'>
|
|
63
|
+
<a href='https://github.com/crazymanish'>
|
|
64
|
+
<img src='https://github.com/crazymanish.png' width='140px;'>
|
|
65
65
|
</a>
|
|
66
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
66
|
+
<h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</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/
|
|
73
|
-
</a>
|
|
74
|
-
<h4 align='center'>Łukasz Grabowski</h4>
|
|
75
|
-
</td>
|
|
76
|
-
<td id='roger-oba'>
|
|
77
|
-
<a href='https://github.com/rogerluan'>
|
|
78
|
-
<img src='https://github.com/rogerluan.png' width='140px;'>
|
|
70
|
+
<td id='satoshi-namai'>
|
|
71
|
+
<a href='https://github.com/ainame'>
|
|
72
|
+
<img src='https://github.com/ainame.png' width='140px;'>
|
|
79
73
|
</a>
|
|
80
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
74
|
+
<h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
|
|
81
75
|
</td>
|
|
82
|
-
<td id='
|
|
83
|
-
<a href='https://github.com/
|
|
84
|
-
<img src='https://github.com/
|
|
76
|
+
<td id='fumiya-nakamura'>
|
|
77
|
+
<a href='https://github.com/nafu'>
|
|
78
|
+
<img src='https://github.com/nafu.png' width='140px;'>
|
|
85
79
|
</a>
|
|
86
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
80
|
+
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
|
|
87
81
|
</td>
|
|
88
82
|
<td id='jérôme-lacoste'>
|
|
89
83
|
<a href='https://github.com/lacostej'>
|
|
@@ -91,31 +85,37 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
91
85
|
</a>
|
|
92
86
|
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
|
93
87
|
</td>
|
|
94
|
-
<td id='
|
|
95
|
-
<a href='https://github.com/
|
|
96
|
-
<img src='https://github.com/
|
|
88
|
+
<td id='kohki-miki'>
|
|
89
|
+
<a href='https://github.com/giginet'>
|
|
90
|
+
<img src='https://github.com/giginet.png' width='140px;'>
|
|
97
91
|
</a>
|
|
98
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
92
|
+
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
|
93
|
+
</td>
|
|
94
|
+
<td id='iulian-onofrei'>
|
|
95
|
+
<a href='https://github.com/revolter'>
|
|
96
|
+
<img src='https://github.com/revolter.png' width='140px;'>
|
|
97
|
+
</a>
|
|
98
|
+
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</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='luka-mirosevic'>
|
|
103
|
+
<a href='https://github.com/lmirosevic'>
|
|
104
|
+
<img src='https://github.com/lmirosevic.png' width='140px;'>
|
|
105
105
|
</a>
|
|
106
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
106
|
+
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
|
107
107
|
</td>
|
|
108
|
-
<td id='
|
|
109
|
-
<a href='https://github.com/
|
|
110
|
-
<img src='https://github.com/
|
|
108
|
+
<td id='andrew-mcburney'>
|
|
109
|
+
<a href='https://github.com/armcburney'>
|
|
110
|
+
<img src='https://github.com/armcburney.png' width='140px;'>
|
|
111
111
|
</a>
|
|
112
|
-
<h4 align='center'>
|
|
112
|
+
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
|
113
113
|
</td>
|
|
114
|
-
<td id='
|
|
115
|
-
<a href='https://github.com/
|
|
116
|
-
<img src='https://github.com/
|
|
114
|
+
<td id='matthew-ellis'>
|
|
115
|
+
<a href='https://github.com/matthewellis'>
|
|
116
|
+
<img src='https://github.com/matthewellis.png' width='140px;'>
|
|
117
117
|
</a>
|
|
118
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
118
|
+
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
|
119
119
|
</td>
|
|
120
120
|
<td id='josh-holtz'>
|
|
121
121
|
<a href='https://github.com/joshdholtz'>
|
|
@@ -123,11 +123,11 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
123
123
|
</a>
|
|
124
124
|
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
|
125
125
|
</td>
|
|
126
|
-
<td id='
|
|
127
|
-
<a href='https://github.com/
|
|
128
|
-
<img src='https://github.com/
|
|
126
|
+
<td id='łukasz-grabowski'>
|
|
127
|
+
<a href='https://github.com/lucgrabowski'>
|
|
128
|
+
<img src='https://github.com/lucgrabowski.png' width='140px;'>
|
|
129
129
|
</a>
|
|
130
|
-
<h4 align='center'
|
|
130
|
+
<h4 align='center'>Łukasz Grabowski</h4>
|
|
131
131
|
</td>
|
|
132
132
|
</tr>
|
|
133
133
|
<tr>
|
|
@@ -137,11 +137,11 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
137
137
|
</a>
|
|
138
138
|
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
|
139
139
|
</td>
|
|
140
|
-
<td id='
|
|
141
|
-
<a href='https://github.com/
|
|
142
|
-
<img src='https://github.com/
|
|
140
|
+
<td id='jimmy-dee'>
|
|
141
|
+
<a href='https://github.com/jdee'>
|
|
142
|
+
<img src='https://github.com/jdee.png' width='140px;'>
|
|
143
143
|
</a>
|
|
144
|
-
<h4 align='center'
|
|
144
|
+
<h4 align='center'>Jimmy Dee</h4>
|
|
145
145
|
</td>
|
|
146
146
|
<td id='felix-krause'>
|
|
147
147
|
<a href='https://github.com/KrauseFx'>
|
|
@@ -149,43 +149,25 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
149
149
|
</a>
|
|
150
150
|
<h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
|
|
151
151
|
</td>
|
|
152
|
-
<td id='matthew-ellis'>
|
|
153
|
-
<a href='https://github.com/matthewellis'>
|
|
154
|
-
<img src='https://github.com/matthewellis.png' width='140px;'>
|
|
155
|
-
</a>
|
|
156
|
-
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
|
157
|
-
</td>
|
|
158
|
-
<td id='kohki-miki'>
|
|
159
|
-
<a href='https://github.com/giginet'>
|
|
160
|
-
<img src='https://github.com/giginet.png' width='140px;'>
|
|
161
|
-
</a>
|
|
162
|
-
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
|
163
|
-
</td>
|
|
164
|
-
</tr>
|
|
165
|
-
<tr>
|
|
166
152
|
<td id='joshua-liebowitz'>
|
|
167
153
|
<a href='https://github.com/taquitos'>
|
|
168
154
|
<img src='https://github.com/taquitos.png' width='140px;'>
|
|
169
155
|
</a>
|
|
170
156
|
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
|
171
157
|
</td>
|
|
172
|
-
<td id='
|
|
173
|
-
<a href='https://github.com/
|
|
174
|
-
<img src='https://github.com/
|
|
175
|
-
</a>
|
|
176
|
-
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
|
177
|
-
</td>
|
|
178
|
-
<td id='jan-piotrowski'>
|
|
179
|
-
<a href='https://github.com/janpio'>
|
|
180
|
-
<img src='https://github.com/janpio.png' width='140px;'>
|
|
158
|
+
<td id='danielle-tomlinson'>
|
|
159
|
+
<a href='https://github.com/endocrimes'>
|
|
160
|
+
<img src='https://github.com/endocrimes.png' width='140px;'>
|
|
181
161
|
</a>
|
|
182
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
162
|
+
<h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
|
|
183
163
|
</td>
|
|
184
|
-
|
|
185
|
-
<
|
|
186
|
-
<
|
|
164
|
+
</tr>
|
|
165
|
+
<tr>
|
|
166
|
+
<td id='stefan-natchev'>
|
|
167
|
+
<a href='https://github.com/snatchev'>
|
|
168
|
+
<img src='https://github.com/snatchev.png' width='140px;'>
|
|
187
169
|
</a>
|
|
188
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
170
|
+
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
|
189
171
|
</td>
|
|
190
172
|
<td id='helmut-januschka'>
|
|
191
173
|
<a href='https://github.com/hjanuschka'>
|
|
@@ -193,14 +175,32 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
193
175
|
</a>
|
|
194
176
|
<h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
|
|
195
177
|
</td>
|
|
196
|
-
</tr>
|
|
197
|
-
<tr>
|
|
198
178
|
<td id='max-ott'>
|
|
199
179
|
<a href='https://github.com/max-ott'>
|
|
200
180
|
<img src='https://github.com/max-ott.png' width='140px;'>
|
|
201
181
|
</a>
|
|
202
182
|
<h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
|
|
203
183
|
</td>
|
|
184
|
+
<td id='daniel-jankowski'>
|
|
185
|
+
<a href='https://github.com/mollyIV'>
|
|
186
|
+
<img src='https://github.com/mollyIV.png' width='140px;'>
|
|
187
|
+
</a>
|
|
188
|
+
<h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
|
|
189
|
+
</td>
|
|
190
|
+
<td id='maksym-grebenets'>
|
|
191
|
+
<a href='https://github.com/mgrebenets'>
|
|
192
|
+
<img src='https://github.com/mgrebenets.png' width='140px;'>
|
|
193
|
+
</a>
|
|
194
|
+
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
|
195
|
+
</td>
|
|
196
|
+
</tr>
|
|
197
|
+
<tr>
|
|
198
|
+
<td id='aaron-brager'>
|
|
199
|
+
<a href='https://github.com/getaaron'>
|
|
200
|
+
<img src='https://github.com/getaaron.png' width='140px;'>
|
|
201
|
+
</a>
|
|
202
|
+
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
|
203
|
+
</td>
|
|
204
204
|
</table>
|
|
205
205
|
|
|
206
206
|
Special thanks to all [contributors](https://github.com/fastlane/fastlane/graphs/contributors) for extending and improving _fastlane_.
|
|
@@ -197,8 +197,25 @@ module Deliver
|
|
|
197
197
|
def reject_version_if_possible
|
|
198
198
|
app = Deliver.cache[:app]
|
|
199
199
|
platform = Spaceship::ConnectAPI::Platform.map(options[:platform])
|
|
200
|
-
|
|
201
|
-
|
|
200
|
+
|
|
201
|
+
submission = app.get_in_progress_review_submission(platform: platform)
|
|
202
|
+
if submission
|
|
203
|
+
submission.cancel_submission
|
|
204
|
+
UI.message("Review submission cancellation has been requested")
|
|
205
|
+
|
|
206
|
+
# An app version won't get removed from review instantly
|
|
207
|
+
# Polling until app version has a state of DEVELOPER_REJECT
|
|
208
|
+
loop do
|
|
209
|
+
version = app.get_edit_app_store_version(platform: platform)
|
|
210
|
+
if version.app_store_state == Spaceship::ConnectAPI::AppStoreVersion::AppStoreState::DEVELOPER_REJECTED
|
|
211
|
+
break
|
|
212
|
+
end
|
|
213
|
+
|
|
214
|
+
UI.message("Waiting for cancellation to take effect...")
|
|
215
|
+
sleep(15)
|
|
216
|
+
end
|
|
217
|
+
|
|
218
|
+
UI.success("Successfully cancelled previous submission!")
|
|
202
219
|
end
|
|
203
220
|
end
|
|
204
221
|
|
|
@@ -23,12 +23,34 @@ module Deliver
|
|
|
23
23
|
update_idfa(options, app, version)
|
|
24
24
|
update_submission_information(options, app)
|
|
25
25
|
|
|
26
|
-
version
|
|
27
|
-
|
|
26
|
+
create_review_submission(options, app, version, platform)
|
|
28
27
|
UI.success("Successfully submitted the app for review!")
|
|
29
28
|
end
|
|
30
29
|
|
|
31
|
-
private
|
|
30
|
+
private
|
|
31
|
+
|
|
32
|
+
def create_review_submission(options, app, version, platform)
|
|
33
|
+
# Can't submit a review if there is already a review in progress
|
|
34
|
+
if app.get_in_progress_review_submission(platform: platform)
|
|
35
|
+
UI.user_error!("Cannot submit for review - A review submission is already in progress")
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# There can only be one open submission per platform per app
|
|
39
|
+
# There might be a submission already created so we need to check
|
|
40
|
+
# 1. Create the submission if its not already created
|
|
41
|
+
# 2. Error if submission already contains some items for review (because we don't know what they are)
|
|
42
|
+
submission = app.get_ready_review_submission(platform: platform, includes: "items")
|
|
43
|
+
if submission.nil?
|
|
44
|
+
submission = app.create_review_submission(platform: platform)
|
|
45
|
+
elsif !submission.items.empty?
|
|
46
|
+
UI.user_error!("Cannot submit for review - A review submission already exists with items not managed by fastlane. Please cancel or remove items from submission for the App Store Connect website")
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
submission.add_app_store_version_to_review_items(app_store_version_id: version.id)
|
|
50
|
+
submission.submit_for_review
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def select_build(options, app, version, platform)
|
|
32
54
|
if options[:build_number] && options[:build_number] != "latest"
|
|
33
55
|
UI.message("Selecting existing build-number: #{options[:build_number]}")
|
|
34
56
|
|
|
@@ -14,12 +14,12 @@ module Fastlane
|
|
|
14
14
|
manager = Scan::Manager.new
|
|
15
15
|
|
|
16
16
|
begin
|
|
17
|
-
manager.work(values)
|
|
17
|
+
results = manager.work(values)
|
|
18
18
|
|
|
19
19
|
zip_build_products_path = Scan.cache[:zip_build_products_path]
|
|
20
20
|
Actions.lane_context[SharedValues::SCAN_ZIP_BUILD_PRODUCTS_PATH] = zip_build_products_path if zip_build_products_path
|
|
21
21
|
|
|
22
|
-
return
|
|
22
|
+
return results
|
|
23
23
|
rescue FastlaneCore::Interface::FastlaneBuildFailure => ex
|
|
24
24
|
# Specifically catching FastlaneBuildFailure to prevent build/compile errors from being
|
|
25
25
|
# silenced when :fail_build is set to false
|
|
@@ -56,6 +56,14 @@ module Fastlane
|
|
|
56
56
|
"More information: https://docs.fastlane.tools/actions/scan/"
|
|
57
57
|
end
|
|
58
58
|
|
|
59
|
+
def self.return_value
|
|
60
|
+
'Outputs has of results with :number_of_tests, :number_of_failures, :number_of_retries, :number_of_tests_excluding_retries, :number_of_failures_excluding_retries'
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def self.return_type
|
|
64
|
+
:hash
|
|
65
|
+
end
|
|
66
|
+
|
|
59
67
|
def self.author
|
|
60
68
|
"KrauseFx"
|
|
61
69
|
end
|
|
@@ -9,8 +9,8 @@ module Fastlane
|
|
|
9
9
|
|
|
10
10
|
fail_build = params[:fail_build]
|
|
11
11
|
resulting_paths = Trainer::TestParser.auto_convert(params)
|
|
12
|
-
resulting_paths.each do |path,
|
|
13
|
-
UI.test_failure!("Unit tests failed") if fail_build && !
|
|
12
|
+
resulting_paths.each do |path, test_results|
|
|
13
|
+
UI.test_failure!("Unit tests failed") if fail_build && !test_results[:successful]
|
|
14
14
|
end
|
|
15
15
|
|
|
16
16
|
return resulting_paths
|
|
@@ -101,7 +101,7 @@ module Fastlane
|
|
|
101
101
|
UI.user_error!("Mismatched team_identifier. Required: '#{params[:team_identifier]}'; Found: '#{values['team_identifier']}'") unless params[:team_identifier] == values['team_identifier']
|
|
102
102
|
end
|
|
103
103
|
if params[:team_name]
|
|
104
|
-
UI.user_error!("Mismatched team_name. Required: '#{params[:team_name]}'; Found: 'values['team_name']'") unless params[:team_name] == values['team_name']
|
|
104
|
+
UI.user_error!("Mismatched team_name. Required: '#{params[:team_name]}'; Found: '#{values['team_name']}'") unless params[:team_name] == values['team_name']
|
|
105
105
|
end
|
|
106
106
|
if params[:app_name]
|
|
107
107
|
UI.user_error!("Mismatched app_name. Required: '#{params[:app_name]}'; Found: '#{values['app_name']}'") unless params[:app_name] == values['app_name']
|
|
@@ -367,7 +367,7 @@ func parseInt(fromString: String, function: String = #function) -> Int {
|
|
|
367
367
|
protocol_content_array = []
|
|
368
368
|
protocol_name = tool_swift_function.protocol_name
|
|
369
369
|
|
|
370
|
-
protocol_content_array << "public protocol #{protocol_name}:
|
|
370
|
+
protocol_content_array << "public protocol #{protocol_name}: AnyObject {"
|
|
371
371
|
protocol_content_array += tool_swift_function.swift_vars
|
|
372
372
|
protocol_content_array << "}"
|
|
373
373
|
protocol_content_array << ""
|
|
@@ -33,7 +33,7 @@ module Fastlane
|
|
|
33
33
|
# wait on socket_thread to be in ready state, then start the runner thread
|
|
34
34
|
self.cruise_swift_lane_in_thread(lane, parameters, swift_server_port)
|
|
35
35
|
|
|
36
|
-
socket_thread.
|
|
36
|
+
socket_thread.value
|
|
37
37
|
rescue Exception => ex # rubocop:disable Lint/RescueException
|
|
38
38
|
e = ex
|
|
39
39
|
end
|
|
@@ -74,7 +74,10 @@ module Fastlane
|
|
|
74
74
|
|
|
75
75
|
def self.display_lanes
|
|
76
76
|
self.ensure_runner_built!
|
|
77
|
-
Actions.sh(%(#{FastlaneCore::FastlaneFolder.swift_runner_path} lanes))
|
|
77
|
+
return_value = Actions.sh(%(#{FastlaneCore::FastlaneFolder.swift_runner_path} lanes))
|
|
78
|
+
if FastlaneCore::Globals.verbose?
|
|
79
|
+
UI.message("runner output: ".yellow + return_value)
|
|
80
|
+
end
|
|
78
81
|
end
|
|
79
82
|
|
|
80
83
|
def self.cruise_swift_lane_in_thread(lane, parameters = nil, swift_server_port)
|
|
@@ -94,7 +97,12 @@ module Fastlane
|
|
|
94
97
|
parameter_string += " swiftServerPort #{swift_server_port}"
|
|
95
98
|
|
|
96
99
|
return Thread.new do
|
|
97
|
-
|
|
100
|
+
if FastlaneCore::Globals.verbose?
|
|
101
|
+
return_value = Actions.sh(%(#{FastlaneCore::FastlaneFolder.swift_runner_path} lane #{lane}#{parameter_string}))
|
|
102
|
+
UI.message("runner output: ".yellow + return_value)
|
|
103
|
+
else
|
|
104
|
+
Actions.sh(%(#{FastlaneCore::FastlaneFolder.swift_runner_path} lane #{lane}#{parameter_string} > /dev/null))
|
|
105
|
+
end
|
|
98
106
|
end
|
|
99
107
|
end
|
|
100
108
|
|
|
@@ -45,7 +45,9 @@ module Fastlane
|
|
|
45
45
|
end
|
|
46
46
|
|
|
47
47
|
def upgrade_if_needed!(dry_run: false)
|
|
48
|
-
upgraded =
|
|
48
|
+
upgraded = add_missing_flags!(dry_run: dry_run)
|
|
49
|
+
upgraded = add_missing_copy_phase!(dry_run: dry_run) || upgraded
|
|
50
|
+
upgraded = add_missing_groups_and_files!(dry_run: dry_run) || upgraded
|
|
49
51
|
upgraded = upgrade_files!(dry_run: dry_run) || upgraded
|
|
50
52
|
upgraded = add_new_files_to_groups! || upgraded
|
|
51
53
|
|
|
@@ -208,5 +210,57 @@ module Fastlane
|
|
|
208
210
|
|
|
209
211
|
return true # yup, we definitely updated groups
|
|
210
212
|
end
|
|
213
|
+
|
|
214
|
+
# adds build_settings flags to fastlane_runner_target
|
|
215
|
+
def add_missing_flags!(dry_run: false)
|
|
216
|
+
# Check if upgrade is needed
|
|
217
|
+
# If fastlane build settings exists already, we don't need any more changes to the Xcode project
|
|
218
|
+
self.fastlane_runner_target.build_configurations.each { |config|
|
|
219
|
+
return false if dry_run && config.build_settings["CODE_SIGN_IDENTITY"].nil?
|
|
220
|
+
return false if dry_run && config.build_settings["MACOSX_DEPLOYMENT_TARGET"].nil?
|
|
221
|
+
}
|
|
222
|
+
return true if dry_run
|
|
223
|
+
|
|
224
|
+
# Proceed to upgrade
|
|
225
|
+
self.fastlane_runner_target.build_configurations.each { |config|
|
|
226
|
+
config.build_settings["CODE_SIGN_IDENTITY"] = "-"
|
|
227
|
+
config.build_settings["MACOSX_DEPLOYMENT_TARGET"] = "10.12"
|
|
228
|
+
}
|
|
229
|
+
target_project.save
|
|
230
|
+
end
|
|
231
|
+
|
|
232
|
+
# adds new copy files build phase to fastlane_runner_target
|
|
233
|
+
def add_missing_copy_phase!(dry_run: false)
|
|
234
|
+
# Check if upgrade is needed
|
|
235
|
+
# If fastlane copy files build phase exists already, we don't need any more changes to the Xcode project
|
|
236
|
+
phase_copy_sign = self.fastlane_runner_target.copy_files_build_phases.select { |phase_copy| phase_copy.name == "FastlaneRunnerCopySigned" }.first
|
|
237
|
+
|
|
238
|
+
old_phase_copy_sign = self.fastlane_runner_target.shell_script_build_phases.select { |phase_copy| phase_copy.shell_script == "cd \"${SRCROOT}\"\ncd ../..\ncp \"${TARGET_BUILD_DIR}/${EXECUTABLE_PATH}\" .\n" }.first
|
|
239
|
+
unless phase_copy_sign
|
|
240
|
+
return false if dry_run
|
|
241
|
+
end
|
|
242
|
+
|
|
243
|
+
return true if dry_run
|
|
244
|
+
|
|
245
|
+
# Proceed to upgrade
|
|
246
|
+
old_phase_copy_sign.remove_from_project unless old_phase_copy_sign.nil?
|
|
247
|
+
|
|
248
|
+
unless phase_copy_sign
|
|
249
|
+
# Create a copy files build phase
|
|
250
|
+
phase_copy_sign = self.fastlane_runner_target.new_copy_files_build_phase("FastlaneRunnerCopySigned")
|
|
251
|
+
phase_copy_sign.dst_path = "$SRCROOT/../.."
|
|
252
|
+
phase_copy_sign.dst_subfolder_spec = "0"
|
|
253
|
+
phase_copy_sign.run_only_for_deployment_postprocessing = "0"
|
|
254
|
+
targetBinaryReference = self.fastlane_runner_target.product_reference
|
|
255
|
+
phase_copy_sign.add_file_reference(targetBinaryReference)
|
|
256
|
+
|
|
257
|
+
# Set "Code sign on copy" flag on Xcode for fastlane_runner_target
|
|
258
|
+
targetBinaryReference.build_files.each { |target_binary_build_file_reference|
|
|
259
|
+
target_binary_build_file_reference.settings = { "ATTRIBUTES": ["CodeSignOnCopy"] }
|
|
260
|
+
}
|
|
261
|
+
end
|
|
262
|
+
|
|
263
|
+
target_project.save
|
|
264
|
+
end
|
|
211
265
|
end
|
|
212
266
|
end
|