fastlane 2.206.1 → 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/deliver/lib/deliver/runner.rb +31 -35
- data/deliver/lib/deliver/upload_price_tier.rb +3 -1
- data/deliver/lib/deliver/upload_screenshots.rb +1 -1
- 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/actions/update_info_plist.rb +1 -1
- data/fastlane/lib/fastlane/actions/upload_symbols_to_sentry.rb +1 -1
- data/fastlane/lib/fastlane/actions/xcodebuild.rb +8 -2
- data/fastlane/lib/fastlane/cli_tools_distributor.rb +1 -16
- data/fastlane/lib/fastlane/lane_manager.rb +1 -1
- data/fastlane/lib/fastlane/plugins/template/%gem_name%.gemspec.erb +1 -1
- data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +5 -1
- data/fastlane/lib/fastlane/setup/setup_ios.rb +1 -1
- data/fastlane/lib/fastlane/tools.rb +16 -0
- 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 +18 -6
- data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/xcuserdata/joshholtz.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/GymfileProtocol.swift +1 -1
- data/fastlane/swift/MainProcess.swift +2 -2
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/MatchfileProtocol.swift +5 -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/SocketClient.swift +1 -1
- data/fastlane/swift/formatting/Brewfile.lock.json +21 -16
- data/fastlane_core/lib/fastlane_core/cert_checker.rb +7 -11
- data/fastlane_core/lib/fastlane_core/keychain_importer.rb +1 -0
- data/fastlane_core/lib/fastlane_core/project.rb +19 -2
- data/frameit/lib/frameit/device_types.rb +2 -0
- data/match/lib/match/encryption.rb +3 -0
- data/match/lib/match/importer.rb +1 -0
- data/match/lib/match/module.rb +53 -1
- data/match/lib/match/nuke.rb +3 -40
- data/match/lib/match/options.rb +6 -0
- data/match/lib/match/runner.rb +11 -1
- data/match/lib/match/setup.rb +1 -1
- data/match/lib/match/spaceship_ensure.rb +4 -2
- data/match/lib/match/storage/gitlab/client.rb +102 -0
- data/match/lib/match/storage/gitlab/secure_file.rb +65 -0
- data/match/lib/match/storage/gitlab_secure_files.rb +182 -0
- data/match/lib/match/storage.rb +4 -0
- data/match/lib/match/table_printer.rb +2 -1
- data/match/lib/match/utils.rb +10 -2
- data/pem/lib/pem/manager.rb +1 -1
- data/scan/lib/scan/detect_values.rb +6 -0
- data/sigh/lib/sigh/download_all.rb +14 -2
- data/sigh/lib/sigh/module.rb +3 -1
- data/sigh/lib/sigh/runner.rb +7 -0
- data/snapshot/lib/snapshot/options.rb +1 -1
- data/snapshot/lib/snapshot/reports_generator.rb +1 -0
- data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +4 -1
- data/spaceship/lib/spaceship/connect_api/models/app.rb +4 -2
- data/spaceship/lib/spaceship/connect_api/models/profile.rb +4 -0
- data/spaceship/lib/spaceship/connect_api/response.rb +10 -6
- data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +18 -8
- 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 +24 -21
- 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,43 +35,43 @@ 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
49
|
</td>
|
|
50
|
-
<td id='
|
|
51
|
-
<a href='https://github.com/
|
|
52
|
-
<img src='https://github.com/
|
|
50
|
+
<td id='jorge-revuelta-h'>
|
|
51
|
+
<a href='https://github.com/minuscorp'>
|
|
52
|
+
<img src='https://github.com/minuscorp.png' width='140px;'>
|
|
53
53
|
</a>
|
|
54
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
54
|
+
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
|
55
55
|
</td>
|
|
56
|
-
<td id='
|
|
57
|
-
<a href='https://github.com/
|
|
58
|
-
<img src='https://github.com/
|
|
56
|
+
<td id='andrew-mcburney'>
|
|
57
|
+
<a href='https://github.com/armcburney'>
|
|
58
|
+
<img src='https://github.com/armcburney.png' width='140px;'>
|
|
59
59
|
</a>
|
|
60
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
60
|
+
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
|
61
61
|
</td>
|
|
62
|
-
<td id='
|
|
63
|
-
<a href='https://github.com/
|
|
64
|
-
<img src='https://github.com/
|
|
62
|
+
<td id='olivier-halligon'>
|
|
63
|
+
<a href='https://github.com/AliSoftware'>
|
|
64
|
+
<img src='https://github.com/AliSoftware.png' width='140px;'>
|
|
65
65
|
</a>
|
|
66
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
66
|
+
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</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='jérôme-lacoste'>
|
|
71
|
+
<a href='https://github.com/lacostej'>
|
|
72
|
+
<img src='https://github.com/lacostej.png' width='140px;'>
|
|
73
73
|
</a>
|
|
74
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
74
|
+
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
|
75
75
|
</td>
|
|
76
76
|
<td id='iulian-onofrei'>
|
|
77
77
|
<a href='https://github.com/revolter'>
|
|
@@ -79,31 +79,69 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
79
79
|
</a>
|
|
80
80
|
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
|
81
81
|
</td>
|
|
82
|
+
<td id='łukasz-grabowski'>
|
|
83
|
+
<a href='https://github.com/lucgrabowski'>
|
|
84
|
+
<img src='https://github.com/lucgrabowski.png' width='140px;'>
|
|
85
|
+
</a>
|
|
86
|
+
<h4 align='center'>Łukasz Grabowski</h4>
|
|
87
|
+
</td>
|
|
88
|
+
<td id='manish-rathi'>
|
|
89
|
+
<a href='https://github.com/crazymanish'>
|
|
90
|
+
<img src='https://github.com/crazymanish.png' width='140px;'>
|
|
91
|
+
</a>
|
|
92
|
+
<h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</a></h4>
|
|
93
|
+
</td>
|
|
94
|
+
<td id='daniel-jankowski'>
|
|
95
|
+
<a href='https://github.com/mollyIV'>
|
|
96
|
+
<img src='https://github.com/mollyIV.png' width='140px;'>
|
|
97
|
+
</a>
|
|
98
|
+
<h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
|
|
99
|
+
</td>
|
|
100
|
+
</tr>
|
|
101
|
+
<tr>
|
|
102
|
+
<td id='jimmy-dee'>
|
|
103
|
+
<a href='https://github.com/jdee'>
|
|
104
|
+
<img src='https://github.com/jdee.png' width='140px;'>
|
|
105
|
+
</a>
|
|
106
|
+
<h4 align='center'>Jimmy Dee</h4>
|
|
107
|
+
</td>
|
|
108
|
+
<td id='maksym-grebenets'>
|
|
109
|
+
<a href='https://github.com/mgrebenets'>
|
|
110
|
+
<img src='https://github.com/mgrebenets.png' width='140px;'>
|
|
111
|
+
</a>
|
|
112
|
+
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
|
113
|
+
</td>
|
|
82
114
|
<td id='luka-mirosevic'>
|
|
83
115
|
<a href='https://github.com/lmirosevic'>
|
|
84
116
|
<img src='https://github.com/lmirosevic.png' width='140px;'>
|
|
85
117
|
</a>
|
|
86
118
|
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
|
87
119
|
</td>
|
|
88
|
-
<td id='
|
|
89
|
-
<a href='https://github.com/
|
|
90
|
-
<img src='https://github.com/
|
|
120
|
+
<td id='matthew-ellis'>
|
|
121
|
+
<a href='https://github.com/matthewellis'>
|
|
122
|
+
<img src='https://github.com/matthewellis.png' width='140px;'>
|
|
91
123
|
</a>
|
|
92
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
124
|
+
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
|
93
125
|
</td>
|
|
94
|
-
<td id='
|
|
95
|
-
<a href='https://github.com/
|
|
96
|
-
<img src='https://github.com/
|
|
126
|
+
<td id='joshua-liebowitz'>
|
|
127
|
+
<a href='https://github.com/taquitos'>
|
|
128
|
+
<img src='https://github.com/taquitos.png' width='140px;'>
|
|
97
129
|
</a>
|
|
98
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
130
|
+
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
|
99
131
|
</td>
|
|
100
132
|
</tr>
|
|
101
133
|
<tr>
|
|
102
|
-
<td id='
|
|
103
|
-
<a href='https://github.com/
|
|
104
|
-
<img src='https://github.com/
|
|
134
|
+
<td id='roger-oba'>
|
|
135
|
+
<a href='https://github.com/rogerluan'>
|
|
136
|
+
<img src='https://github.com/rogerluan.png' width='140px;'>
|
|
105
137
|
</a>
|
|
106
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
138
|
+
<h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
|
|
139
|
+
</td>
|
|
140
|
+
<td id='fumiya-nakamura'>
|
|
141
|
+
<a href='https://github.com/nafu'>
|
|
142
|
+
<img src='https://github.com/nafu.png' width='140px;'>
|
|
143
|
+
</a>
|
|
144
|
+
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
|
|
107
145
|
</td>
|
|
108
146
|
<td id='manu-wallner'>
|
|
109
147
|
<a href='https://github.com/milch'>
|
|
@@ -111,31 +149,31 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
111
149
|
</a>
|
|
112
150
|
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
|
113
151
|
</td>
|
|
114
|
-
<td id='
|
|
115
|
-
<a href='https://github.com/
|
|
116
|
-
<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;'>
|
|
117
155
|
</a>
|
|
118
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
156
|
+
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
|
119
157
|
</td>
|
|
120
|
-
<td id='
|
|
121
|
-
<a href='https://github.com/
|
|
122
|
-
<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;'>
|
|
123
161
|
</a>
|
|
124
|
-
<h4 align='center'
|
|
162
|
+
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
|
125
163
|
</td>
|
|
164
|
+
</tr>
|
|
165
|
+
<tr>
|
|
126
166
|
<td id='satoshi-namai'>
|
|
127
167
|
<a href='https://github.com/ainame'>
|
|
128
168
|
<img src='https://github.com/ainame.png' width='140px;'>
|
|
129
169
|
</a>
|
|
130
170
|
<h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
|
|
131
171
|
</td>
|
|
132
|
-
|
|
133
|
-
<
|
|
134
|
-
<
|
|
135
|
-
<a href='https://github.com/joshdholtz'>
|
|
136
|
-
<img src='https://github.com/joshdholtz.png' width='140px;'>
|
|
172
|
+
<td id='danielle-tomlinson'>
|
|
173
|
+
<a href='https://github.com/endocrimes'>
|
|
174
|
+
<img src='https://github.com/endocrimes.png' width='140px;'>
|
|
137
175
|
</a>
|
|
138
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
176
|
+
<h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
|
|
139
177
|
</td>
|
|
140
178
|
<td id='kohki-miki'>
|
|
141
179
|
<a href='https://github.com/giginet'>
|
|
@@ -143,31 +181,11 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
143
181
|
</a>
|
|
144
182
|
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
|
145
183
|
</td>
|
|
146
|
-
<td id='
|
|
147
|
-
<a href='https://github.com/
|
|
148
|
-
<img src='https://github.com/
|
|
149
|
-
</a>
|
|
150
|
-
<h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
|
|
151
|
-
</td>
|
|
152
|
-
<td id='daniel-jankowski'>
|
|
153
|
-
<a href='https://github.com/mollyIV'>
|
|
154
|
-
<img src='https://github.com/mollyIV.png' width='140px;'>
|
|
155
|
-
</a>
|
|
156
|
-
<h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
|
|
157
|
-
</td>
|
|
158
|
-
<td id='max-ott'>
|
|
159
|
-
<a href='https://github.com/max-ott'>
|
|
160
|
-
<img src='https://github.com/max-ott.png' width='140px;'>
|
|
161
|
-
</a>
|
|
162
|
-
<h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
|
|
163
|
-
</td>
|
|
164
|
-
</tr>
|
|
165
|
-
<tr>
|
|
166
|
-
<td id='jorge-revuelta-h'>
|
|
167
|
-
<a href='https://github.com/minuscorp'>
|
|
168
|
-
<img src='https://github.com/minuscorp.png' width='140px;'>
|
|
184
|
+
<td id='stefan-natchev'>
|
|
185
|
+
<a href='https://github.com/snatchev'>
|
|
186
|
+
<img src='https://github.com/snatchev.png' width='140px;'>
|
|
169
187
|
</a>
|
|
170
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
188
|
+
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
|
171
189
|
</td>
|
|
172
190
|
<td id='helmut-januschka'>
|
|
173
191
|
<a href='https://github.com/hjanuschka'>
|
|
@@ -175,31 +193,13 @@ 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/hjanuschka'>Helmut Januschka</a></h4>
|
|
177
195
|
</td>
|
|
178
|
-
<td id='fumiya-nakamura'>
|
|
179
|
-
<a href='https://github.com/nafu'>
|
|
180
|
-
<img src='https://github.com/nafu.png' width='140px;'>
|
|
181
|
-
</a>
|
|
182
|
-
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
|
|
183
|
-
</td>
|
|
184
|
-
<td id='matthew-ellis'>
|
|
185
|
-
<a href='https://github.com/matthewellis'>
|
|
186
|
-
<img src='https://github.com/matthewellis.png' width='140px;'>
|
|
187
|
-
</a>
|
|
188
|
-
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
|
189
|
-
</td>
|
|
190
|
-
<td id='jimmy-dee'>
|
|
191
|
-
<a href='https://github.com/jdee'>
|
|
192
|
-
<img src='https://github.com/jdee.png' width='140px;'>
|
|
193
|
-
</a>
|
|
194
|
-
<h4 align='center'>Jimmy Dee</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='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
|
|
|
@@ -165,35 +165,33 @@ module Deliver
|
|
|
165
165
|
def verify_binary
|
|
166
166
|
UI.message("Verifying binary with App Store Connect")
|
|
167
167
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
if verify_ipa && verify_pkg
|
|
174
|
-
verify_ipa = ["ios", "appletvos"].include?(options[:platform])
|
|
175
|
-
verify_pkg = options[:platform] == "osx"
|
|
176
|
-
end
|
|
168
|
+
ipa_path = options[:ipa]
|
|
169
|
+
pkg_path = options[:pkg]
|
|
170
|
+
|
|
171
|
+
platform = options[:platform]
|
|
172
|
+
transporter = transporter_for_selected_team
|
|
177
173
|
|
|
178
|
-
|
|
174
|
+
case platform
|
|
175
|
+
when "ios", "appletvos"
|
|
179
176
|
package_path = FastlaneCore::IpaUploadPackageBuilder.new.generate(
|
|
180
177
|
app_id: Deliver.cache[:app].id,
|
|
181
|
-
ipa_path:
|
|
178
|
+
ipa_path: ipa_path,
|
|
182
179
|
package_path: "/tmp",
|
|
183
|
-
platform:
|
|
180
|
+
platform: platform
|
|
184
181
|
)
|
|
185
|
-
|
|
182
|
+
result = transporter.verify(package_path: package_path)
|
|
183
|
+
when "osx"
|
|
186
184
|
package_path = FastlaneCore::PkgUploadPackageBuilder.new.generate(
|
|
187
185
|
app_id: Deliver.cache[:app].id,
|
|
188
|
-
pkg_path:
|
|
186
|
+
pkg_path: pkg_path,
|
|
189
187
|
package_path: "/tmp",
|
|
190
|
-
platform:
|
|
188
|
+
platform: platform
|
|
191
189
|
)
|
|
190
|
+
result = transporter.verify(package_path: package_path)
|
|
191
|
+
else
|
|
192
|
+
UI.user_error!("No suitable file found for verify for platform: #{options[:platform]}")
|
|
192
193
|
end
|
|
193
194
|
|
|
194
|
-
transporter = transporter_for_selected_team
|
|
195
|
-
result = transporter.verify(package_path: package_path)
|
|
196
|
-
|
|
197
195
|
unless result
|
|
198
196
|
transporter_errors = transporter.displayable_errors
|
|
199
197
|
UI.user_error!("Error verifying the binary file: \n #{transporter_errors}")
|
|
@@ -204,35 +202,33 @@ module Deliver
|
|
|
204
202
|
def upload_binary
|
|
205
203
|
UI.message("Uploading binary to App Store Connect")
|
|
206
204
|
|
|
207
|
-
|
|
208
|
-
|
|
205
|
+
ipa_path = options[:ipa]
|
|
206
|
+
pkg_path = options[:pkg]
|
|
209
207
|
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
if upload_ipa && upload_pkg
|
|
213
|
-
upload_ipa = ["ios", "appletvos"].include?(options[:platform])
|
|
214
|
-
upload_pkg = options[:platform] == "osx"
|
|
215
|
-
end
|
|
208
|
+
platform = options[:platform]
|
|
209
|
+
transporter = transporter_for_selected_team
|
|
216
210
|
|
|
217
|
-
|
|
211
|
+
case platform
|
|
212
|
+
when "ios", "appletvos"
|
|
218
213
|
package_path = FastlaneCore::IpaUploadPackageBuilder.new.generate(
|
|
219
214
|
app_id: Deliver.cache[:app].id,
|
|
220
|
-
ipa_path:
|
|
215
|
+
ipa_path: ipa_path,
|
|
221
216
|
package_path: "/tmp",
|
|
222
|
-
platform:
|
|
217
|
+
platform: platform
|
|
223
218
|
)
|
|
224
|
-
|
|
219
|
+
result = transporter.upload(package_path: package_path, asset_path: ipa_path)
|
|
220
|
+
when "osx"
|
|
225
221
|
package_path = FastlaneCore::PkgUploadPackageBuilder.new.generate(
|
|
226
222
|
app_id: Deliver.cache[:app].id,
|
|
227
|
-
pkg_path:
|
|
223
|
+
pkg_path: pkg_path,
|
|
228
224
|
package_path: "/tmp",
|
|
229
|
-
platform:
|
|
225
|
+
platform: platform
|
|
230
226
|
)
|
|
227
|
+
result = transporter.upload(package_path: package_path, asset_path: pkg_path)
|
|
228
|
+
else
|
|
229
|
+
UI.user_error!("No suitable file found for upload for platform: #{options[:platform]}")
|
|
231
230
|
end
|
|
232
231
|
|
|
233
|
-
transporter = transporter_for_selected_team
|
|
234
|
-
result = transporter.upload(package_path: package_path, asset_path: upload_ipa || upload_pkg)
|
|
235
|
-
|
|
236
232
|
unless result
|
|
237
233
|
transporter_errors = transporter.displayable_errors
|
|
238
234
|
UI.user_error!("Error uploading ipa file: \n #{transporter_errors}")
|
|
@@ -12,7 +12,9 @@ module Deliver
|
|
|
12
12
|
app = Deliver.cache[:app]
|
|
13
13
|
|
|
14
14
|
attributes = {}
|
|
15
|
-
|
|
15
|
+
|
|
16
|
+
# Check App update method to understand how to use territory_ids.
|
|
17
|
+
territory_ids = nil # nil won't update app's territory_ids, empty array would remove app from sale.
|
|
16
18
|
|
|
17
19
|
# As of 2020-09-14:
|
|
18
20
|
# Official App Store Connect does not have an endpoint to get app prices for an app
|
|
@@ -145,7 +145,7 @@ module Deliver
|
|
|
145
145
|
if duplicate
|
|
146
146
|
UI.message("Previous uploaded. Skipping '#{screenshot.path}'...")
|
|
147
147
|
else
|
|
148
|
-
UI.verbose("Queued
|
|
148
|
+
UI.verbose("Queued upload sceeenshot job for #{localization.locale} #{app_screenshot_set.screenshot_display_type} #{screenshot.path}")
|
|
149
149
|
worker.enqueue(UploadScreenshotJob.new(app_screenshot_set, screenshot.path))
|
|
150
150
|
number_of_screenshots_per_set[app_screenshot_set] += 1
|
|
151
151
|
end
|
|
@@ -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"
|
|
@@ -80,7 +80,7 @@ module Fastlane
|
|
|
80
80
|
description: "Path to info plist",
|
|
81
81
|
optional: true,
|
|
82
82
|
verify_block: proc do |value|
|
|
83
|
-
UI.user_error!("Invalid plist file") unless value
|
|
83
|
+
UI.user_error!("Invalid plist file") unless value.downcase.end_with?(".plist")
|
|
84
84
|
end),
|
|
85
85
|
FastlaneCore::ConfigItem.new(key: :scheme,
|
|
86
86
|
env_name: "FL_UPDATE_PLIST_APP_SCHEME",
|
|
@@ -267,10 +267,11 @@ module Fastlane
|
|
|
267
267
|
|
|
268
268
|
output_result = ""
|
|
269
269
|
|
|
270
|
+
override_architecture_prefix = params[:xcodebuild_architecture] ? "arch -#{params[:xcodebuild_architecture]} " : ""
|
|
270
271
|
# In some cases the simulator is not booting up in time
|
|
271
272
|
# One way to solve it is to try to rerun it for one more time
|
|
272
273
|
begin
|
|
273
|
-
output_result = Actions.sh "set -o pipefail && xcodebuild #{xcodebuild_args} #{pipe_command}"
|
|
274
|
+
output_result = Actions.sh "set -o pipefail && #{override_architecture_prefix}xcodebuild #{xcodebuild_args} #{pipe_command}"
|
|
274
275
|
rescue => ex
|
|
275
276
|
exit_status = $?.exitstatus
|
|
276
277
|
|
|
@@ -383,8 +384,9 @@ module Fastlane
|
|
|
383
384
|
['scheme', 'The scheme to build'],
|
|
384
385
|
['build_settings', 'Hash of additional build information'],
|
|
385
386
|
['xcargs', 'Pass additional xcodebuild options'],
|
|
386
|
-
['output_style', 'Set the output format to one of: :standard (Colored UTF8 output, default), :basic (black & white ASCII output)'],
|
|
387
387
|
['buildlog_path', 'The path where the xcodebuild.log will be created, by default it is created in ~/Library/Logs/fastlane/xcbuild'],
|
|
388
|
+
['output_style', 'Set the output format to one of: :standard (Colored UTF8 output, default), :basic (black & white ASCII output)'],
|
|
389
|
+
['xcodebuild_architecture', 'Allows to set the architecture that `xcodebuild` is run with, for example to force it to run under Rosetta on an Apple Silicon mac'],
|
|
388
390
|
['raw_buildlog', 'Set to true to see xcodebuild raw output. Default value is false'],
|
|
389
391
|
['xcpretty_output', 'specifies the output type for xcpretty. eg. \'test\', or \'simple\''],
|
|
390
392
|
['xcpretty_utf', 'Specifies xcpretty should use utf8 when reporting builds. This has no effect when raw_buildlog is specified.']
|
|
@@ -437,6 +439,7 @@ module Fastlane
|
|
|
437
439
|
['build_settings', 'Hash of additional build information'],
|
|
438
440
|
['xcargs', 'Pass additional xcodebuild options'],
|
|
439
441
|
['output_style', 'Set the output format to one of: :standard (Colored UTF8 output, default), :basic (black & white ASCII output)'],
|
|
442
|
+
['xcodebuild_architecture', 'Allows to set the architecture that `xcodebuild` is run with, for example to force it to run under Rosetta on an Apple Silicon mac'],
|
|
440
443
|
['buildlog_path', 'The path where the xcodebuild.log will be created, by default it is created in ~/Library/Logs/fastlane/xcbuild'],
|
|
441
444
|
['raw_buildlog', 'Set to true to see xcodebuild raw output. Default value is false'],
|
|
442
445
|
['xcpretty_output', 'specifies the output type for xcpretty. eg. \'test\', or \'simple\''],
|
|
@@ -529,6 +532,7 @@ module Fastlane
|
|
|
529
532
|
['build_settings', 'Hash of additional build information'],
|
|
530
533
|
['xcargs', 'Pass additional xcodebuild options'],
|
|
531
534
|
['output_style', 'Set the output format to one of: :standard (Colored UTF8 output, default), :basic (black & white ASCII output)'],
|
|
535
|
+
['xcodebuild_architecture', 'Allows to set the architecture that `xcodebuild` is run with, for example to force it to run under Rosetta on an Apple Silicon mac'],
|
|
532
536
|
['buildlog_path', 'The path where the xcodebuild.log will be created, by default it is created in ~/Library/Logs/fastlane/xcbuild'],
|
|
533
537
|
['raw_buildlog', 'Set to true to see xcodebuild raw output. Default value is false'],
|
|
534
538
|
['xcpretty_output', 'specifies the output type for xcpretty. eg. \'test\', or \'simple\''],
|
|
@@ -571,6 +575,7 @@ module Fastlane
|
|
|
571
575
|
['build_settings', 'Hash of additional build information'],
|
|
572
576
|
['xcargs', 'Pass additional xcodebuild options'],
|
|
573
577
|
['output_style', 'Set the output format to one of: :standard (Colored UTF8 output, default), :basic (black & white ASCII output)'],
|
|
578
|
+
['xcodebuild_architecture', 'Allows to set the architecture that `xcodebuild` is run with, for example to force it to run under Rosetta on an Apple Silicon mac'],
|
|
574
579
|
['buildlog_path', 'The path where the xcodebuild.log will be created, by default it is created in ~/Library/Logs/fastlane/xcbuild'],
|
|
575
580
|
['raw_buildlog', 'Set to true to see xcodebuild raw output. Default value is false'],
|
|
576
581
|
['xcpretty_output', 'specifies the output type for xcpretty. eg. \'test\', or \'simple\''],
|
|
@@ -621,6 +626,7 @@ module Fastlane
|
|
|
621
626
|
['destination_timeout', 'The timeout for connecting to the simulator, in seconds'],
|
|
622
627
|
['enable_code_coverage', 'Turn code coverage on or off when testing. eg. true|false. Requires Xcode 7+'],
|
|
623
628
|
['output_style', 'Set the output format to one of: :standard (Colored UTF8 output, default), :basic (black & white ASCII output)'],
|
|
629
|
+
['xcodebuild_architecture', 'Allows to set the architecture that `xcodebuild` is run with, for example to force it to run under Rosetta on an Apple Silicon mac'],
|
|
624
630
|
['buildlog_path', 'The path where the xcodebuild.log will be created, by default it is created in ~/Library/Logs/fastlane/xcbuild'],
|
|
625
631
|
['raw_buildlog', 'Set to true to see xcodebuild raw output. Default value is false'],
|
|
626
632
|
['xcpretty_output', 'specifies the output type for xcpretty. eg. \'test\', or \'simple\''],
|
|
@@ -127,22 +127,7 @@ module Fastlane
|
|
|
127
127
|
end
|
|
128
128
|
|
|
129
129
|
def map_aliased_tools(tool_name)
|
|
130
|
-
|
|
131
|
-
"get_certificates": "cert",
|
|
132
|
-
"upload_to_app_store": "deliver",
|
|
133
|
-
"frame_screenshots": "frameit",
|
|
134
|
-
"build_app": "gym",
|
|
135
|
-
"build_ios_app": "gym",
|
|
136
|
-
"build_mac_app": "gym",
|
|
137
|
-
"sync_code_signing": "match",
|
|
138
|
-
"get_push_certificate": "pem",
|
|
139
|
-
"check_app_store_metadata": "precheck",
|
|
140
|
-
"capture_android_screenshots": "screengrab",
|
|
141
|
-
"get_provisioning_profile": "sigh",
|
|
142
|
-
"capture_ios_screenshots": "snapshot",
|
|
143
|
-
"upload_to_play_store": "supply"
|
|
144
|
-
}
|
|
145
|
-
return map[tool_name&.to_sym] || tool_name
|
|
130
|
+
Fastlane::TOOL_ALIASES[tool_name&.to_sym] || tool_name
|
|
146
131
|
end
|
|
147
132
|
|
|
148
133
|
# Since loading dotenv should respect additional environments passed using
|
|
@@ -108,7 +108,7 @@ module Fastlane
|
|
|
108
108
|
puts(table)
|
|
109
109
|
|
|
110
110
|
fastlane_command = Helper.bundler? ? "bundle exec fastlane" : "fastlane"
|
|
111
|
-
i = UI.input("Which number would you like run?")
|
|
111
|
+
i = UI.input("Which number would you like to run?")
|
|
112
112
|
|
|
113
113
|
i = i.to_i - 1
|
|
114
114
|
if i >= 0 && available[i]
|
|
@@ -16,7 +16,7 @@ Gem::Specification.new do |spec|
|
|
|
16
16
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
|
17
17
|
spec.require_paths = ['lib']
|
|
18
18
|
|
|
19
|
-
spec.required_ruby_version = '>= 2.
|
|
19
|
+
spec.required_ruby_version = '>= 2.6'
|
|
20
20
|
|
|
21
21
|
# Don't add a dependency to fastlane or fastlane_re
|
|
22
22
|
# since this would cause a circular dependency
|
|
@@ -3,7 +3,7 @@ require:
|
|
|
3
3
|
- rubocop/require_tools
|
|
4
4
|
- rubocop-performance
|
|
5
5
|
AllCops:
|
|
6
|
-
TargetRubyVersion: 2.
|
|
6
|
+
TargetRubyVersion: 2.6
|
|
7
7
|
NewCops: enable
|
|
8
8
|
Include:
|
|
9
9
|
- "**/*.rb"
|
|
@@ -18,6 +18,10 @@ AllCops:
|
|
|
18
18
|
- "**/lib/assets/MatchfileTemplate"
|
|
19
19
|
- "**/spec/fixtures/broken_files/broken_file.rb"
|
|
20
20
|
- "**/*.provisionprofile"
|
|
21
|
+
Lint/ErbNewArguments:
|
|
22
|
+
Enabled: false
|
|
23
|
+
Style/SlicingWithRange:
|
|
24
|
+
Enabled: false
|
|
21
25
|
Style/MultipleComparison:
|
|
22
26
|
Enabled: false
|
|
23
27
|
Style/PercentLiteralDelimiters:
|
|
@@ -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}'")
|
|
@@ -31,4 +31,20 @@ module Fastlane
|
|
|
31
31
|
"Screengrabfile",
|
|
32
32
|
"Snapshotfile"
|
|
33
33
|
]
|
|
34
|
+
|
|
35
|
+
TOOL_ALIASES = {
|
|
36
|
+
"get_certificates": "cert",
|
|
37
|
+
"upload_to_app_store": "deliver",
|
|
38
|
+
"frame_screenshots": "frameit",
|
|
39
|
+
"build_app": "gym",
|
|
40
|
+
"build_ios_app": "gym",
|
|
41
|
+
"build_mac_app": "gym",
|
|
42
|
+
"sync_code_signing": "match",
|
|
43
|
+
"get_push_certificate": "pem",
|
|
44
|
+
"check_app_store_metadata": "precheck",
|
|
45
|
+
"capture_android_screenshots": "screengrab",
|
|
46
|
+
"get_provisioning_profile": "sigh",
|
|
47
|
+
"capture_ios_screenshots": "snapshot",
|
|
48
|
+
"upload_to_play_store": "supply"
|
|
49
|
+
}
|
|
34
50
|
end
|