fastlane 2.231.1 → 2.232.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 +98 -98
- data/bin/fastlane +2 -2
- data/fastlane/lib/assets/completions/completion.bash +1 -1
- data/fastlane/lib/assets/completions/completion.sh +2 -2
- data/fastlane/lib/fastlane/actions/app_store_build_number.rb +15 -14
- data/fastlane/lib/fastlane/actions/appium.rb +1 -1
- data/fastlane/lib/fastlane/actions/import_certificate.rb +9 -1
- data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +1 -1
- data/fastlane/lib/fastlane/erb_template_helper.rb +1 -7
- 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/Appfile.swift +12 -4
- data/fastlane/swift/ControlCommand.swift +4 -3
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +264 -67
- data/fastlane/swift/Fastlane.swift +55 -17
- data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.pbxproj +3 -1
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/GymfileProtocol.swift +220 -55
- data/fastlane/swift/LaneFileProtocol.swift +6 -4
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/MatchfileProtocol.swift +224 -57
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/PrecheckfileProtocol.swift +44 -12
- data/fastlane/swift/RubyCommand.swift +5 -6
- data/fastlane/swift/Runner.swift +1 -1
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/ScanfileProtocol.swift +328 -82
- data/fastlane/swift/Screengrabfile.swift +1 -1
- data/fastlane/swift/ScreengrabfileProtocol.swift +88 -23
- data/fastlane/swift/Snapshotfile.swift +1 -1
- data/fastlane/swift/SnapshotfileProtocol.swift +212 -53
- data/fastlane/swift/SocketClient.swift +1 -1
- data/fastlane_core/lib/fastlane_core/cert_checker.rb +10 -0
- data/fastlane_core/lib/fastlane_core/keychain_importer.rb +3 -1
- data/fastlane_core/lib/fastlane_core/project.rb +4 -0
- data/gym/lib/assets/wrap_xcodebuild/xcbuild-safe.sh +1 -0
- data/gym/lib/gym/options.rb +6 -1
- data/scan/lib/scan/options.rb +6 -1
- data/sigh/lib/assets/resign.sh +7 -5
- data/snapshot/lib/snapshot/options.rb +8 -1
- data/spaceship/lib/spaceship/connect_api/models/build_upload.rb +42 -0
- data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +9 -0
- data/spaceship/lib/spaceship/connect_api.rb +1 -0
- data/spaceship/lib/spaceship/spaceauth_runner.rb +5 -15
- data/trainer/lib/trainer/legacy_xcresult.rb +1 -1
- data/trainer/lib/trainer/test_parser.rb +1 -1
- data/trainer/lib/trainer/xcresult/helper.rb +11 -1
- metadata +28 -27
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2622d3578122878982a9b7d811fe4a292ed99929665c6260ad5f16dc687394ef
|
|
4
|
+
data.tar.gz: 6b0ea9b956f1aa5e1cadad14947045227e23d7dfe06d878b570ba70a6cf5f8ff
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 660e9e37dbf36f1894fbc6a813c794b12e3201428812777d2a287b9cf22911ea6b0fc8c004da7050c1ba1ebb4922b1006f7fdb39bda8b41548f38dd2320c3a3f
|
|
7
|
+
data.tar.gz: bf7c1b8f65cbb1faba9242d21e37c595ae2f3e3651db49b9e8af32a8360a993d60783a947681bb0fa5ed13069aa3337354c136bf70d63c96c854ffa15d11f050
|
data/README.md
CHANGED
|
@@ -35,43 +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='jan-piotrowski'>
|
|
39
|
+
<a href='https://github.com/janpio'>
|
|
40
|
+
<img src='https://github.com/janpio.png' width='140px;'>
|
|
41
41
|
</a>
|
|
42
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
42
|
+
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
|
43
43
|
</td>
|
|
44
|
-
<td id='
|
|
45
|
-
<a href='https://github.com/
|
|
46
|
-
<img src='https://github.com/
|
|
44
|
+
<td id='kohki-miki'>
|
|
45
|
+
<a href='https://github.com/giginet'>
|
|
46
|
+
<img src='https://github.com/giginet.png' width='140px;'>
|
|
47
47
|
</a>
|
|
48
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
48
|
+
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
|
49
49
|
</td>
|
|
50
|
-
<td id='
|
|
51
|
-
<a href='https://github.com/
|
|
52
|
-
<img src='https://github.com/
|
|
50
|
+
<td id='felix-krause'>
|
|
51
|
+
<a href='https://github.com/KrauseFx'>
|
|
52
|
+
<img src='https://github.com/KrauseFx.png' width='140px;'>
|
|
53
53
|
</a>
|
|
54
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
54
|
+
<h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
|
|
55
55
|
</td>
|
|
56
|
-
<td id='
|
|
57
|
-
<a href='https://github.com/
|
|
58
|
-
<img src='https://github.com/
|
|
56
|
+
<td id='helmut-januschka'>
|
|
57
|
+
<a href='https://github.com/hjanuschka'>
|
|
58
|
+
<img src='https://github.com/hjanuschka.png' width='140px;'>
|
|
59
59
|
</a>
|
|
60
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
60
|
+
<h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
|
|
61
61
|
</td>
|
|
62
|
-
<td id='
|
|
63
|
-
<a href='https://github.com/
|
|
64
|
-
<img src='https://github.com/
|
|
62
|
+
<td id='josh-holtz'>
|
|
63
|
+
<a href='https://github.com/joshdholtz'>
|
|
64
|
+
<img src='https://github.com/joshdholtz.png' width='140px;'>
|
|
65
65
|
</a>
|
|
66
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
66
|
+
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</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='daniel-jankowski'>
|
|
71
|
+
<a href='https://github.com/mollyIV'>
|
|
72
|
+
<img src='https://github.com/mollyIV.png' width='140px;'>
|
|
73
73
|
</a>
|
|
74
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
74
|
+
<h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
|
|
75
|
+
</td>
|
|
76
|
+
<td id='jimmy-dee'>
|
|
77
|
+
<a href='https://github.com/jdee'>
|
|
78
|
+
<img src='https://github.com/jdee.png' width='140px;'>
|
|
79
|
+
</a>
|
|
80
|
+
<h4 align='center'>Jimmy Dee</h4>
|
|
75
81
|
</td>
|
|
76
82
|
<td id='matthew-ellis'>
|
|
77
83
|
<a href='https://github.com/matthewellis'>
|
|
@@ -79,31 +85,37 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
79
85
|
</a>
|
|
80
86
|
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
|
81
87
|
</td>
|
|
82
|
-
<td id='
|
|
83
|
-
<a href='https://github.com/
|
|
84
|
-
<img src='https://github.com/
|
|
85
|
-
</a>
|
|
86
|
-
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
|
87
|
-
</td>
|
|
88
|
-
<td id='łukasz-grabowski'>
|
|
89
|
-
<a href='https://github.com/lucgrabowski'>
|
|
90
|
-
<img src='https://github.com/lucgrabowski.png' width='140px;'>
|
|
88
|
+
<td id='maksym-grebenets'>
|
|
89
|
+
<a href='https://github.com/mgrebenets'>
|
|
90
|
+
<img src='https://github.com/mgrebenets.png' width='140px;'>
|
|
91
91
|
</a>
|
|
92
|
-
<h4 align='center'
|
|
92
|
+
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
|
93
93
|
</td>
|
|
94
|
-
<td id='
|
|
95
|
-
<a href='https://github.com/
|
|
96
|
-
<img src='https://github.com/
|
|
94
|
+
<td id='olivier-halligon'>
|
|
95
|
+
<a href='https://github.com/AliSoftware'>
|
|
96
|
+
<img src='https://github.com/AliSoftware.png' width='140px;'>
|
|
97
97
|
</a>
|
|
98
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
98
|
+
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</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='andrew-mcburney'>
|
|
103
|
+
<a href='https://github.com/armcburney'>
|
|
104
|
+
<img src='https://github.com/armcburney.png' width='140px;'>
|
|
105
105
|
</a>
|
|
106
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
106
|
+
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
|
107
|
+
</td>
|
|
108
|
+
<td id='manish-rathi'>
|
|
109
|
+
<a href='https://github.com/crazymanish'>
|
|
110
|
+
<img src='https://github.com/crazymanish.png' width='140px;'>
|
|
111
|
+
</a>
|
|
112
|
+
<h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</a></h4>
|
|
113
|
+
</td>
|
|
114
|
+
<td id='danielle-tomlinson'>
|
|
115
|
+
<a href='https://github.com/endocrimes'>
|
|
116
|
+
<img src='https://github.com/endocrimes.png' width='140px;'>
|
|
117
|
+
</a>
|
|
118
|
+
<h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
|
|
107
119
|
</td>
|
|
108
120
|
<td id='fumiya-nakamura'>
|
|
109
121
|
<a href='https://github.com/nafu'>
|
|
@@ -111,58 +123,64 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
111
123
|
</a>
|
|
112
124
|
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
|
|
113
125
|
</td>
|
|
114
|
-
<td id='
|
|
115
|
-
<a href='https://github.com/
|
|
116
|
-
<img src='https://github.com/
|
|
117
|
-
</a>
|
|
118
|
-
<h4 align='center'>Jimmy Dee</h4>
|
|
119
|
-
</td>
|
|
120
|
-
<td id='satoshi-namai'>
|
|
121
|
-
<a href='https://github.com/ainame'>
|
|
122
|
-
<img src='https://github.com/ainame.png' width='140px;'>
|
|
126
|
+
<td id='iulian-onofrei'>
|
|
127
|
+
<a href='https://github.com/revolter'>
|
|
128
|
+
<img src='https://github.com/revolter.png' width='140px;'>
|
|
123
129
|
</a>
|
|
124
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
130
|
+
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
|
125
131
|
</td>
|
|
132
|
+
</tr>
|
|
133
|
+
<tr>
|
|
126
134
|
<td id='jérôme-lacoste'>
|
|
127
135
|
<a href='https://github.com/lacostej'>
|
|
128
136
|
<img src='https://github.com/lacostej.png' width='140px;'>
|
|
129
137
|
</a>
|
|
130
138
|
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
|
131
139
|
</td>
|
|
132
|
-
|
|
133
|
-
<
|
|
140
|
+
<td id='łukasz-grabowski'>
|
|
141
|
+
<a href='https://github.com/lucgrabowski'>
|
|
142
|
+
<img src='https://github.com/lucgrabowski.png' width='140px;'>
|
|
143
|
+
</a>
|
|
144
|
+
<h4 align='center'>Łukasz Grabowski</h4>
|
|
145
|
+
</td>
|
|
134
146
|
<td id='aaron-brager'>
|
|
135
147
|
<a href='https://github.com/getaaron'>
|
|
136
148
|
<img src='https://github.com/getaaron.png' width='140px;'>
|
|
137
149
|
</a>
|
|
138
150
|
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
|
139
151
|
</td>
|
|
140
|
-
<td id='
|
|
141
|
-
<a href='https://github.com/
|
|
142
|
-
<img src='https://github.com/
|
|
152
|
+
<td id='max-ott'>
|
|
153
|
+
<a href='https://github.com/max-ott'>
|
|
154
|
+
<img src='https://github.com/max-ott.png' width='140px;'>
|
|
143
155
|
</a>
|
|
144
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
156
|
+
<h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
|
|
145
157
|
</td>
|
|
146
|
-
<td id='
|
|
147
|
-
<a href='https://github.com/
|
|
148
|
-
<img src='https://github.com/
|
|
158
|
+
<td id='manu-wallner'>
|
|
159
|
+
<a href='https://github.com/milch'>
|
|
160
|
+
<img src='https://github.com/milch.png' width='140px;'>
|
|
149
161
|
</a>
|
|
150
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
162
|
+
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
|
151
163
|
</td>
|
|
152
|
-
|
|
153
|
-
<
|
|
154
|
-
<
|
|
164
|
+
</tr>
|
|
165
|
+
<tr>
|
|
166
|
+
<td id='joshua-liebowitz'>
|
|
167
|
+
<a href='https://github.com/taquitos'>
|
|
168
|
+
<img src='https://github.com/taquitos.png' width='140px;'>
|
|
155
169
|
</a>
|
|
156
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
170
|
+
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
|
157
171
|
</td>
|
|
158
|
-
<td id='
|
|
159
|
-
<a href='https://github.com/
|
|
160
|
-
<img src='https://github.com/
|
|
172
|
+
<td id='satoshi-namai'>
|
|
173
|
+
<a href='https://github.com/ainame'>
|
|
174
|
+
<img src='https://github.com/ainame.png' width='140px;'>
|
|
161
175
|
</a>
|
|
162
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
176
|
+
<h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
|
|
177
|
+
</td>
|
|
178
|
+
<td id='roger-oba'>
|
|
179
|
+
<a href='https://github.com/rogerluan'>
|
|
180
|
+
<img src='https://github.com/rogerluan.png' width='140px;'>
|
|
181
|
+
</a>
|
|
182
|
+
<h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
|
|
163
183
|
</td>
|
|
164
|
-
</tr>
|
|
165
|
-
<tr>
|
|
166
184
|
<td id='luka-mirosevic'>
|
|
167
185
|
<a href='https://github.com/lmirosevic'>
|
|
168
186
|
<img src='https://github.com/lmirosevic.png' width='140px;'>
|
|
@@ -175,37 +193,19 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
175
193
|
</a>
|
|
176
194
|
<h4 align='center'><a href='https://twitter.com/ibotpeaches'>Connor Tumbleson</a></h4>
|
|
177
195
|
</td>
|
|
178
|
-
<td id='kohki-miki'>
|
|
179
|
-
<a href='https://github.com/giginet'>
|
|
180
|
-
<img src='https://github.com/giginet.png' width='140px;'>
|
|
181
|
-
</a>
|
|
182
|
-
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
|
183
|
-
</td>
|
|
184
|
-
<td id='josh-holtz'>
|
|
185
|
-
<a href='https://github.com/joshdholtz'>
|
|
186
|
-
<img src='https://github.com/joshdholtz.png' width='140px;'>
|
|
187
|
-
</a>
|
|
188
|
-
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
|
189
|
-
</td>
|
|
190
|
-
<td id='manu-wallner'>
|
|
191
|
-
<a href='https://github.com/milch'>
|
|
192
|
-
<img src='https://github.com/milch.png' width='140px;'>
|
|
193
|
-
</a>
|
|
194
|
-
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
|
195
|
-
</td>
|
|
196
196
|
</tr>
|
|
197
197
|
<tr>
|
|
198
|
-
<td id='
|
|
199
|
-
<a href='https://github.com/
|
|
200
|
-
<img src='https://github.com/
|
|
198
|
+
<td id='stefan-natchev'>
|
|
199
|
+
<a href='https://github.com/snatchev'>
|
|
200
|
+
<img src='https://github.com/snatchev.png' width='140px;'>
|
|
201
201
|
</a>
|
|
202
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
202
|
+
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
|
203
203
|
</td>
|
|
204
|
-
<td id='
|
|
205
|
-
<a href='https://github.com/
|
|
206
|
-
<img src='https://github.com/
|
|
204
|
+
<td id='jorge-revuelta-h'>
|
|
205
|
+
<a href='https://github.com/minuscorp'>
|
|
206
|
+
<img src='https://github.com/minuscorp.png' width='140px;'>
|
|
207
207
|
</a>
|
|
208
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
208
|
+
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
|
209
209
|
</td>
|
|
210
210
|
</table>
|
|
211
211
|
|
data/bin/fastlane
CHANGED
|
@@ -21,6 +21,6 @@ _fastlane_complete() {
|
|
|
21
21
|
completions="$(sed -En 's/^[ ]*lane +:([^ ]+).*$/\1/p' "$file")"
|
|
22
22
|
completions="$completions update_fastlane"
|
|
23
23
|
|
|
24
|
-
COMPREPLY
|
|
24
|
+
mapfile -t COMPREPLY < <(compgen -W "$completions" -- "$word")
|
|
25
25
|
}
|
|
26
26
|
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
# shellcheck disable=SC2039
|
|
5
5
|
|
|
6
6
|
if [ -n "$BASH_VERSION" ]; then
|
|
7
|
-
|
|
7
|
+
. ~/.fastlane/completions/completion.bash
|
|
8
8
|
elif [ -n "$ZSH_VERSION" ]; then
|
|
9
|
-
|
|
9
|
+
. ~/.fastlane/completions/completion.zsh
|
|
10
10
|
fi
|
|
11
11
|
|
|
12
12
|
# Do not remove v0.0.1
|
|
@@ -66,17 +66,17 @@ module Fastlane
|
|
|
66
66
|
version_number = params[:version]
|
|
67
67
|
platform = params[:platform]
|
|
68
68
|
|
|
69
|
-
# Create filter for
|
|
70
|
-
filter = {
|
|
69
|
+
# Create filter for get_build_uploads with optional version number
|
|
70
|
+
filter = {}
|
|
71
71
|
if version_number
|
|
72
|
-
filter["
|
|
72
|
+
filter["cfBundleShortVersionString"] = version_number
|
|
73
73
|
version_number_message = "version #{version_number}"
|
|
74
74
|
else
|
|
75
75
|
version_number_message = "any version"
|
|
76
76
|
end
|
|
77
77
|
|
|
78
78
|
if platform
|
|
79
|
-
filter["
|
|
79
|
+
filter["platform"] = Spaceship::ConnectAPI::Platform.map(platform)
|
|
80
80
|
platform_message = "#{platform} platform"
|
|
81
81
|
else
|
|
82
82
|
platform_message = "any platform"
|
|
@@ -84,19 +84,20 @@ module Fastlane
|
|
|
84
84
|
|
|
85
85
|
UI.message("Fetching the latest build number for #{version_number_message}")
|
|
86
86
|
|
|
87
|
-
# Get latest build for optional version number and return build number if found
|
|
88
|
-
|
|
89
|
-
if
|
|
90
|
-
build_nr =
|
|
91
|
-
|
|
92
|
-
|
|
87
|
+
# Get latest build upload for optional version number and return build number if found
|
|
88
|
+
build_upload = Spaceship::ConnectAPI.get_build_uploads(app_id: app.id, filter: filter, sort: "-cfBundleVersion", limit: 1).first
|
|
89
|
+
if build_upload
|
|
90
|
+
build_nr = build_upload.cf_build_version
|
|
91
|
+
build_v = build_upload.cf_build_short_version_string
|
|
92
|
+
UI.message("Latest upload for version #{build_v} on #{platform_message} is build: #{build_nr}")
|
|
93
|
+
return OpenStruct.new({ build_nr: build_nr, build_v: build_v })
|
|
93
94
|
end
|
|
94
95
|
|
|
95
|
-
# Let user know that build couldn't be found
|
|
96
|
-
UI.important("Could not find a build for #{version_number_message} on #{platform_message} on App Store Connect")
|
|
96
|
+
# Let user know that build upload couldn't be found
|
|
97
|
+
UI.important("Could not find a build upload for #{version_number_message} on #{platform_message} on App Store Connect")
|
|
97
98
|
|
|
98
99
|
if params[:initial_build_number].nil?
|
|
99
|
-
UI.user_error!("Could not find a build on App Store Connect - and 'initial_build_number' option is not set")
|
|
100
|
+
UI.user_error!("Could not find a build upload on App Store Connect - and 'initial_build_number' option is not set")
|
|
100
101
|
else
|
|
101
102
|
build_nr = params[:initial_build_number]
|
|
102
103
|
UI.message("Using initial build number of #{build_nr}")
|
|
@@ -140,7 +141,7 @@ module Fastlane
|
|
|
140
141
|
conflicting_options: [:api_key_path]),
|
|
141
142
|
FastlaneCore::ConfigItem.new(key: :initial_build_number,
|
|
142
143
|
env_name: "INITIAL_BUILD_NUMBER",
|
|
143
|
-
description: "sets the build number to given value if no build is in current train",
|
|
144
|
+
description: "sets the build number to given value if no build (upload) is in current train",
|
|
144
145
|
skip_type_validation: true), # as we also allow integers, which we convert to strings anyway
|
|
145
146
|
FastlaneCore::ConfigItem.new(key: :app_identifier,
|
|
146
147
|
short_option: "-a",
|
|
@@ -6,7 +6,7 @@ module Fastlane
|
|
|
6
6
|
def self.run(params)
|
|
7
7
|
keychain_path = params[:keychain_path] || FastlaneCore::Helper.keychain_path(params[:keychain_name])
|
|
8
8
|
|
|
9
|
-
FastlaneCore::KeychainImporter.import_file(params[:certificate_path], keychain_path, keychain_password: params[:keychain_password], certificate_password: params[:certificate_password], output: params[:log_output])
|
|
9
|
+
FastlaneCore::KeychainImporter.import_file(params[:certificate_path], keychain_path, keychain_password: params[:keychain_password], certificate_password: params[:certificate_password], certificate_format: params[:certificate_format], output: params[:log_output])
|
|
10
10
|
end
|
|
11
11
|
|
|
12
12
|
def self.description
|
|
@@ -23,6 +23,9 @@ module Fastlane
|
|
|
23
23
|
sensitive: true,
|
|
24
24
|
default_value: "",
|
|
25
25
|
optional: true),
|
|
26
|
+
FastlaneCore::ConfigItem.new(key: :certificate_format,
|
|
27
|
+
description: "Format of the certificate. Check the '-f' switch from 'security import --help' command",
|
|
28
|
+
optional: true),
|
|
26
29
|
FastlaneCore::ConfigItem.new(key: :keychain_name,
|
|
27
30
|
env_name: "KEYCHAIN_NAME",
|
|
28
31
|
description: "Keychain the items should be imported to",
|
|
@@ -65,6 +68,11 @@ module Fastlane
|
|
|
65
68
|
)',
|
|
66
69
|
'import_certificate(
|
|
67
70
|
certificate_path: "certs/development.cer"
|
|
71
|
+
)',
|
|
72
|
+
'import_certificate(
|
|
73
|
+
certificate_path: "certs/dist.p12",
|
|
74
|
+
certificate_password: ENV["CERTIFICATE_PASSWORD"] || "default",
|
|
75
|
+
certificate_format: "pkcs12"
|
|
68
76
|
)'
|
|
69
77
|
]
|
|
70
78
|
end
|
|
@@ -87,7 +87,7 @@ module Fastlane
|
|
|
87
87
|
end),
|
|
88
88
|
FastlaneCore::ConfigItem.new(key: :initial_build_number,
|
|
89
89
|
env_name: "INITIAL_BUILD_NUMBER",
|
|
90
|
-
description: "sets the build number to given value if no build is in current train",
|
|
90
|
+
description: "sets the build number to given value if no build (upload) is in current train",
|
|
91
91
|
default_value: 1,
|
|
92
92
|
skip_type_validation: true), # allow Integer, String
|
|
93
93
|
FastlaneCore::ConfigItem.new(key: :team_id,
|
|
@@ -26,13 +26,7 @@ module Fastlane
|
|
|
26
26
|
end
|
|
27
27
|
|
|
28
28
|
def render(template)
|
|
29
|
-
|
|
30
|
-
# https://bugs.ruby-lang.org/issues/14256
|
|
31
|
-
if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("2.6.0")
|
|
32
|
-
ERB.new(template, trim_mode: @trim_mode).result(binding)
|
|
33
|
-
else
|
|
34
|
-
ERB.new(template, nil, @trim_mode).result(binding)
|
|
35
|
-
end
|
|
29
|
+
ERB.new(template, trim_mode: @trim_mode).result(binding)
|
|
36
30
|
end
|
|
37
31
|
end
|
|
38
32
|
end
|
|
@@ -15,7 +15,7 @@ Gem::Specification.new do |spec|
|
|
|
15
15
|
spec.files = Dir["lib/**/*"] + %w(README.md LICENSE)
|
|
16
16
|
spec.require_paths = ['lib']
|
|
17
17
|
spec.metadata['rubygems_mfa_required'] = 'true'
|
|
18
|
-
spec.required_ruby_version = '>= 2.
|
|
18
|
+
spec.required_ruby_version = '>= 2.7'
|
|
19
19
|
|
|
20
20
|
# Don't add a dependency to fastlane or fastlane_re
|
|
21
21
|
# since this would cause a circular dependency
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
module Fastlane
|
|
2
|
-
VERSION = '2.
|
|
2
|
+
VERSION = '2.232.0'.freeze
|
|
3
3
|
SUMMARY = "The easiest way to build and release mobile apps.".freeze
|
|
4
4
|
DESCRIPTION = "The easiest way to automate beta deployments and releases for your iOS and Android apps".freeze
|
|
5
5
|
MINIMUM_XCODE_RELEASE = "7.0".freeze
|
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
// Appfile.swift
|
|
2
2
|
// Copyright (c) 2026 FastlaneTools
|
|
3
3
|
|
|
4
|
-
var appIdentifier: String {
|
|
5
|
-
|
|
4
|
+
var appIdentifier: String {
|
|
5
|
+
return ""
|
|
6
|
+
} // The bundle identifier of your app
|
|
7
|
+
var appleID: String {
|
|
8
|
+
return ""
|
|
9
|
+
} // Your Apple Developer Portal username
|
|
6
10
|
|
|
7
|
-
var teamID: String {
|
|
8
|
-
|
|
11
|
+
var teamID: String {
|
|
12
|
+
return ""
|
|
13
|
+
} // Developer Portal Team ID
|
|
14
|
+
var itcTeam: String? {
|
|
15
|
+
return nil
|
|
16
|
+
} // App Store Connect Team ID (may be nil if no team)
|
|
9
17
|
|
|
10
18
|
// you can even provide different app identifiers, Apple IDs and team names per lane:
|
|
11
19
|
// More information: https://docs.fastlane.tools/advanced/#appfile
|
|
@@ -12,7 +12,9 @@ import Foundation
|
|
|
12
12
|
|
|
13
13
|
struct ControlCommand: RubyCommandable {
|
|
14
14
|
static let commandKey = "command"
|
|
15
|
-
var type: CommandType {
|
|
15
|
+
var type: CommandType {
|
|
16
|
+
return .control
|
|
17
|
+
}
|
|
16
18
|
|
|
17
19
|
enum ShutdownCommandType {
|
|
18
20
|
static let userMessageKey: String = "userMessage"
|
|
@@ -59,8 +61,7 @@ struct ControlCommand: RubyCommandable {
|
|
|
59
61
|
}
|
|
60
62
|
|
|
61
63
|
let jsonData = try! JSONSerialization.data(withJSONObject: jsonDictionary, options: [])
|
|
62
|
-
|
|
63
|
-
return jsonString
|
|
64
|
+
return String(data: jsonData, encoding: .utf8)!
|
|
64
65
|
}
|
|
65
66
|
|
|
66
67
|
init(commandType: ShutdownCommandType, message: String? = nil) {
|