fastlane 2.207.0 → 2.208.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 +96 -96
- data/fastlane/lib/fastlane/actions/changelog_from_git_commits.rb +1 -1
- data/fastlane/lib/fastlane/actions/import_certificate.rb +1 -1
- data/fastlane/lib/fastlane/setup/setup_ios.rb +1 -1
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +1 -1
- data/fastlane/swift/Fastlane.swift +5 -5
- 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 +2 -2
- data/fastlane/swift/formatting/Brewfile.lock.json +15 -15
- data/fastlane_core/lib/fastlane_core/cert_checker.rb +7 -11
- data/fastlane_core/lib/fastlane_core/keychain_importer.rb +1 -0
- data/match/lib/match/runner.rb +6 -0
- data/match/lib/match/setup.rb +1 -1
- data/match/lib/match/storage/gitlab/client.rb +17 -1
- data/match/lib/match/storage/gitlab/secure_file.rb +1 -2
- data/match/lib/match/storage/gitlab_secure_files.rb +5 -2
- data/match/lib/match/table_printer.rb +2 -1
- data/match/lib/match/utils.rb +10 -2
- data/snapshot/lib/snapshot/options.rb +1 -1
- data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +4 -1
- data/spaceship/lib/spaceship/connect_api/response.rb +10 -6
- data/spaceship/lib/spaceship/tunes/.tunes_client.rb.swp +0 -0
- data/spaceship/lib/spaceship/tunes/tunes_client.rb +63 -2
- data/trainer/lib/trainer/junit_generator.rb +1 -1
- metadata +21 -24
- data/match/lib/match/.module.rb.swp +0 -0
- data/match/lib/match/.nuke.rb.swp +0 -0
- data/spaceship/lib/spaceship/connect_api/.response.rb.swp +0 -0
- data/spaceship/lib/spaceship/connect_api/models/.app.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: cfd35c12569450bf934a4c43012dbb80248a7411fd1e523ecd437da887cbff61
|
|
4
|
+
data.tar.gz: 8fe0ef2bcae204fd8b8eb5f13e1ec1795385d76cf7bcd909550130522f7edbf2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f2d2b72ecc903c7c4faed72fe24df7d55a9b2ad56aabc68f0b8c80bf11af4ca1a40c7b0ab77eb0977d80dae9204846a769f118e7caa8e3ac8e0a93700c87cb91
|
|
7
|
+
data.tar.gz: 9b524e9a9d80a0c5b2d2bd87f9577574a77b7a1543c61cde0f562fa406e61b72b711718dc5054e749da9c97cded3620bf94aff90194d1959392222f773bb3826
|
data/README.md
CHANGED
|
@@ -35,17 +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='max-ott'>
|
|
39
|
+
<a href='https://github.com/max-ott'>
|
|
40
|
+
<img src='https://github.com/max-ott.png' width='140px;'>
|
|
41
41
|
</a>
|
|
42
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
42
|
+
<h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
|
|
43
43
|
</td>
|
|
44
|
-
<td id='
|
|
45
|
-
<a href='https://github.com/
|
|
46
|
-
<img src='https://github.com/
|
|
44
|
+
<td id='felix-krause'>
|
|
45
|
+
<a href='https://github.com/KrauseFx'>
|
|
46
|
+
<img src='https://github.com/KrauseFx.png' width='140px;'>
|
|
47
47
|
</a>
|
|
48
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
48
|
+
<h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
|
|
49
|
+
</td>
|
|
50
|
+
<td id='jorge-revuelta-h'>
|
|
51
|
+
<a href='https://github.com/minuscorp'>
|
|
52
|
+
<img src='https://github.com/minuscorp.png' width='140px;'>
|
|
53
|
+
</a>
|
|
54
|
+
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
|
55
|
+
</td>
|
|
56
|
+
<td id='andrew-mcburney'>
|
|
57
|
+
<a href='https://github.com/armcburney'>
|
|
58
|
+
<img src='https://github.com/armcburney.png' width='140px;'>
|
|
59
|
+
</a>
|
|
60
|
+
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
|
61
|
+
</td>
|
|
62
|
+
<td id='olivier-halligon'>
|
|
63
|
+
<a href='https://github.com/AliSoftware'>
|
|
64
|
+
<img src='https://github.com/AliSoftware.png' width='140px;'>
|
|
65
|
+
</a>
|
|
66
|
+
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
|
67
|
+
</td>
|
|
68
|
+
</tr>
|
|
69
|
+
<tr>
|
|
70
|
+
<td id='jérôme-lacoste'>
|
|
71
|
+
<a href='https://github.com/lacostej'>
|
|
72
|
+
<img src='https://github.com/lacostej.png' width='140px;'>
|
|
73
|
+
</a>
|
|
74
|
+
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
|
75
|
+
</td>
|
|
76
|
+
<td id='iulian-onofrei'>
|
|
77
|
+
<a href='https://github.com/revolter'>
|
|
78
|
+
<img src='https://github.com/revolter.png' width='140px;'>
|
|
79
|
+
</a>
|
|
80
|
+
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
|
49
81
|
</td>
|
|
50
82
|
<td id='łukasz-grabowski'>
|
|
51
83
|
<a href='https://github.com/lucgrabowski'>
|
|
@@ -53,11 +85,11 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
53
85
|
</a>
|
|
54
86
|
<h4 align='center'>Łukasz Grabowski</h4>
|
|
55
87
|
</td>
|
|
56
|
-
<td id='
|
|
57
|
-
<a href='https://github.com/
|
|
58
|
-
<img src='https://github.com/
|
|
88
|
+
<td id='manish-rathi'>
|
|
89
|
+
<a href='https://github.com/crazymanish'>
|
|
90
|
+
<img src='https://github.com/crazymanish.png' width='140px;'>
|
|
59
91
|
</a>
|
|
60
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
92
|
+
<h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</a></h4>
|
|
61
93
|
</td>
|
|
62
94
|
<td id='daniel-jankowski'>
|
|
63
95
|
<a href='https://github.com/mollyIV'>
|
|
@@ -67,23 +99,29 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
67
99
|
</td>
|
|
68
100
|
</tr>
|
|
69
101
|
<tr>
|
|
70
|
-
<td id='
|
|
71
|
-
<a href='https://github.com/
|
|
72
|
-
<img src='https://github.com/
|
|
102
|
+
<td id='jimmy-dee'>
|
|
103
|
+
<a href='https://github.com/jdee'>
|
|
104
|
+
<img src='https://github.com/jdee.png' width='140px;'>
|
|
73
105
|
</a>
|
|
74
|
-
<h4 align='center'
|
|
106
|
+
<h4 align='center'>Jimmy Dee</h4>
|
|
75
107
|
</td>
|
|
76
|
-
<td id='
|
|
77
|
-
<a href='https://github.com/
|
|
78
|
-
<img src='https://github.com/
|
|
108
|
+
<td id='maksym-grebenets'>
|
|
109
|
+
<a href='https://github.com/mgrebenets'>
|
|
110
|
+
<img src='https://github.com/mgrebenets.png' width='140px;'>
|
|
79
111
|
</a>
|
|
80
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
112
|
+
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
|
81
113
|
</td>
|
|
82
|
-
<td id='
|
|
83
|
-
<a href='https://github.com/
|
|
84
|
-
<img src='https://github.com/
|
|
114
|
+
<td id='luka-mirosevic'>
|
|
115
|
+
<a href='https://github.com/lmirosevic'>
|
|
116
|
+
<img src='https://github.com/lmirosevic.png' width='140px;'>
|
|
85
117
|
</a>
|
|
86
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
118
|
+
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
|
119
|
+
</td>
|
|
120
|
+
<td id='matthew-ellis'>
|
|
121
|
+
<a href='https://github.com/matthewellis'>
|
|
122
|
+
<img src='https://github.com/matthewellis.png' width='140px;'>
|
|
123
|
+
</a>
|
|
124
|
+
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
|
87
125
|
</td>
|
|
88
126
|
<td id='joshua-liebowitz'>
|
|
89
127
|
<a href='https://github.com/taquitos'>
|
|
@@ -91,57 +129,51 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
91
129
|
</a>
|
|
92
130
|
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
|
93
131
|
</td>
|
|
132
|
+
</tr>
|
|
133
|
+
<tr>
|
|
94
134
|
<td id='roger-oba'>
|
|
95
135
|
<a href='https://github.com/rogerluan'>
|
|
96
136
|
<img src='https://github.com/rogerluan.png' width='140px;'>
|
|
97
137
|
</a>
|
|
98
138
|
<h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
|
|
99
139
|
</td>
|
|
100
|
-
|
|
101
|
-
<
|
|
102
|
-
<
|
|
103
|
-
<a href='https://github.com/snatchev'>
|
|
104
|
-
<img src='https://github.com/snatchev.png' width='140px;'>
|
|
105
|
-
</a>
|
|
106
|
-
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
|
107
|
-
</td>
|
|
108
|
-
<td id='olivier-halligon'>
|
|
109
|
-
<a href='https://github.com/AliSoftware'>
|
|
110
|
-
<img src='https://github.com/AliSoftware.png' width='140px;'>
|
|
140
|
+
<td id='fumiya-nakamura'>
|
|
141
|
+
<a href='https://github.com/nafu'>
|
|
142
|
+
<img src='https://github.com/nafu.png' width='140px;'>
|
|
111
143
|
</a>
|
|
112
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
144
|
+
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
|
|
113
145
|
</td>
|
|
114
|
-
<td id='
|
|
115
|
-
<a href='https://github.com/
|
|
116
|
-
<img src='https://github.com/
|
|
146
|
+
<td id='manu-wallner'>
|
|
147
|
+
<a href='https://github.com/milch'>
|
|
148
|
+
<img src='https://github.com/milch.png' width='140px;'>
|
|
117
149
|
</a>
|
|
118
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
150
|
+
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
|
119
151
|
</td>
|
|
120
|
-
<td id='
|
|
121
|
-
<a href='https://github.com/
|
|
122
|
-
<img src='https://github.com/
|
|
152
|
+
<td id='aaron-brager'>
|
|
153
|
+
<a href='https://github.com/getaaron'>
|
|
154
|
+
<img src='https://github.com/getaaron.png' width='140px;'>
|
|
123
155
|
</a>
|
|
124
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
156
|
+
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
|
125
157
|
</td>
|
|
126
|
-
<td id='
|
|
127
|
-
<a href='https://github.com/
|
|
128
|
-
<img src='https://github.com/
|
|
158
|
+
<td id='jan-piotrowski'>
|
|
159
|
+
<a href='https://github.com/janpio'>
|
|
160
|
+
<img src='https://github.com/janpio.png' width='140px;'>
|
|
129
161
|
</a>
|
|
130
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
162
|
+
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
|
131
163
|
</td>
|
|
132
164
|
</tr>
|
|
133
165
|
<tr>
|
|
134
|
-
<td id='
|
|
135
|
-
<a href='https://github.com/
|
|
136
|
-
<img src='https://github.com/
|
|
166
|
+
<td id='satoshi-namai'>
|
|
167
|
+
<a href='https://github.com/ainame'>
|
|
168
|
+
<img src='https://github.com/ainame.png' width='140px;'>
|
|
137
169
|
</a>
|
|
138
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
170
|
+
<h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
|
|
139
171
|
</td>
|
|
140
|
-
<td id='
|
|
141
|
-
<a href='https://github.com/
|
|
142
|
-
<img src='https://github.com/
|
|
172
|
+
<td id='danielle-tomlinson'>
|
|
173
|
+
<a href='https://github.com/endocrimes'>
|
|
174
|
+
<img src='https://github.com/endocrimes.png' width='140px;'>
|
|
143
175
|
</a>
|
|
144
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
176
|
+
<h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
|
|
145
177
|
</td>
|
|
146
178
|
<td id='kohki-miki'>
|
|
147
179
|
<a href='https://github.com/giginet'>
|
|
@@ -149,11 +181,11 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
149
181
|
</a>
|
|
150
182
|
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
|
151
183
|
</td>
|
|
152
|
-
<td id='
|
|
153
|
-
<a href='https://github.com/
|
|
154
|
-
<img src='https://github.com/
|
|
184
|
+
<td id='stefan-natchev'>
|
|
185
|
+
<a href='https://github.com/snatchev'>
|
|
186
|
+
<img src='https://github.com/snatchev.png' width='140px;'>
|
|
155
187
|
</a>
|
|
156
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
188
|
+
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
|
157
189
|
</td>
|
|
158
190
|
<td id='helmut-januschka'>
|
|
159
191
|
<a href='https://github.com/hjanuschka'>
|
|
@@ -163,43 +195,11 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
163
195
|
</td>
|
|
164
196
|
</tr>
|
|
165
197
|
<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/mgrebenets'>Maksym Grebenets</a></h4>
|
|
171
|
-
</td>
|
|
172
|
-
<td id='andrew-mcburney'>
|
|
173
|
-
<a href='https://github.com/armcburney'>
|
|
174
|
-
<img src='https://github.com/armcburney.png' width='140px;'>
|
|
175
|
-
</a>
|
|
176
|
-
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
|
177
|
-
</td>
|
|
178
|
-
<td id='jimmy-dee'>
|
|
179
|
-
<a href='https://github.com/jdee'>
|
|
180
|
-
<img src='https://github.com/jdee.png' width='140px;'>
|
|
181
|
-
</a>
|
|
182
|
-
<h4 align='center'>Jimmy Dee</h4>
|
|
183
|
-
</td>
|
|
184
|
-
<td id='max-ott'>
|
|
185
|
-
<a href='https://github.com/max-ott'>
|
|
186
|
-
<img src='https://github.com/max-ott.png' width='140px;'>
|
|
187
|
-
</a>
|
|
188
|
-
<h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
|
|
189
|
-
</td>
|
|
190
|
-
<td id='matthew-ellis'>
|
|
191
|
-
<a href='https://github.com/matthewellis'>
|
|
192
|
-
<img src='https://github.com/matthewellis.png' width='140px;'>
|
|
193
|
-
</a>
|
|
194
|
-
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
|
195
|
-
</td>
|
|
196
|
-
</tr>
|
|
197
|
-
<tr>
|
|
198
|
-
<td id='danielle-tomlinson'>
|
|
199
|
-
<a href='https://github.com/endocrimes'>
|
|
200
|
-
<img src='https://github.com/endocrimes.png' width='140px;'>
|
|
198
|
+
<td id='josh-holtz'>
|
|
199
|
+
<a href='https://github.com/joshdholtz'>
|
|
200
|
+
<img src='https://github.com/joshdholtz.png' width='140px;'>
|
|
201
201
|
</a>
|
|
202
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
202
|
+
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
|
203
203
|
</td>
|
|
204
204
|
</table>
|
|
205
205
|
|
|
@@ -141,7 +141,7 @@ module Fastlane
|
|
|
141
141
|
end),
|
|
142
142
|
FastlaneCore::ConfigItem.new(key: :merge_commit_filtering,
|
|
143
143
|
env_name: 'FL_CHANGELOG_FROM_GIT_COMMITS_MERGE_COMMIT_FILTERING',
|
|
144
|
-
description: "Controls inclusion of merge commits when collecting the changelog. Valid values: #{GIT_MERGE_COMMIT_FILTERING_OPTIONS.map { |o| "
|
|
144
|
+
description: "Controls inclusion of merge commits when collecting the changelog. Valid values: #{GIT_MERGE_COMMIT_FILTERING_OPTIONS.map { |o| "'#{o}'" }.join(', ')}",
|
|
145
145
|
optional: true,
|
|
146
146
|
default_value: 'include_merges',
|
|
147
147
|
verify_block: proc do |value|
|
|
@@ -58,7 +58,7 @@ module Fastlane
|
|
|
58
58
|
|
|
59
59
|
def self.example_code
|
|
60
60
|
[
|
|
61
|
-
'import_certificate(certificate_path: "certs/
|
|
61
|
+
'import_certificate(certificate_path: "certs/AppleWWDRCA6.cer")',
|
|
62
62
|
'import_certificate(
|
|
63
63
|
certificate_path: "certs/dist.p12",
|
|
64
64
|
certificate_password: ENV["CERTIFICATE_PASSWORD"] || "default"
|
|
@@ -387,7 +387,7 @@ module Fastlane
|
|
|
387
387
|
def verify_app_exists_itc!
|
|
388
388
|
UI.user_error!("No app identifier provided") if self.app_identifier.to_s.length == 0
|
|
389
389
|
UI.message("Checking if the app '#{self.app_identifier}' exists on App Store Connect...")
|
|
390
|
-
app = Spaceship::
|
|
390
|
+
app = Spaceship::ConnectAPI::App.find(self.app_identifier)
|
|
391
391
|
if app.nil?
|
|
392
392
|
UI.error("Looks like the app '#{self.app_identifier}' isn't available on #{'App Store Connect'.bold.underline}")
|
|
393
393
|
UI.error("for the team ID '#{self.itc_team_id}' on Apple ID '#{self.user}'")
|
|
@@ -2113,7 +2113,7 @@ public func captureAndroidScreenshots(androidHome: OptionalConfigValue<String?>
|
|
|
2113
2113
|
- eraseSimulator: Enabling this option will automatically erase the simulator before running the application
|
|
2114
2114
|
- headless: Enabling this option will prevent displaying the simulator window
|
|
2115
2115
|
- overrideStatusBar: Enabling this option will automatically override the status bar to show 9:41 AM, full battery, and full reception (Adjust 'SNAPSHOT_SIMULATOR_WAIT_FOR_BOOT_TIMEOUT' environment variable if override status bar is not working. Might be because simulator is not fully booted. Defaults to 10 seconds)
|
|
2116
|
-
- overrideStatusBarArguments: Fully customize the status bar by setting each option here. See `xcrun simctl status_bar --help`
|
|
2116
|
+
- overrideStatusBarArguments: Fully customize the status bar by setting each option here. Requires `override_status_bar` to be set to `true`. See `xcrun simctl status_bar --help`
|
|
2117
2117
|
- localizeSimulator: Enabling this option will configure the Simulator's system language
|
|
2118
2118
|
- darkMode: Enabling this option will configure the Simulator to be in dark mode (false for light, true for dark)
|
|
2119
2119
|
- appIdentifier: The bundle identifier of the app to uninstall (only needed when enabling reinstall_app)
|
|
@@ -2322,7 +2322,7 @@ public func captureIosScreenshots(workspace: OptionalConfigValue<String?> = .fas
|
|
|
2322
2322
|
- eraseSimulator: Enabling this option will automatically erase the simulator before running the application
|
|
2323
2323
|
- headless: Enabling this option will prevent displaying the simulator window
|
|
2324
2324
|
- overrideStatusBar: Enabling this option will automatically override the status bar to show 9:41 AM, full battery, and full reception (Adjust 'SNAPSHOT_SIMULATOR_WAIT_FOR_BOOT_TIMEOUT' environment variable if override status bar is not working. Might be because simulator is not fully booted. Defaults to 10 seconds)
|
|
2325
|
-
- overrideStatusBarArguments: Fully customize the status bar by setting each option here. See `xcrun simctl status_bar --help`
|
|
2325
|
+
- overrideStatusBarArguments: Fully customize the status bar by setting each option here. Requires `override_status_bar` to be set to `true`. See `xcrun simctl status_bar --help`
|
|
2326
2326
|
- localizeSimulator: Enabling this option will configure the Simulator's system language
|
|
2327
2327
|
- darkMode: Enabling this option will configure the Simulator to be in dark mode (false for light, true for dark)
|
|
2328
2328
|
- appIdentifier: The bundle identifier of the app to uninstall (only needed when enabling reinstall_app)
|
|
@@ -2705,7 +2705,7 @@ public func cert(development: OptionalConfigValue<Bool> = .fastlaneDefault(false
|
|
|
2705
2705
|
- matchLightweightTag: Whether or not to match a lightweight tag when searching for the last one
|
|
2706
2706
|
- quiet: Whether or not to disable changelog output
|
|
2707
2707
|
- includeMerges: **DEPRECATED!** Use `:merge_commit_filtering` instead - Whether or not to include any commits that are merges
|
|
2708
|
-
- mergeCommitFiltering: Controls inclusion of merge commits when collecting the changelog. Valid values:
|
|
2708
|
+
- mergeCommitFiltering: Controls inclusion of merge commits when collecting the changelog. Valid values: 'include_merges', 'exclude_merges', 'only_include_merges'
|
|
2709
2709
|
|
|
2710
2710
|
- returns: Returns a String containing your formatted git commits
|
|
2711
2711
|
|
|
@@ -10264,7 +10264,7 @@ public func slather(buildDirectory: OptionalConfigValue<String?> = .fastlaneDefa
|
|
|
10264
10264
|
- eraseSimulator: Enabling this option will automatically erase the simulator before running the application
|
|
10265
10265
|
- headless: Enabling this option will prevent displaying the simulator window
|
|
10266
10266
|
- overrideStatusBar: Enabling this option will automatically override the status bar to show 9:41 AM, full battery, and full reception (Adjust 'SNAPSHOT_SIMULATOR_WAIT_FOR_BOOT_TIMEOUT' environment variable if override status bar is not working. Might be because simulator is not fully booted. Defaults to 10 seconds)
|
|
10267
|
-
- overrideStatusBarArguments: Fully customize the status bar by setting each option here. See `xcrun simctl status_bar --help`
|
|
10267
|
+
- overrideStatusBarArguments: Fully customize the status bar by setting each option here. Requires `override_status_bar` to be set to `true`. See `xcrun simctl status_bar --help`
|
|
10268
10268
|
- localizeSimulator: Enabling this option will configure the Simulator's system language
|
|
10269
10269
|
- darkMode: Enabling this option will configure the Simulator to be in dark mode (false for light, true for dark)
|
|
10270
10270
|
- appIdentifier: The bundle identifier of the app to uninstall (only needed when enabling reinstall_app)
|
|
@@ -13478,4 +13478,4 @@ public let snapshotfile: Snapshotfile = .init()
|
|
|
13478
13478
|
|
|
13479
13479
|
// Please don't remove the lines below
|
|
13480
13480
|
// They are used to detect outdated files
|
|
13481
|
-
// FastlaneRunnerAPIVersion [0.9.
|
|
13481
|
+
// FastlaneRunnerAPIVersion [0.9.160]
|
|
@@ -53,7 +53,7 @@ public protocol SnapshotfileProtocol: AnyObject {
|
|
|
53
53
|
/// Enabling this option will automatically override the status bar to show 9:41 AM, full battery, and full reception (Adjust 'SNAPSHOT_SIMULATOR_WAIT_FOR_BOOT_TIMEOUT' environment variable if override status bar is not working. Might be because simulator is not fully booted. Defaults to 10 seconds)
|
|
54
54
|
var overrideStatusBar: Bool { get }
|
|
55
55
|
|
|
56
|
-
/// Fully customize the status bar by setting each option here. See `xcrun simctl status_bar --help`
|
|
56
|
+
/// Fully customize the status bar by setting each option here. Requires `override_status_bar` to be set to `true`. See `xcrun simctl status_bar --help`
|
|
57
57
|
var overrideStatusBarArguments: String? { get }
|
|
58
58
|
|
|
59
59
|
/// Enabling this option will configure the Simulator's system language
|
|
@@ -204,4 +204,4 @@ public extension SnapshotfileProtocol {
|
|
|
204
204
|
|
|
205
205
|
// Please don't remove the lines below
|
|
206
206
|
// They are used to detect outdated files
|
|
207
|
-
// FastlaneRunnerAPIVersion [0.9.
|
|
207
|
+
// FastlaneRunnerAPIVersion [0.9.99]
|
|
@@ -2,40 +2,40 @@
|
|
|
2
2
|
"entries": {
|
|
3
3
|
"brew": {
|
|
4
4
|
"swiftformat": {
|
|
5
|
-
"version": "0.49.
|
|
5
|
+
"version": "0.49.13",
|
|
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:9ca3ab9db1f528cd75201a3cbe8a165c92181fe4353a0aae3002e762992606e2",
|
|
13
|
+
"sha256": "9ca3ab9db1f528cd75201a3cbe8a165c92181fe4353a0aae3002e762992606e2"
|
|
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:7c9ca8d9f5d303a9e4e4e4359022075abb82d835cecab2f374960d80be6f366e",
|
|
18
|
+
"sha256": "7c9ca8d9f5d303a9e4e4e4359022075abb82d835cecab2f374960d80be6f366e"
|
|
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:6686aa8139c4c0f70c1b6b491ace161e0d767ae3a0d9fb27aa9379968423c93e",
|
|
23
|
+
"sha256": "6686aa8139c4c0f70c1b6b491ace161e0d767ae3a0d9fb27aa9379968423c93e"
|
|
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:1d46d7bdd32e2743e54db27aa757c75f454626ddce633fed24c2981c2227617c",
|
|
28
|
+
"sha256": "1d46d7bdd32e2743e54db27aa757c75f454626ddce633fed24c2981c2227617c"
|
|
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:309a419a4345fd1ef7ad75dddbe0995b5dced750b2621ca3aaa1ba49adaddaed",
|
|
33
|
+
"sha256": "309a419a4345fd1ef7ad75dddbe0995b5dced750b2621ca3aaa1ba49adaddaed"
|
|
34
34
|
},
|
|
35
35
|
"x86_64_linux": {
|
|
36
36
|
"cellar": "/home/linuxbrew/.linuxbrew/Cellar",
|
|
37
|
-
"url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:
|
|
38
|
-
"sha256": "
|
|
37
|
+
"url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:af6b21401a7697c6f58d9eb84d14f896e017168193f585e3e571a6eddb77fe7b",
|
|
38
|
+
"sha256": "af6b21401a7697c6f58d9eb84d14f896e017168193f585e3e571a6eddb77fe7b"
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
}
|
|
@@ -61,9 +61,9 @@
|
|
|
61
61
|
"macOS": "11.0.1"
|
|
62
62
|
},
|
|
63
63
|
"monterey": {
|
|
64
|
-
"HOMEBREW_VERSION": "3.5.
|
|
64
|
+
"HOMEBREW_VERSION": "3.5.5-12-g6615cd9",
|
|
65
65
|
"HOMEBREW_PREFIX": "/opt/homebrew",
|
|
66
|
-
"Homebrew/homebrew-core": "
|
|
66
|
+
"Homebrew/homebrew-core": "58e6afce82f3e889b86e852bf7490c5a35802ac9",
|
|
67
67
|
"CLT": "13.4.0.0.1.1651278267",
|
|
68
68
|
"Xcode": "13.4.1",
|
|
69
69
|
"macOS": "12.4"
|
|
@@ -22,7 +22,7 @@ module FastlaneCore
|
|
|
22
22
|
end
|
|
23
23
|
|
|
24
24
|
def self.installed_identies(in_keychain: nil)
|
|
25
|
-
|
|
25
|
+
install_wwdr_certificate unless wwdr_certificate_installed?
|
|
26
26
|
|
|
27
27
|
available = list_available_identities(in_keychain: in_keychain)
|
|
28
28
|
# Match for this text against word boundaries to avoid edge cases around multiples of 10 identities!
|
|
@@ -81,20 +81,16 @@ module FastlaneCore
|
|
|
81
81
|
`#{commands.join(' ')}`
|
|
82
82
|
end
|
|
83
83
|
|
|
84
|
-
def self.
|
|
84
|
+
def self.wwdr_certificate_installed?
|
|
85
85
|
certificate_name = "Apple Worldwide Developer Relations Certification Authority"
|
|
86
86
|
keychain = wwdr_keychain
|
|
87
87
|
response = Helper.backticks("security find-certificate -a -c '#{certificate_name}' #{keychain.shellescape}", print: FastlaneCore::Globals.verbose?)
|
|
88
88
|
certs = response.split("keychain: \"#{keychain}\"").drop(1)
|
|
89
|
-
certs.count
|
|
89
|
+
certs.count >= 1
|
|
90
90
|
end
|
|
91
91
|
|
|
92
|
-
def self.
|
|
93
|
-
|
|
94
|
-
install_wwdr_certificate('https://www.apple.com/certificateauthority/AppleWWDRCAG3.cer')
|
|
95
|
-
end
|
|
96
|
-
|
|
97
|
-
def self.install_wwdr_certificate(url)
|
|
92
|
+
def self.install_wwdr_certificate
|
|
93
|
+
url = 'https://www.apple.com/certificateauthority/AppleWWDRCAG6.cer'
|
|
98
94
|
file = Tempfile.new(File.basename(url))
|
|
99
95
|
filename = file.path
|
|
100
96
|
keychain = wwdr_keychain
|
|
@@ -124,8 +120,8 @@ module FastlaneCore
|
|
|
124
120
|
|
|
125
121
|
def self.wwdr_keychain
|
|
126
122
|
priority = [
|
|
127
|
-
"security
|
|
128
|
-
"security
|
|
123
|
+
"security default-keychain -d user",
|
|
124
|
+
"security list-keychains -d user"
|
|
129
125
|
]
|
|
130
126
|
priority.each do |command|
|
|
131
127
|
keychains = Helper.backticks(command, print: FastlaneCore::Globals.verbose?).split("\n")
|
|
@@ -14,6 +14,7 @@ module FastlaneCore
|
|
|
14
14
|
command << " -T /usr/bin/codesign" # to not be asked for permission when running a tool like `gym` (before Sierra)
|
|
15
15
|
command << " -T /usr/bin/security"
|
|
16
16
|
command << " -T /usr/bin/productbuild" # to not be asked for permission when using an installer cert for macOS
|
|
17
|
+
command << " -T /usr/bin/productsign" # to not be asked for permission when using an installer cert for macOS
|
|
17
18
|
command << " 1> /dev/null" unless output
|
|
18
19
|
|
|
19
20
|
sensitive_command = command.gsub(password_part, " -P ********")
|
data/match/lib/match/runner.rb
CHANGED
|
@@ -309,6 +309,12 @@ module Match
|
|
|
309
309
|
platform: params[:platform]),
|
|
310
310
|
parsed["TeamIdentifier"].first)
|
|
311
311
|
|
|
312
|
+
cert_info = Utils.get_cert_info(parsed["DeveloperCertificates"].first.string).to_h
|
|
313
|
+
Utils.fill_environment(Utils.environment_variable_name_certificate_name(app_identifier: app_identifier,
|
|
314
|
+
type: prov_type,
|
|
315
|
+
platform: params[:platform]),
|
|
316
|
+
cert_info["Common Name"])
|
|
317
|
+
|
|
312
318
|
Utils.fill_environment(Utils.environment_variable_name_profile_name(app_identifier: app_identifier,
|
|
313
319
|
type: prov_type,
|
|
314
320
|
platform: params[:platform]),
|
data/match/lib/match/setup.rb
CHANGED
|
@@ -69,7 +69,23 @@ module Match
|
|
|
69
69
|
"name" => target_file
|
|
70
70
|
)
|
|
71
71
|
|
|
72
|
-
execute_request(url, request)
|
|
72
|
+
response = execute_request(url, request)
|
|
73
|
+
|
|
74
|
+
log_upload_error(response, target_file) if response.code != "201"
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
def log_upload_error(response, target_file)
|
|
79
|
+
begin
|
|
80
|
+
response_body = JSON.parse(response.body)
|
|
81
|
+
rescue JSON::ParserError
|
|
82
|
+
response_body = response.body
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
if response_body["message"] && (response_body["message"]["name"] == ["has already been taken"])
|
|
86
|
+
UI.error("#{target_file} already exists in GitLab project #{@project_id}, file not uploaded")
|
|
87
|
+
else
|
|
88
|
+
UI.error("Upload error for #{target_file}: #{response_body}")
|
|
73
89
|
end
|
|
74
90
|
end
|
|
75
91
|
|
|
@@ -43,8 +43,7 @@ module Match
|
|
|
43
43
|
saved_file.write(data.read)
|
|
44
44
|
end
|
|
45
45
|
|
|
46
|
-
|
|
47
|
-
FileUtils.chmod('u=r,go-r', destination_file)
|
|
46
|
+
FileUtils.chmod('u=rw,go-r', destination_file)
|
|
48
47
|
end
|
|
49
48
|
|
|
50
49
|
UI.crash!("Checksum validation failed for #{@file.name}") unless valid_checksum?(destination_file)
|
|
@@ -15,6 +15,7 @@ module Match
|
|
|
15
15
|
# Store the code signing identities in GitLab Secure Files
|
|
16
16
|
class GitLabSecureFiles < Interface
|
|
17
17
|
attr_reader :gitlab_client
|
|
18
|
+
attr_reader :project_id
|
|
18
19
|
attr_reader :readonly
|
|
19
20
|
attr_reader :username
|
|
20
21
|
attr_reader :team_id
|
|
@@ -161,7 +162,7 @@ module Match
|
|
|
161
162
|
end
|
|
162
163
|
|
|
163
164
|
def skip_docs
|
|
164
|
-
|
|
165
|
+
true
|
|
165
166
|
end
|
|
166
167
|
|
|
167
168
|
def list_files(file_name: "", file_ext: "")
|
|
@@ -172,7 +173,9 @@ module Match
|
|
|
172
173
|
# This method must return the content of the Matchfile
|
|
173
174
|
# that should be generated
|
|
174
175
|
def generate_matchfile_content(template: nil)
|
|
175
|
-
|
|
176
|
+
project = UI.input("What is your GitLab Project (i.e. gitlab-org/gitlab): ")
|
|
177
|
+
|
|
178
|
+
return "gitlab_project(\"#{project}\")"
|
|
176
179
|
end
|
|
177
180
|
end
|
|
178
181
|
end
|
|
@@ -33,7 +33,8 @@ module Match
|
|
|
33
33
|
Utils.environment_variable_name(app_identifier: app_identifier, type: type, platform: platform) => "Profile UUID",
|
|
34
34
|
Utils.environment_variable_name_profile_name(app_identifier: app_identifier, type: type, platform: platform) => "Profile Name",
|
|
35
35
|
Utils.environment_variable_name_profile_path(app_identifier: app_identifier, type: type, platform: platform) => "Profile Path",
|
|
36
|
-
Utils.environment_variable_name_team_id(app_identifier: app_identifier, type: type, platform: platform) => "Development Team ID"
|
|
36
|
+
Utils.environment_variable_name_team_id(app_identifier: app_identifier, type: type, platform: platform) => "Development Team ID",
|
|
37
|
+
Utils.environment_variable_name_certificate_name(app_identifier: app_identifier, type: type, platform: platform) => "Certificate Name"
|
|
37
38
|
}.each do |env_key, name|
|
|
38
39
|
rows << [name, env_key, ENV[env_key]]
|
|
39
40
|
end
|
data/match/lib/match/utils.rb
CHANGED
|
@@ -31,8 +31,16 @@ module Match
|
|
|
31
31
|
(base_environment_variable_name(app_identifier: app_identifier, type: type, platform: platform) + ["profile-path"]).join("_")
|
|
32
32
|
end
|
|
33
33
|
|
|
34
|
-
def self.
|
|
35
|
-
|
|
34
|
+
def self.environment_variable_name_certificate_name(app_identifier: nil, type: nil, platform: :ios)
|
|
35
|
+
(base_environment_variable_name(app_identifier: app_identifier, type: type, platform: platform) + ["certificate-name"]).join("_")
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def self.get_cert_info(cer_certificate)
|
|
39
|
+
# can receive a certificate path or the file data
|
|
40
|
+
if File.exist?(cer_certificate)
|
|
41
|
+
cer_certificate = File.binread(cer_certificate)
|
|
42
|
+
end
|
|
43
|
+
cert = OpenSSL::X509::Certificate.new(cer_certificate)
|
|
36
44
|
|
|
37
45
|
# openssl output:
|
|
38
46
|
# subject= /UID={User ID}/CN={Certificate Name}/OU={Certificate User}/O={Organisation}/C={Country}
|
|
@@ -133,7 +133,7 @@ module Snapshot
|
|
|
133
133
|
is_string: false),
|
|
134
134
|
FastlaneCore::ConfigItem.new(key: :override_status_bar_arguments,
|
|
135
135
|
env_name: 'SNAPSHOT_OVERRIDE_STATUS_BAR_ARGUMENTS',
|
|
136
|
-
description: "Fully customize the status bar by setting each option here. See `xcrun simctl status_bar --help`",
|
|
136
|
+
description: "Fully customize the status bar by setting each option here. Requires `override_status_bar` to be set to `true`. See `xcrun simctl status_bar --help`",
|
|
137
137
|
optional: true,
|
|
138
138
|
type: String),
|
|
139
139
|
FastlaneCore::ConfigItem.new(key: :localize_simulator,
|
|
@@ -135,7 +135,10 @@ module Snapshot
|
|
|
135
135
|
if arguments.nil? || arguments.empty?
|
|
136
136
|
# The time needs to be passed as ISO8601 so the simulator formats it correctly
|
|
137
137
|
time = Time.new(2007, 1, 9, 9, 41, 0)
|
|
138
|
-
|
|
138
|
+
|
|
139
|
+
# If you don't override the operator name, you'll get "Carrier" in the status bar on no-notch devices such as iPhone 8. Pass an empty string to blank it out.
|
|
140
|
+
|
|
141
|
+
arguments = "--time #{time.iso8601} --dataNetwork wifi --wifiMode active --wifiBars 3 --cellularMode active --operatorName '' --cellularBars 4 --batteryState charged --batteryLevel 100"
|
|
139
142
|
end
|
|
140
143
|
|
|
141
144
|
Helper.backticks("xcrun simctl status_bar #{device_udid} override #{arguments} &> /dev/null")
|
|
@@ -22,13 +22,17 @@ module Spaceship
|
|
|
22
22
|
return links["next"]
|
|
23
23
|
end
|
|
24
24
|
|
|
25
|
-
def next_page
|
|
25
|
+
def next_page(&block)
|
|
26
26
|
url = next_url
|
|
27
27
|
return nil if url.nil?
|
|
28
|
-
|
|
28
|
+
if block_given?
|
|
29
|
+
return yield(url)
|
|
30
|
+
else
|
|
31
|
+
return client.get(url)
|
|
32
|
+
end
|
|
29
33
|
end
|
|
30
34
|
|
|
31
|
-
def next_pages(count: 1)
|
|
35
|
+
def next_pages(count: 1, &block)
|
|
32
36
|
if !count.nil? && count < 0
|
|
33
37
|
count = 0
|
|
34
38
|
end
|
|
@@ -38,7 +42,7 @@ module Spaceship
|
|
|
38
42
|
|
|
39
43
|
resp = self
|
|
40
44
|
loop do
|
|
41
|
-
resp = resp.next_page
|
|
45
|
+
resp = resp.next_page(&block)
|
|
42
46
|
break if resp.nil?
|
|
43
47
|
responses << resp
|
|
44
48
|
counter += 1
|
|
@@ -49,8 +53,8 @@ module Spaceship
|
|
|
49
53
|
return responses
|
|
50
54
|
end
|
|
51
55
|
|
|
52
|
-
def all_pages
|
|
53
|
-
return next_pages(count: nil)
|
|
56
|
+
def all_pages(&block)
|
|
57
|
+
return next_pages(count: nil, &block)
|
|
54
58
|
end
|
|
55
59
|
|
|
56
60
|
def to_models
|
|
Binary file
|
|
@@ -9,6 +9,7 @@ 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 '../connect_api/response'
|
|
12
13
|
module Spaceship
|
|
13
14
|
# rubocop:disable Metrics/ClassLength
|
|
14
15
|
class TunesClient < Spaceship::Client
|
|
@@ -254,8 +255,68 @@ module Spaceship
|
|
|
254
255
|
#####################################################
|
|
255
256
|
|
|
256
257
|
def applications
|
|
257
|
-
|
|
258
|
-
|
|
258
|
+
# Doing this real bad puts for now until a more formal deprecation logic can get made
|
|
259
|
+
puts("Spaceship::Tunes::Application.all is deprecated")
|
|
260
|
+
puts(" It's using a temporary patch to keep it from raising an error but things may not work correctly")
|
|
261
|
+
puts(" Please consider switching to Spaceship::ConnectAPI if you can")
|
|
262
|
+
puts(" For more details - https://github.com/fastlane/fastlane/pull/20480")
|
|
263
|
+
|
|
264
|
+
# This legacy endpoint went offline around July 7th, 2022. This is a rough attempt
|
|
265
|
+
# at retrofitting using the newer App Store Connect API endpoints
|
|
266
|
+
#
|
|
267
|
+
# This could all be done easily with Spaceship::ConnectAPI::App.find but there were a lot of
|
|
268
|
+
# circular dependency issues that were very difficult to solve because. Spaceship::Tunes would be
|
|
269
|
+
# using Spaceship::ConnectAPI which uses Spaceship::Tunes
|
|
270
|
+
#
|
|
271
|
+
# However, using Spaceship::ConnectAPI::Response works. This will fetch multiple pages of app
|
|
272
|
+
# if it needs to
|
|
273
|
+
#
|
|
274
|
+
# https://github.com/fastlane/fastlane/pull/20480
|
|
275
|
+
r = request(:get, "https://appstoreconnect.apple.com/iris/v1/apps?include=appStoreVersions,prices")
|
|
276
|
+
response = Spaceship::ConnectAPI::Response.new(
|
|
277
|
+
body: r.body,
|
|
278
|
+
status: r.status,
|
|
279
|
+
headers: r.headers,
|
|
280
|
+
client: nil
|
|
281
|
+
)
|
|
282
|
+
|
|
283
|
+
apps = response.all_pages do |url|
|
|
284
|
+
r = request(:get, url)
|
|
285
|
+
Spaceship::ConnectAPI::Response.new(
|
|
286
|
+
body: r.body,
|
|
287
|
+
status: r.status,
|
|
288
|
+
headers: r.headers,
|
|
289
|
+
client: nil
|
|
290
|
+
)
|
|
291
|
+
end.flat_map(&:to_models)
|
|
292
|
+
|
|
293
|
+
apps.map do |asc_app|
|
|
294
|
+
platforms = (asc_app.app_store_versions || []).map(&:platform).uniq.map do |asc_platform|
|
|
295
|
+
case asc_platform
|
|
296
|
+
when "TV_OS"
|
|
297
|
+
"appletvos"
|
|
298
|
+
when "MAC_OS"
|
|
299
|
+
"osx"
|
|
300
|
+
when "IOS"
|
|
301
|
+
"ios"
|
|
302
|
+
else
|
|
303
|
+
raise "Cannot find a matching platform for '#{asc_platform}'}"
|
|
304
|
+
end
|
|
305
|
+
end
|
|
306
|
+
|
|
307
|
+
{
|
|
308
|
+
'adamId' => asc_app.id,
|
|
309
|
+
'name' => asc_app.name,
|
|
310
|
+
'vendorId' => "",
|
|
311
|
+
'bundleId' => asc_app.bundle_id,
|
|
312
|
+
'lastModifiedDate' => nil,
|
|
313
|
+
'issuesCount' => nil,
|
|
314
|
+
'iconUrl' => nil,
|
|
315
|
+
'versionSets' => platforms.map do |platform|
|
|
316
|
+
{ 'type' => 'app', 'platformString' => platform }
|
|
317
|
+
end
|
|
318
|
+
}
|
|
319
|
+
end
|
|
259
320
|
end
|
|
260
321
|
|
|
261
322
|
def app_details(app_id)
|
|
@@ -15,7 +15,7 @@ module Trainer
|
|
|
15
15
|
|
|
16
16
|
lib_path = Trainer::ROOT
|
|
17
17
|
xml_path = File.join(lib_path, "lib/assets/junit.xml.erb")
|
|
18
|
-
xml = ERB.new(File.read(xml_path),
|
|
18
|
+
xml = ERB.new(File.read(xml_path), trim_mode: '<>').result(binding) # http://www.rrn.dk/rubys-erb-templating-system
|
|
19
19
|
|
|
20
20
|
xml = xml.gsub('system_', 'system-').delete("\e") # Jenkins can not parse 'ESC' symbol
|
|
21
21
|
|
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.208.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
|
-
-
|
|
8
|
-
-
|
|
7
|
+
- Manu Wallner
|
|
8
|
+
- Matthew Ellis
|
|
9
|
+
- Maksym Grebenets
|
|
10
|
+
- Jorge Revuelta H
|
|
11
|
+
- Fumiya Nakamura
|
|
9
12
|
- Manish Rathi
|
|
10
|
-
- Stefan Natchev
|
|
11
13
|
- Felix Krause
|
|
12
|
-
- Iulian Onofrei
|
|
13
|
-
- Danielle Tomlinson
|
|
14
|
-
- Fumiya Nakamura
|
|
15
|
-
- Josh Holtz
|
|
16
14
|
- Kohki Miki
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
15
|
+
- Jimmy Dee
|
|
16
|
+
- Jan Piotrowski
|
|
17
|
+
- Daniel Jankowski
|
|
18
|
+
- Max Ott
|
|
19
|
+
- Luka Mirosevic
|
|
20
|
+
- Helmut Januschka
|
|
21
|
+
- Josh Holtz
|
|
22
|
+
- Łukasz Grabowski
|
|
21
23
|
- Joshua Liebowitz
|
|
22
|
-
-
|
|
24
|
+
- Iulian Onofrei
|
|
23
25
|
- Aaron Brager
|
|
24
26
|
- Jérôme Lacoste
|
|
25
|
-
-
|
|
26
|
-
- Matthew Ellis
|
|
27
|
-
- Luka Mirosevic
|
|
27
|
+
- Satoshi Namai
|
|
28
28
|
- Olivier Halligon
|
|
29
|
-
-
|
|
30
|
-
- Jan Piotrowski
|
|
31
|
-
- Jimmy Dee
|
|
29
|
+
- Stefan Natchev
|
|
32
30
|
- Andrew McBurney
|
|
31
|
+
- Roger Oba
|
|
32
|
+
- Danielle Tomlinson
|
|
33
33
|
autorequire:
|
|
34
34
|
bindir: bin
|
|
35
35
|
cert_chain: []
|
|
36
|
-
date: 2022-
|
|
36
|
+
date: 2022-07-19 00:00:00.000000000 Z
|
|
37
37
|
dependencies:
|
|
38
38
|
- !ruby/object:Gem::Dependency
|
|
39
39
|
name: xcodeproj
|
|
@@ -1501,8 +1501,6 @@ files:
|
|
|
1501
1501
|
- match/lib/assets/MatchfileTemplate.swift
|
|
1502
1502
|
- match/lib/assets/READMETemplate.md
|
|
1503
1503
|
- match/lib/match.rb
|
|
1504
|
-
- match/lib/match/.module.rb.swp
|
|
1505
|
-
- match/lib/match/.nuke.rb.swp
|
|
1506
1504
|
- match/lib/match/change_password.rb
|
|
1507
1505
|
- match/lib/match/commands_generator.rb
|
|
1508
1506
|
- match/lib/match/encryption.rb
|
|
@@ -1664,12 +1662,10 @@ files:
|
|
|
1664
1662
|
- spaceship/lib/spaceship/client.rb
|
|
1665
1663
|
- spaceship/lib/spaceship/commands_generator.rb
|
|
1666
1664
|
- spaceship/lib/spaceship/connect_api.rb
|
|
1667
|
-
- spaceship/lib/spaceship/connect_api/.response.rb.swp
|
|
1668
1665
|
- spaceship/lib/spaceship/connect_api/api_client.rb
|
|
1669
1666
|
- spaceship/lib/spaceship/connect_api/client.rb
|
|
1670
1667
|
- spaceship/lib/spaceship/connect_api/file_uploader.rb
|
|
1671
1668
|
- spaceship/lib/spaceship/connect_api/model.rb
|
|
1672
|
-
- spaceship/lib/spaceship/connect_api/models/.app.rb.swp
|
|
1673
1669
|
- spaceship/lib/spaceship/connect_api/models/.review_submission.rb.swp
|
|
1674
1670
|
- spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb
|
|
1675
1671
|
- spaceship/lib/spaceship/connect_api/models/app.rb
|
|
@@ -1786,6 +1782,7 @@ files:
|
|
|
1786
1782
|
- spaceship/lib/spaceship/test_flight/group.rb
|
|
1787
1783
|
- spaceship/lib/spaceship/test_flight/test_info.rb
|
|
1788
1784
|
- spaceship/lib/spaceship/test_flight/tester.rb
|
|
1785
|
+
- spaceship/lib/spaceship/tunes/.tunes_client.rb.swp
|
|
1789
1786
|
- spaceship/lib/spaceship/tunes/app_analytics.rb
|
|
1790
1787
|
- spaceship/lib/spaceship/tunes/app_details.rb
|
|
1791
1788
|
- spaceship/lib/spaceship/tunes/app_image.rb
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|