fastlane 2.204.3 → 2.205.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 +102 -102
- data/fastlane/lib/fastlane/actions/badge.rb +1 -1
- data/fastlane/lib/fastlane/actions/get_version_number.rb +1 -1
- data/fastlane/lib/fastlane/actions/git_commit.rb +4 -6
- data/fastlane/lib/fastlane/commands_generator.rb +2 -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 +4 -4
- 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/SocketClient.swift +2 -2
- data/fastlane/swift/formatting/Brewfile.lock.json +14 -14
- data/fastlane_core/README.md +1 -0
- data/match/lib/match/encryption/openssl.rb +1 -1
- data/pilot/lib/pilot/build_manager.rb +2 -2
- data/spaceship/lib/spaceship/.client.rb.swp +0 -0
- data/spaceship/lib/spaceship/client.rb +13 -25
- data/spaceship/lib/spaceship/connect_api/.response.rb.swp +0 -0
- data/spaceship/lib/spaceship/connect_api/models/.app.rb.swp +0 -0
- data/spaceship/lib/spaceship/connect_api/models/.review_submission.rb.swp +0 -0
- data/spaceship/lib/spaceship/connect_api/models/app.rb +2 -1
- data/spaceship/lib/spaceship/connect_api/models/review_submission.rb +1 -0
- data/spaceship/lib/spaceship/tunes/.tunes_client.rb.swp +0 -0
- data/spaceship/lib/spaceship/tunes/app_ratings.rb +6 -6
- data/spaceship/lib/spaceship/tunes/iap_families.rb +1 -1
- data/spaceship/lib/spaceship/tunes/tunes.rb +0 -1
- data/spaceship/lib/spaceship/tunes/tunes_client.rb +9 -12
- data/supply/lib/supply/client.rb +2 -7
- data/trainer/lib/assets/junit.xml.erb +6 -1
- data/trainer/lib/trainer/junit_generator.rb +1 -1
- data/trainer/lib/trainer/options.rb +1 -1
- data/trainer/lib/trainer/test_parser.rb +13 -0
- metadata +24 -21
- data/spaceship/lib/spaceship/tunes/user_detail.rb +0 -15
- data/trainer/lib/trainer/.test_parser.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: 05270744fe6e63c79322a0e642c6293c463bbd6365042b949537a477c1e3d3c4
|
|
4
|
+
data.tar.gz: b2bb49aeec0d22405b99e2f2cc6e2fb946377960eb7e160d11f8f61d6744d32d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: aa3d5be55d5b42f52dfbd77450549aec0691c57dfcdfb95109be75338f5d7a461ea0b83c015cddb65c39c43324ef43172d6b7a2a3d51033b6d99d63c5edb2d66
|
|
7
|
+
data.tar.gz: caaee34991c9a6ff6dca57960d3eab72135f3ba80ce5e29c15b1da530beb59fd8134d03b9831a463b9fc785693a545092436de2fc63bffaeeeb34eaef9f3e509
|
data/README.md
CHANGED
|
@@ -35,151 +35,145 @@ 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='fumiya-nakamura'>
|
|
39
|
+
<a href='https://github.com/nafu'>
|
|
40
|
+
<img src='https://github.com/nafu.png' width='140px;'>
|
|
41
41
|
</a>
|
|
42
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
42
|
+
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</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' width='140px;'>
|
|
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
|
-
<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='matthew-ellis'>
|
|
57
|
+
<a href='https://github.com/matthewellis'>
|
|
58
|
+
<img src='https://github.com/matthewellis.png' width='140px;'>
|
|
59
59
|
</a>
|
|
60
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
60
|
+
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
|
61
61
|
</td>
|
|
62
|
-
<td id='
|
|
63
|
-
<a href='https://github.com/
|
|
64
|
-
<img src='https://github.com/
|
|
62
|
+
<td id='satoshi-namai'>
|
|
63
|
+
<a href='https://github.com/ainame'>
|
|
64
|
+
<img src='https://github.com/ainame.png' width='140px;'>
|
|
65
65
|
</a>
|
|
66
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
66
|
+
<h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</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='maksym-grebenets'>
|
|
71
|
+
<a href='https://github.com/mgrebenets'>
|
|
72
|
+
<img src='https://github.com/mgrebenets.png' width='140px;'>
|
|
73
73
|
</a>
|
|
74
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
74
|
+
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
|
75
75
|
</td>
|
|
76
|
-
<td id='
|
|
77
|
-
<a href='https://github.com/
|
|
78
|
-
<img src='https://github.com/
|
|
76
|
+
<td id='roger-oba'>
|
|
77
|
+
<a href='https://github.com/rogerluan'>
|
|
78
|
+
<img src='https://github.com/rogerluan.png' width='140px;'>
|
|
79
79
|
</a>
|
|
80
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
80
|
+
<h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
|
|
81
81
|
</td>
|
|
82
|
-
<td id='
|
|
83
|
-
<a href='https://github.com/
|
|
84
|
-
<img src='https://github.com/
|
|
82
|
+
<td id='olivier-halligon'>
|
|
83
|
+
<a href='https://github.com/AliSoftware'>
|
|
84
|
+
<img src='https://github.com/AliSoftware.png' width='140px;'>
|
|
85
85
|
</a>
|
|
86
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
86
|
+
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
|
87
87
|
</td>
|
|
88
|
-
<td id='
|
|
89
|
-
<a href='https://github.com/
|
|
90
|
-
<img src='https://github.com/
|
|
88
|
+
<td id='jorge-revuelta-h'>
|
|
89
|
+
<a href='https://github.com/minuscorp'>
|
|
90
|
+
<img src='https://github.com/minuscorp.png' width='140px;'>
|
|
91
91
|
</a>
|
|
92
|
-
<h4 align='center'>
|
|
92
|
+
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
|
93
93
|
</td>
|
|
94
|
-
<td id='
|
|
95
|
-
<a href='https://github.com/
|
|
96
|
-
<img src='https://github.com/
|
|
94
|
+
<td id='danielle-tomlinson'>
|
|
95
|
+
<a href='https://github.com/endocrimes'>
|
|
96
|
+
<img src='https://github.com/endocrimes.png' width='140px;'>
|
|
97
97
|
</a>
|
|
98
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
98
|
+
<h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</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='manish-rathi'>
|
|
103
|
+
<a href='https://github.com/crazymanish'>
|
|
104
|
+
<img src='https://github.com/crazymanish.png' width='140px;'>
|
|
105
105
|
</a>
|
|
106
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
106
|
+
<h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</a></h4>
|
|
107
107
|
</td>
|
|
108
|
-
<td id='
|
|
109
|
-
<a href='https://github.com/
|
|
110
|
-
<img src='https://github.com/
|
|
108
|
+
<td id='josh-holtz'>
|
|
109
|
+
<a href='https://github.com/joshdholtz'>
|
|
110
|
+
<img src='https://github.com/joshdholtz.png' width='140px;'>
|
|
111
111
|
</a>
|
|
112
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
112
|
+
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
|
113
113
|
</td>
|
|
114
|
-
<td id='
|
|
115
|
-
<a href='https://github.com/
|
|
116
|
-
<img src='https://github.com/
|
|
114
|
+
<td id='jan-piotrowski'>
|
|
115
|
+
<a href='https://github.com/janpio'>
|
|
116
|
+
<img src='https://github.com/janpio.png' width='140px;'>
|
|
117
117
|
</a>
|
|
118
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
118
|
+
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
|
119
119
|
</td>
|
|
120
|
-
<td id='
|
|
121
|
-
<a href='https://github.com/
|
|
122
|
-
<img src='https://github.com/
|
|
120
|
+
<td id='helmut-januschka'>
|
|
121
|
+
<a href='https://github.com/hjanuschka'>
|
|
122
|
+
<img src='https://github.com/hjanuschka.png' width='140px;'>
|
|
123
123
|
</a>
|
|
124
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
124
|
+
<h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
|
|
125
125
|
</td>
|
|
126
|
-
<td id='
|
|
127
|
-
<a href='https://github.com/
|
|
128
|
-
<img src='https://github.com/
|
|
126
|
+
<td id='kohki-miki'>
|
|
127
|
+
<a href='https://github.com/giginet'>
|
|
128
|
+
<img src='https://github.com/giginet.png' width='140px;'>
|
|
129
129
|
</a>
|
|
130
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
130
|
+
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
|
131
131
|
</td>
|
|
132
132
|
</tr>
|
|
133
133
|
<tr>
|
|
134
|
-
<td id='
|
|
135
|
-
<a href='https://github.com/
|
|
136
|
-
<img src='https://github.com/
|
|
134
|
+
<td id='max-ott'>
|
|
135
|
+
<a href='https://github.com/max-ott'>
|
|
136
|
+
<img src='https://github.com/max-ott.png' width='140px;'>
|
|
137
137
|
</a>
|
|
138
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
138
|
+
<h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</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
|
-
<td id='
|
|
147
|
-
<a href='https://github.com/
|
|
148
|
-
<img src='https://github.com/
|
|
146
|
+
<td id='stefan-natchev'>
|
|
147
|
+
<a href='https://github.com/snatchev'>
|
|
148
|
+
<img src='https://github.com/snatchev.png' width='140px;'>
|
|
149
149
|
</a>
|
|
150
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
150
|
+
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
|
151
151
|
</td>
|
|
152
|
-
<td id='
|
|
153
|
-
<a href='https://github.com/
|
|
154
|
-
<img src='https://github.com/
|
|
152
|
+
<td id='daniel-jankowski'>
|
|
153
|
+
<a href='https://github.com/mollyIV'>
|
|
154
|
+
<img src='https://github.com/mollyIV.png' width='140px;'>
|
|
155
155
|
</a>
|
|
156
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
156
|
+
<h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
|
|
157
157
|
</td>
|
|
158
|
-
<td id='
|
|
159
|
-
<a href='https://github.com/
|
|
160
|
-
<img src='https://github.com/
|
|
158
|
+
<td id='andrew-mcburney'>
|
|
159
|
+
<a href='https://github.com/armcburney'>
|
|
160
|
+
<img src='https://github.com/armcburney.png' width='140px;'>
|
|
161
161
|
</a>
|
|
162
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
162
|
+
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
|
163
163
|
</td>
|
|
164
164
|
</tr>
|
|
165
165
|
<tr>
|
|
166
|
-
<td id='
|
|
167
|
-
<a href='https://github.com/
|
|
168
|
-
<img src='https://github.com/
|
|
169
|
-
</a>
|
|
170
|
-
<h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
|
|
171
|
-
</td>
|
|
172
|
-
<td id='łukasz-grabowski'>
|
|
173
|
-
<a href='https://github.com/lucgrabowski'>
|
|
174
|
-
<img src='https://github.com/lucgrabowski.png' width='140px;'>
|
|
166
|
+
<td id='aaron-brager'>
|
|
167
|
+
<a href='https://github.com/getaaron'>
|
|
168
|
+
<img src='https://github.com/getaaron.png' width='140px;'>
|
|
175
169
|
</a>
|
|
176
|
-
<h4 align='center'
|
|
170
|
+
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
|
177
171
|
</td>
|
|
178
|
-
<td id='
|
|
179
|
-
<a href='https://github.com/
|
|
180
|
-
<img src='https://github.com/
|
|
172
|
+
<td id='jérôme-lacoste'>
|
|
173
|
+
<a href='https://github.com/lacostej'>
|
|
174
|
+
<img src='https://github.com/lacostej.png' width='140px;'>
|
|
181
175
|
</a>
|
|
182
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
176
|
+
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
|
183
177
|
</td>
|
|
184
178
|
<td id='joshua-liebowitz'>
|
|
185
179
|
<a href='https://github.com/taquitos'>
|
|
@@ -187,19 +181,25 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
187
181
|
</a>
|
|
188
182
|
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
|
189
183
|
</td>
|
|
190
|
-
<td id='
|
|
191
|
-
<a href='https://github.com/
|
|
192
|
-
<img src='https://github.com/
|
|
184
|
+
<td id='łukasz-grabowski'>
|
|
185
|
+
<a href='https://github.com/lucgrabowski'>
|
|
186
|
+
<img src='https://github.com/lucgrabowski.png' width='140px;'>
|
|
193
187
|
</a>
|
|
194
|
-
<h4 align='center'
|
|
188
|
+
<h4 align='center'>Łukasz Grabowski</h4>
|
|
189
|
+
</td>
|
|
190
|
+
<td id='iulian-onofrei'>
|
|
191
|
+
<a href='https://github.com/revolter'>
|
|
192
|
+
<img src='https://github.com/revolter.png' width='140px;'>
|
|
193
|
+
</a>
|
|
194
|
+
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
|
195
195
|
</td>
|
|
196
196
|
</tr>
|
|
197
197
|
<tr>
|
|
198
|
-
<td id='
|
|
199
|
-
<a href='https://github.com/
|
|
200
|
-
<img src='https://github.com/
|
|
198
|
+
<td id='manu-wallner'>
|
|
199
|
+
<a href='https://github.com/milch'>
|
|
200
|
+
<img src='https://github.com/milch.png' width='140px;'>
|
|
201
201
|
</a>
|
|
202
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
202
|
+
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
|
203
203
|
</td>
|
|
204
204
|
</table>
|
|
205
205
|
|
|
@@ -63,7 +63,7 @@ module Fastlane
|
|
|
63
63
|
[
|
|
64
64
|
FastlaneCore::ConfigItem.new(key: :dark,
|
|
65
65
|
env_name: "FL_BADGE_DARK",
|
|
66
|
-
description: "Adds a dark flavored badge
|
|
66
|
+
description: "Adds a dark flavored badge on top of your icon",
|
|
67
67
|
optional: true,
|
|
68
68
|
type: Boolean,
|
|
69
69
|
verify_block: proc do |value|
|
|
@@ -158,7 +158,7 @@ module Fastlane
|
|
|
158
158
|
[
|
|
159
159
|
FastlaneCore::ConfigItem.new(key: :xcodeproj,
|
|
160
160
|
env_name: "FL_VERSION_NUMBER_PROJECT",
|
|
161
|
-
description: "Path to the Xcode project to read version number from, or its containing directory, optional. If
|
|
161
|
+
description: "Path to the Xcode project to read version number from, or its containing directory, optional. If omitted, or if a directory is passed instead, it will use the first Xcode project found within the given directory, or the project root directory if none is passed",
|
|
162
162
|
optional: true,
|
|
163
163
|
verify_block: proc do |value|
|
|
164
164
|
UI.user_error!("Please pass the path to the project or its containing directory, not the workspace path") if value.end_with?(".xcworkspace")
|
|
@@ -2,22 +2,20 @@ module Fastlane
|
|
|
2
2
|
module Actions
|
|
3
3
|
class GitCommitAction < Action
|
|
4
4
|
def self.run(params)
|
|
5
|
-
paths = params[:path]
|
|
6
|
-
|
|
7
|
-
skip_git_hooks = params[:skip_git_hooks] ? '--no-verify' : ''
|
|
5
|
+
paths = params[:path]
|
|
6
|
+
skip_git_hooks = params[:skip_git_hooks] ? ['--no-verify'] : []
|
|
8
7
|
|
|
9
8
|
if params[:allow_nothing_to_commit]
|
|
10
9
|
# Here we check if the path passed in parameter contains any modification
|
|
11
10
|
# and we skip the `git commit` command if there is none.
|
|
12
11
|
# That means you can have other files modified that are not in the path parameter
|
|
13
12
|
# and still make use of allow_nothing_to_commit.
|
|
14
|
-
repo_clean = Actions.sh(
|
|
13
|
+
repo_clean = Actions.sh('git', 'status', *paths, '--porcelain').empty?
|
|
15
14
|
UI.success("Nothing to commit, working tree clean ✅.") if repo_clean
|
|
16
15
|
return if repo_clean
|
|
17
16
|
end
|
|
18
17
|
|
|
19
|
-
|
|
20
|
-
result = Actions.sh(command)
|
|
18
|
+
result = Actions.sh('git', 'commit', '-m', params[:message], *paths, *skip_git_hooks)
|
|
21
19
|
UI.success("Successfully committed \"#{params[:path]}\" 💾.")
|
|
22
20
|
return result
|
|
23
21
|
end
|
|
@@ -36,7 +36,8 @@ module Fastlane
|
|
|
36
36
|
# do not use "include" as it may be some where in the commandline where "env" is required, therefore explicit index->0
|
|
37
37
|
unless ARGV[0] == "env" || CLIToolsDistributor.running_version_command? || CLIToolsDistributor.running_help_command?
|
|
38
38
|
# *after* loading the plugins
|
|
39
|
-
|
|
39
|
+
hide_plugins_table = FastlaneCore::Env.truthy?("FASTLANE_HIDE_PLUGINS_TABLE")
|
|
40
|
+
Fastlane.plugin_manager.load_plugins(print_table: !hide_plugins_table)
|
|
40
41
|
Fastlane::PluginUpdateManager.start_looking_for_updates
|
|
41
42
|
end
|
|
42
43
|
self.new.run
|
|
@@ -1111,7 +1111,7 @@ public func backupXcarchive(xcarchive: String,
|
|
|
1111
1111
|
Automatically add a badge to your app icon
|
|
1112
1112
|
|
|
1113
1113
|
- parameters:
|
|
1114
|
-
- dark: Adds a dark flavored badge
|
|
1114
|
+
- dark: Adds a dark flavored badge on top of your icon
|
|
1115
1115
|
- custom: Add your custom overlay/badge image
|
|
1116
1116
|
- noBadge: Hides the beta badge
|
|
1117
1117
|
- shield: Add a shield to your app icon from shields.io
|
|
@@ -5110,7 +5110,7 @@ public func getPushCertificate(platform: String = "ios",
|
|
|
5110
5110
|
Get the version number of your project
|
|
5111
5111
|
|
|
5112
5112
|
- parameters:
|
|
5113
|
-
- xcodeproj: Path to the Xcode project to read version number from, or its containing directory, optional. If
|
|
5113
|
+
- xcodeproj: Path to the Xcode project to read version number from, or its containing directory, optional. If omitted, or if a directory is passed instead, it will use the first Xcode project found within the given directory, or the project root directory if none is passed
|
|
5114
5114
|
- target: Target name, optional. Will be needed if you have more than one non-test target to avoid being prompted to select one
|
|
5115
5115
|
- configuration: Configuration name, optional. Will be needed if you have altered the configurations from the default or your version number depends on the configuration selected
|
|
5116
5116
|
|
|
@@ -11464,7 +11464,7 @@ public func testflight(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefau
|
|
|
11464
11464
|
- parameters:
|
|
11465
11465
|
- path: Path to the directory that should be converted
|
|
11466
11466
|
- extension: The extension for the newly created file. Usually .xml or .junit
|
|
11467
|
-
- outputDirectory:
|
|
11467
|
+
- outputDirectory: Directory in which the xml files should be written to. Same directory as source by default
|
|
11468
11468
|
- outputFilename: Filename the xml file should be written to. Defaults to name of input file. (Only works if one input file is used)
|
|
11469
11469
|
- failBuild: Should this step stop the build if the tests fail? Set this to false if you're handling this with a test reporter
|
|
11470
11470
|
- xcprettyNaming: Produces class name and test name identical to xcpretty naming in junit file
|
|
@@ -13430,4 +13430,4 @@ public let snapshotfile: Snapshotfile = .init()
|
|
|
13430
13430
|
|
|
13431
13431
|
// Please don't remove the lines below
|
|
13432
13432
|
// They are used to detect outdated files
|
|
13433
|
-
// FastlaneRunnerAPIVersion [0.9.
|
|
13433
|
+
// FastlaneRunnerAPIVersion [0.9.153]
|
|
@@ -206,7 +206,7 @@ class SocketClient: NSObject {
|
|
|
206
206
|
extension SocketClient: StreamDelegate {
|
|
207
207
|
func stream(_ aStream: Stream, handle eventCode: Stream.Event) {
|
|
208
208
|
guard !cleaningUpAfterDone else {
|
|
209
|
-
// Still getting response from server
|
|
209
|
+
// Still getting response from server even though we are done.
|
|
210
210
|
// No big deal, we're closing the streams anyway.
|
|
211
211
|
// That being said, we need to balance out the dispatchGroups
|
|
212
212
|
dispatchGroup.leave()
|
|
@@ -244,7 +244,7 @@ extension SocketClient: StreamDelegate {
|
|
|
244
244
|
|
|
245
245
|
case Stream.Event.errorOccurred:
|
|
246
246
|
// probably safe to close all the things because Ruby already disconnected
|
|
247
|
-
verbose(message: "output stream
|
|
247
|
+
verbose(message: "output stream received error")
|
|
248
248
|
|
|
249
249
|
case Stream.Event.endEncountered:
|
|
250
250
|
// nothing special here
|
|
@@ -2,35 +2,35 @@
|
|
|
2
2
|
"entries": {
|
|
3
3
|
"brew": {
|
|
4
4
|
"swiftformat": {
|
|
5
|
-
"version": "0.49.
|
|
5
|
+
"version": "0.49.6",
|
|
6
6
|
"bottle": {
|
|
7
7
|
"rebuild": 0,
|
|
8
8
|
"root_url": "https://ghcr.io/v2/homebrew/core",
|
|
9
9
|
"files": {
|
|
10
10
|
"arm64_monterey": {
|
|
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:0e8e1fe019fd98a5cb6d75e31130eedcb65546693eb385a06948b940da7125d3",
|
|
13
|
+
"sha256": "0e8e1fe019fd98a5cb6d75e31130eedcb65546693eb385a06948b940da7125d3"
|
|
14
14
|
},
|
|
15
15
|
"arm64_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:916c5eaf7600aa9a6bf7fc4d3998b1b165b5b354de260ce6e13bbc4ff3167ff1",
|
|
18
|
+
"sha256": "916c5eaf7600aa9a6bf7fc4d3998b1b165b5b354de260ce6e13bbc4ff3167ff1"
|
|
19
19
|
},
|
|
20
20
|
"monterey": {
|
|
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:8ddd11b5e105b148b8919e9c44d851e845e9c31ed7cf8a9b92b2369bd0df98d5",
|
|
23
|
+
"sha256": "8ddd11b5e105b148b8919e9c44d851e845e9c31ed7cf8a9b92b2369bd0df98d5"
|
|
24
24
|
},
|
|
25
25
|
"big_sur": {
|
|
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:c1fd4ae18452ea62e6d33ca0554fa4df5f646a22abffe7f5d489c397945b7ea9",
|
|
28
|
+
"sha256": "c1fd4ae18452ea62e6d33ca0554fa4df5f646a22abffe7f5d489c397945b7ea9"
|
|
29
29
|
},
|
|
30
30
|
"catalina": {
|
|
31
31
|
"cellar": ":any_skip_relocation",
|
|
32
|
-
"url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:
|
|
33
|
-
"sha256": "
|
|
32
|
+
"url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:f1ffad5c8bbfe80659f51b7cc54062c736fed1ff79b71b8f648d8e4552d8b752",
|
|
33
|
+
"sha256": "f1ffad5c8bbfe80659f51b7cc54062c736fed1ff79b71b8f648d8e4552d8b752"
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
}
|
|
@@ -56,12 +56,12 @@
|
|
|
56
56
|
"macOS": "11.0.1"
|
|
57
57
|
},
|
|
58
58
|
"monterey": {
|
|
59
|
-
"HOMEBREW_VERSION": "3.
|
|
59
|
+
"HOMEBREW_VERSION": "3.4.2",
|
|
60
60
|
"HOMEBREW_PREFIX": "/opt/homebrew",
|
|
61
|
-
"Homebrew/homebrew-core": "
|
|
61
|
+
"Homebrew/homebrew-core": "2bb93b970fc848684d530a8944751b5e93fdb7ed",
|
|
62
62
|
"CLT": "13.2.0.0.1.1638488800",
|
|
63
63
|
"Xcode": "13.2.1",
|
|
64
|
-
"macOS": "12.
|
|
64
|
+
"macOS": "12.2.1"
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
}
|
data/fastlane_core/README.md
CHANGED
|
@@ -23,6 +23,7 @@ You can hide the inline changelog by setting the `FASTLANE_HIDE_CHANGELOG` envir
|
|
|
23
23
|
|
|
24
24
|
- To hide timestamps in each row, set the `FASTLANE_HIDE_TIMESTAMP` environment variable to true.
|
|
25
25
|
- To disable output formatting, set the `FASTLANE_DISABLE_OUTPUT_FORMAT` environment variable to true.
|
|
26
|
+
- To prevent _fastlane_ from printing the plugins table on every lane run, set the `FASTLANE_HIDE_PLUGINS_TABLE` environment variable to true.
|
|
26
27
|
|
|
27
28
|
## Interacting with the user
|
|
28
29
|
|
|
@@ -135,7 +135,7 @@ module Match
|
|
|
135
135
|
UI.crash!("Error encrypting '#{path}'")
|
|
136
136
|
end
|
|
137
137
|
|
|
138
|
-
# The encryption parameters in this implementations reflect the old
|
|
138
|
+
# The encryption parameters in this implementations reflect the old behavior which depended on the users' local OpenSSL version
|
|
139
139
|
# 1.0.x OpenSSL and earlier versions use MD5, 1.1.0c and newer uses SHA256, we try both before giving an error
|
|
140
140
|
def decrypt_specific_file(path: nil, password: nil, hash_algorithm: "MD5")
|
|
141
141
|
stored_data = Base64.decode64(File.read(path))
|
|
@@ -402,8 +402,8 @@ module Pilot
|
|
|
402
402
|
return generic_transporter unless tunes_client.teams.count > 1
|
|
403
403
|
|
|
404
404
|
begin
|
|
405
|
-
team = tunes_client.teams.find { |t| t['
|
|
406
|
-
name = team['
|
|
405
|
+
team = tunes_client.teams.find { |t| t['providerId'].to_s == tunes_client.team_id }
|
|
406
|
+
name = team['name']
|
|
407
407
|
provider_id = generic_transporter.provider_ids[name]
|
|
408
408
|
UI.verbose("Inferred provider id #{provider_id} for team #{name}.")
|
|
409
409
|
return FastlaneCore::ItunesTransporter.new(options[:username], nil, false, provider_id)
|
|
Binary file
|
|
@@ -70,10 +70,10 @@ module Spaceship
|
|
|
70
70
|
|
|
71
71
|
# @return (Array) A list of all available teams
|
|
72
72
|
def teams
|
|
73
|
-
user_details_data['
|
|
73
|
+
user_details_data['availableProviders'].sort_by do |team|
|
|
74
74
|
[
|
|
75
|
-
team['
|
|
76
|
-
team['
|
|
75
|
+
team['name'],
|
|
76
|
+
team['providerId']
|
|
77
77
|
]
|
|
78
78
|
end
|
|
79
79
|
end
|
|
@@ -124,8 +124,8 @@ module Spaceship
|
|
|
124
124
|
# "userName"=>"detlef@krausefx.com"}
|
|
125
125
|
def user_details_data
|
|
126
126
|
return @_cached_user_details if @_cached_user_details
|
|
127
|
-
r = request(:get,
|
|
128
|
-
@_cached_user_details = parse_response(r
|
|
127
|
+
r = request(:get, "https://appstoreconnect.apple.com/olympus/v1/session")
|
|
128
|
+
@_cached_user_details = parse_response(r)
|
|
129
129
|
end
|
|
130
130
|
|
|
131
131
|
# @return (String) The currently selected Team ID
|
|
@@ -135,7 +135,7 @@ module Spaceship
|
|
|
135
135
|
if teams.count > 1
|
|
136
136
|
puts("The current user is in #{teams.count} teams. Pass a team ID or call `select_team` to choose a team. Using the first one for now.")
|
|
137
137
|
end
|
|
138
|
-
@current_team_id ||= user_details_data['
|
|
138
|
+
@current_team_id ||= user_details_data['provider']['providerId']
|
|
139
139
|
end
|
|
140
140
|
|
|
141
141
|
# Set a new team ID which will be used from now on
|
|
@@ -144,12 +144,11 @@ module Spaceship
|
|
|
144
144
|
# following confusing error message
|
|
145
145
|
#
|
|
146
146
|
# invalid content provider id
|
|
147
|
-
#
|
|
148
147
|
available_teams = teams.collect do |team|
|
|
149
148
|
{
|
|
150
|
-
team_id:
|
|
151
|
-
public_team_id:
|
|
152
|
-
team_name:
|
|
149
|
+
team_id: team["providerId"],
|
|
150
|
+
public_team_id: team["publicProviderId"],
|
|
151
|
+
team_name: team["name"]
|
|
153
152
|
}
|
|
154
153
|
end
|
|
155
154
|
|
|
@@ -163,21 +162,10 @@ module Spaceship
|
|
|
163
162
|
end
|
|
164
163
|
|
|
165
164
|
response = request(:post) do |req|
|
|
166
|
-
req.url("https://appstoreconnect.apple.com/olympus/v1/
|
|
167
|
-
req.body = {
|
|
168
|
-
"data": {
|
|
169
|
-
"type": "providerSwitchRequests",
|
|
170
|
-
"relationships": {
|
|
171
|
-
"provider": {
|
|
172
|
-
"data": {
|
|
173
|
-
"type": "providers",
|
|
174
|
-
"id": result[:public_team_id]
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
}.to_json
|
|
165
|
+
req.url("https://appstoreconnect.apple.com/olympus/v1/session")
|
|
166
|
+
req.body = { "provider": { "providerId": result[:team_id] } }.to_json
|
|
180
167
|
req.headers['Content-Type'] = 'application/json'
|
|
168
|
+
req.headers['X-Requested-With'] = 'olympus-ui'
|
|
181
169
|
end
|
|
182
170
|
|
|
183
171
|
handle_itc_response(response.body)
|
|
@@ -546,7 +534,7 @@ module Spaceship
|
|
|
546
534
|
raise AppleIDAndPrivacyAcknowledgementNeeded.new, "Need to acknowledge to Apple's Apple ID and Privacy statement. " \
|
|
547
535
|
"Please manually log into https://appleid.apple.com (or https://appstoreconnect.apple.com) to acknowledge the statement. " \
|
|
548
536
|
"Your account might also be asked to upgrade to 2FA. " \
|
|
549
|
-
"Set SPACESHIP_SKIP_2FA_UPGRADE=1 for fastlane to
|
|
537
|
+
"Set SPACESHIP_SKIP_2FA_UPGRADE=1 for fastlane to automatically bypass 2FA upgrade if possible."
|
|
550
538
|
elsif (response['Set-Cookie'] || "").include?("itctx")
|
|
551
539
|
raise "Looks like your Apple ID is not enabled for App Store Connect, make sure to be able to login online"
|
|
552
540
|
else
|
|
Binary file
|
|
Binary file
|
|
@@ -436,7 +436,8 @@ module Spaceship
|
|
|
436
436
|
filter = {
|
|
437
437
|
state: [
|
|
438
438
|
Spaceship::ConnectAPI::ReviewSubmission::ReviewSubmissionState::WAITING_FOR_REVIEW,
|
|
439
|
-
Spaceship::ConnectAPI::ReviewSubmission::ReviewSubmissionState::IN_REVIEW
|
|
439
|
+
Spaceship::ConnectAPI::ReviewSubmission::ReviewSubmissionState::IN_REVIEW,
|
|
440
|
+
Spaceship::ConnectAPI::ReviewSubmission::ReviewSubmissionState::UNRESOLVED_ISSUES
|
|
440
441
|
].join(","),
|
|
441
442
|
platform: platform
|
|
442
443
|
}
|
|
Binary file
|
|
@@ -8,22 +8,22 @@ module Spaceship
|
|
|
8
8
|
# this version is for
|
|
9
9
|
attr_accessor :application
|
|
10
10
|
|
|
11
|
-
# @return (Integer) total number of ratings
|
|
11
|
+
# @return (Integer) total number of ratings received
|
|
12
12
|
attr_accessor :rating_count
|
|
13
13
|
|
|
14
|
-
# @return (Integer) total number of one star ratings
|
|
14
|
+
# @return (Integer) total number of one star ratings received
|
|
15
15
|
attr_accessor :one_star_rating_count
|
|
16
16
|
|
|
17
|
-
# @return (Integer) total number of two star ratings
|
|
17
|
+
# @return (Integer) total number of two star ratings received
|
|
18
18
|
attr_accessor :two_star_rating_count
|
|
19
19
|
|
|
20
|
-
# @return (Integer) total number of three star ratings
|
|
20
|
+
# @return (Integer) total number of three star ratings received
|
|
21
21
|
attr_accessor :three_star_rating_count
|
|
22
22
|
|
|
23
|
-
# @return (Integer) total number of four star ratings
|
|
23
|
+
# @return (Integer) total number of four star ratings received
|
|
24
24
|
attr_accessor :four_star_rating_count
|
|
25
25
|
|
|
26
|
-
# @return (Integer) total number of five star ratings
|
|
26
|
+
# @return (Integer) total number of five star ratings received
|
|
27
27
|
attr_accessor :five_star_rating_count
|
|
28
28
|
|
|
29
29
|
attr_mapping({
|
|
@@ -7,7 +7,7 @@ module Spaceship
|
|
|
7
7
|
attr_accessor :application
|
|
8
8
|
|
|
9
9
|
# Create a new Purchase Family
|
|
10
|
-
# a freshly created family has to have
|
|
10
|
+
# a freshly created family has to have at least one product.
|
|
11
11
|
# the product will be created, and versions/pricing_intervals and so on
|
|
12
12
|
# should be set by subsequent edit.
|
|
13
13
|
# @param name (String) Familyname
|
|
@@ -14,7 +14,6 @@ require_relative 'app_version_ref'
|
|
|
14
14
|
require_relative 'app_version_history'
|
|
15
15
|
require_relative 'app_version_states_history'
|
|
16
16
|
require_relative 'transit_app_file'
|
|
17
|
-
require_relative 'user_detail'
|
|
18
17
|
require_relative 'app_screenshot'
|
|
19
18
|
require_relative 'language_converter'
|
|
20
19
|
require_relative 'build'
|
|
@@ -9,7 +9,6 @@ require_relative 'errors'
|
|
|
9
9
|
require_relative 'iap_subscription_pricing_tier'
|
|
10
10
|
require_relative 'pricing_tier'
|
|
11
11
|
require_relative 'territory'
|
|
12
|
-
require_relative 'user_detail'
|
|
13
12
|
module Spaceship
|
|
14
13
|
# rubocop:disable Metrics/ClassLength
|
|
15
14
|
class TunesClient < Spaceship::Client
|
|
@@ -72,13 +71,13 @@ module Spaceship
|
|
|
72
71
|
puts("Looking for App Store Connect Team with name #{t_name}") if Spaceship::Globals.verbose?
|
|
73
72
|
|
|
74
73
|
teams.each do |t|
|
|
75
|
-
t_id = t['
|
|
74
|
+
t_id = t['providerId'].to_s if t['name'].casecmp(t_name).zero?
|
|
76
75
|
end
|
|
77
76
|
|
|
78
77
|
puts("Could not find team with name '#{t_name}', trying to fallback to default team") if t_id.length.zero?
|
|
79
78
|
end
|
|
80
79
|
|
|
81
|
-
t_id = teams.first['
|
|
80
|
+
t_id = teams.first['providerId'].to_s if teams.count == 1
|
|
82
81
|
|
|
83
82
|
if t_id.length > 0
|
|
84
83
|
puts("Looking for App Store Connect Team with ID #{t_id}") if Spaceship::Globals.verbose?
|
|
@@ -950,13 +949,6 @@ module Spaceship
|
|
|
950
949
|
Spaceship::Tunes::AppVersionRef.factory(data)
|
|
951
950
|
end
|
|
952
951
|
|
|
953
|
-
# Fetches the User Detail information from ITC. This gets called often and almost never changes
|
|
954
|
-
# so we cache it
|
|
955
|
-
# @return [UserDetail] the response
|
|
956
|
-
def user_detail_data
|
|
957
|
-
@_cached_user_detail_data ||= Spaceship::Tunes::UserDetail.factory(user_details_data, self)
|
|
958
|
-
end
|
|
959
|
-
|
|
960
952
|
#####################################################
|
|
961
953
|
# @!group CandiateBuilds
|
|
962
954
|
#####################################################
|
|
@@ -1582,9 +1574,14 @@ module Spaceship
|
|
|
1582
1574
|
@sso_token_for_video = nil
|
|
1583
1575
|
end
|
|
1584
1576
|
|
|
1585
|
-
# the
|
|
1577
|
+
# the contentProviderId found in the user details data
|
|
1586
1578
|
def content_provider_id
|
|
1587
|
-
@content_provider_id
|
|
1579
|
+
return @content_provider_id if @content_provider_id
|
|
1580
|
+
|
|
1581
|
+
provider = user_details_data["provider"]["providerId"]
|
|
1582
|
+
@content_provider_id ||= provider.to_s if provider
|
|
1583
|
+
|
|
1584
|
+
return @content_provider_id
|
|
1588
1585
|
end
|
|
1589
1586
|
|
|
1590
1587
|
# the ssoTokenForImage found in the AppVersionRef instance
|
data/supply/lib/supply/client.rb
CHANGED
|
@@ -266,14 +266,9 @@ module Supply
|
|
|
266
266
|
filtered_tracks = tracks.select { |t| !t.releases.nil? && t.releases.any? { |r| r.name == version } }
|
|
267
267
|
|
|
268
268
|
if filtered_tracks.length > 1
|
|
269
|
-
#
|
|
269
|
+
# Prefer tracks in production, beta, alpha, internal order
|
|
270
270
|
# E.g.: A release might've been promoted from Alpha/Beta track. This means the release will be present in two or more tracks
|
|
271
|
-
|
|
272
|
-
filtered_tracks = filtered_tracks.select { |t| t.track == Supply::Tracks::DEFAULT }
|
|
273
|
-
else
|
|
274
|
-
# E.g.: A release might be in both Alpha & Beta (not sure if this is possible, just catching if it ever happens), giving Beta precedence.
|
|
275
|
-
filtered_tracks = filtered_tracks.select { |t| t.track == Supply::Tracks::BETA }
|
|
276
|
-
end
|
|
271
|
+
filtered_tracks = filtered_tracks.sort_by { |t| Supply::Tracks::DEFAULTS.index(t.track) || Float::INFINITY }
|
|
277
272
|
end
|
|
278
273
|
|
|
279
274
|
filtered_track = filtered_tracks.first
|
|
@@ -7,6 +7,11 @@
|
|
|
7
7
|
<testsuites tests="<%= number_of_tests %>" failures="<%= number_of_failures %>">
|
|
8
8
|
<% @results.each do |testsuite| %>
|
|
9
9
|
<testsuite name=<%= (testsuite[:target_name].nil? ? testsuite[:test_name] : testsuite[:target_name]).encode(:xml => :attr) %> tests="<%= testsuite[:number_of_tests_excluding_retries] %>" failures="<%= testsuite[:number_of_failures_excluding_retries] %>" <% if testsuite[:number_of_skipped] %>skipped="<%= testsuite[:number_of_skipped] %>" <% end %>time="<%= testsuite[:duration] %>">
|
|
10
|
+
<% unless testsuite[:configuration_name].nil? %>
|
|
11
|
+
<properties>
|
|
12
|
+
<property name="Configuration" value="<%= testsuite[:configuration_name] %>"/>
|
|
13
|
+
</properties>
|
|
14
|
+
<% end %>
|
|
10
15
|
<% testsuite[:tests].each do |test| %>
|
|
11
16
|
<testcase classname=<%= test[:test_group].encode(:xml => :attr) %> name=<%= test[:name].encode(:xml => :attr) %> time="<%= test[:duration] %>">
|
|
12
17
|
<% (test[:failures] || []).each do |failure| %>
|
|
@@ -15,7 +20,7 @@
|
|
|
15
20
|
<% end %>
|
|
16
21
|
<% if test[:skipped] %>
|
|
17
22
|
<skipped/>
|
|
18
|
-
<% end%>
|
|
23
|
+
<% end %>
|
|
19
24
|
</testcase>
|
|
20
25
|
<% end %>
|
|
21
26
|
</testsuite>
|
|
@@ -19,7 +19,7 @@ module Trainer
|
|
|
19
19
|
|
|
20
20
|
xml = xml.gsub('system_', 'system-').delete("\e") # Jenkins can not parse 'ESC' symbol
|
|
21
21
|
|
|
22
|
-
# We have to
|
|
22
|
+
# We have to manually clear empty lines
|
|
23
23
|
# They may contain white spaces
|
|
24
24
|
clean_xml = []
|
|
25
25
|
xml.each_line do |row|
|
|
@@ -32,7 +32,7 @@ module Trainer
|
|
|
32
32
|
env_name: "TRAINER_OUTPUT_DIRECTORY",
|
|
33
33
|
default_value: nil,
|
|
34
34
|
optional: true,
|
|
35
|
-
description: "
|
|
35
|
+
description: "Directory in which the xml files should be written to. Same directory as source by default"),
|
|
36
36
|
FastlaneCore::ConfigItem.new(key: :output_filename,
|
|
37
37
|
short_option: "-f",
|
|
38
38
|
env_name: "TRAINER_OUTPUT_FILENAME",
|
|
@@ -230,6 +230,8 @@ module Trainer
|
|
|
230
230
|
all_summaries = summaries.map(&:summaries).flatten
|
|
231
231
|
testable_summaries = all_summaries.map(&:testable_summaries).flatten
|
|
232
232
|
|
|
233
|
+
summaries_to_names = test_summaries_to_configuration_names(all_summaries)
|
|
234
|
+
|
|
233
235
|
# Maps ActionTestableSummary to rows for junit generator
|
|
234
236
|
rows = testable_summaries.map do |testable_summary|
|
|
235
237
|
all_tests = testable_summary.all_tests.flatten
|
|
@@ -317,6 +319,7 @@ module Trainer
|
|
|
317
319
|
project_path: testable_summary.project_relative_path,
|
|
318
320
|
target_name: testable_summary.target_name,
|
|
319
321
|
test_name: testable_summary.name,
|
|
322
|
+
configuration_name: summaries_to_names[testable_summary],
|
|
320
323
|
duration: all_tests.map(&:duration).inject(:+),
|
|
321
324
|
tests: test_rows
|
|
322
325
|
}
|
|
@@ -337,6 +340,16 @@ module Trainer
|
|
|
337
340
|
self.data = rows
|
|
338
341
|
end
|
|
339
342
|
|
|
343
|
+
def test_summaries_to_configuration_names(test_summaries)
|
|
344
|
+
summary_to_name = {}
|
|
345
|
+
test_summaries.each do |summary|
|
|
346
|
+
summary.testable_summaries.each do |testable_summary|
|
|
347
|
+
summary_to_name[testable_summary] = summary.name
|
|
348
|
+
end
|
|
349
|
+
end
|
|
350
|
+
summary_to_name
|
|
351
|
+
end
|
|
352
|
+
|
|
340
353
|
# Convert the Hashes and Arrays in something more useful
|
|
341
354
|
def parse_content(xcpretty_naming)
|
|
342
355
|
self.data = self.raw_json["TestableSummaries"].collect do |testable_summary|
|
metadata
CHANGED
|
@@ -1,39 +1,39 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: fastlane
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.205.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
|
-
-
|
|
8
|
-
-
|
|
7
|
+
- Łukasz Grabowski
|
|
8
|
+
- Luka Mirosevic
|
|
9
|
+
- Max Ott
|
|
9
10
|
- Danielle Tomlinson
|
|
10
|
-
-
|
|
11
|
+
- Andrew McBurney
|
|
11
12
|
- Jérôme Lacoste
|
|
13
|
+
- Manu Wallner
|
|
14
|
+
- Stefan Natchev
|
|
12
15
|
- Josh Holtz
|
|
13
|
-
- Joshua Liebowitz
|
|
14
|
-
- Felix Krause
|
|
15
|
-
- Aaron Brager
|
|
16
|
-
- Łukasz Grabowski
|
|
17
16
|
- Fumiya Nakamura
|
|
18
|
-
-
|
|
17
|
+
- Helmut Januschka
|
|
19
18
|
- Jimmy Dee
|
|
20
|
-
- Manish Rathi
|
|
21
|
-
- Kohki Miki
|
|
22
|
-
- Daniel Jankowski
|
|
23
19
|
- Maksym Grebenets
|
|
24
|
-
-
|
|
20
|
+
- Daniel Jankowski
|
|
21
|
+
- Roger Oba
|
|
22
|
+
- Jorge Revuelta H
|
|
23
|
+
- Iulian Onofrei
|
|
24
|
+
- Aaron Brager
|
|
25
25
|
- Satoshi Namai
|
|
26
|
-
- Max Ott
|
|
27
|
-
- Matthew Ellis
|
|
28
|
-
- Luka Mirosevic
|
|
29
26
|
- Jan Piotrowski
|
|
30
27
|
- Olivier Halligon
|
|
31
|
-
-
|
|
32
|
-
-
|
|
28
|
+
- Matthew Ellis
|
|
29
|
+
- Joshua Liebowitz
|
|
30
|
+
- Felix Krause
|
|
31
|
+
- Manish Rathi
|
|
32
|
+
- Kohki Miki
|
|
33
33
|
autorequire:
|
|
34
34
|
bindir: bin
|
|
35
35
|
cert_chain: []
|
|
36
|
-
date: 2022-
|
|
36
|
+
date: 2022-03-18 00:00:00.000000000 Z
|
|
37
37
|
dependencies:
|
|
38
38
|
- !ruby/object:Gem::Dependency
|
|
39
39
|
name: xcodeproj
|
|
@@ -1653,14 +1653,18 @@ files:
|
|
|
1653
1653
|
- spaceship/lib/assets/languageMapping.json
|
|
1654
1654
|
- spaceship/lib/assets/languageMappingReadable.json
|
|
1655
1655
|
- spaceship/lib/spaceship.rb
|
|
1656
|
+
- spaceship/lib/spaceship/.client.rb.swp
|
|
1656
1657
|
- spaceship/lib/spaceship/base.rb
|
|
1657
1658
|
- spaceship/lib/spaceship/client.rb
|
|
1658
1659
|
- spaceship/lib/spaceship/commands_generator.rb
|
|
1659
1660
|
- spaceship/lib/spaceship/connect_api.rb
|
|
1661
|
+
- spaceship/lib/spaceship/connect_api/.response.rb.swp
|
|
1660
1662
|
- spaceship/lib/spaceship/connect_api/api_client.rb
|
|
1661
1663
|
- spaceship/lib/spaceship/connect_api/client.rb
|
|
1662
1664
|
- spaceship/lib/spaceship/connect_api/file_uploader.rb
|
|
1663
1665
|
- spaceship/lib/spaceship/connect_api/model.rb
|
|
1666
|
+
- spaceship/lib/spaceship/connect_api/models/.app.rb.swp
|
|
1667
|
+
- spaceship/lib/spaceship/connect_api/models/.review_submission.rb.swp
|
|
1664
1668
|
- spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb
|
|
1665
1669
|
- spaceship/lib/spaceship/connect_api/models/app.rb
|
|
1666
1670
|
- spaceship/lib/spaceship/connect_api/models/app_category.rb
|
|
@@ -1776,6 +1780,7 @@ files:
|
|
|
1776
1780
|
- spaceship/lib/spaceship/test_flight/group.rb
|
|
1777
1781
|
- spaceship/lib/spaceship/test_flight/test_info.rb
|
|
1778
1782
|
- spaceship/lib/spaceship/test_flight/tester.rb
|
|
1783
|
+
- spaceship/lib/spaceship/tunes/.tunes_client.rb.swp
|
|
1779
1784
|
- spaceship/lib/spaceship/tunes/app_analytics.rb
|
|
1780
1785
|
- spaceship/lib/spaceship/tunes/app_details.rb
|
|
1781
1786
|
- spaceship/lib/spaceship/tunes/app_image.rb
|
|
@@ -1828,7 +1833,6 @@ files:
|
|
|
1828
1833
|
- spaceship/lib/spaceship/tunes/tunes.rb
|
|
1829
1834
|
- spaceship/lib/spaceship/tunes/tunes_base.rb
|
|
1830
1835
|
- spaceship/lib/spaceship/tunes/tunes_client.rb
|
|
1831
|
-
- spaceship/lib/spaceship/tunes/user_detail.rb
|
|
1832
1836
|
- spaceship/lib/spaceship/tunes/version_set.rb
|
|
1833
1837
|
- spaceship/lib/spaceship/two_step_or_factor_client.rb
|
|
1834
1838
|
- spaceship/lib/spaceship/ui.rb
|
|
@@ -1848,7 +1852,6 @@ files:
|
|
|
1848
1852
|
- trainer/lib/.DS_Store
|
|
1849
1853
|
- trainer/lib/assets/junit.xml.erb
|
|
1850
1854
|
- trainer/lib/trainer.rb
|
|
1851
|
-
- trainer/lib/trainer/.test_parser.rb.swp
|
|
1852
1855
|
- trainer/lib/trainer/commands_generator.rb
|
|
1853
1856
|
- trainer/lib/trainer/junit_generator.rb
|
|
1854
1857
|
- trainer/lib/trainer/module.rb
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
require_relative 'tunes_base'
|
|
2
|
-
|
|
3
|
-
module Spaceship
|
|
4
|
-
module Tunes
|
|
5
|
-
class UserDetail < TunesBase
|
|
6
|
-
attr_accessor :content_provider_id
|
|
7
|
-
attr_accessor :ds_id # used for the team selection (https://github.com/fastlane/fastlane/issues/6711)
|
|
8
|
-
|
|
9
|
-
attr_mapping(
|
|
10
|
-
'contentProviderId' => :content_provider_id,
|
|
11
|
-
'sessionToken.dsId' => :ds_id
|
|
12
|
-
)
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
end
|
|
Binary file
|