fastlane 2.206.2 → 2.209.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/deliver/lib/deliver/options.rb +1 -2
- 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/docs/frame_screenshots.md +1 -1
- data/fastlane/lib/fastlane/actions/import_certificate.rb +1 -1
- data/fastlane/lib/fastlane/actions/pod_push.rb +19 -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/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/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +2 -2
- data/fastlane/swift/Fastlane.swift +31 -11
- 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/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 +11 -12
- 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/frameit/lib/frameit/frame_downloader.rb +1 -1
- 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 +15 -2
- data/pilot/lib/pilot/build_manager.rb +2 -2
- 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 +63 -2
- data/trainer/lib/trainer/junit_generator.rb +1 -1
- metadata +23 -22
- 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: 4365af5245c1e699a98517b1fd465039495211ef71e77a2469cc64fa68b242a8
|
|
4
|
+
data.tar.gz: eda45f4dbc2ac0f97440e60d5d6a6b0fa2509b69440ff8dc2330a565d52e1eb3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 42af3ec9ae30e4ce2410fca62ff972a1afa264d7fa97df000b81aa84367dfd95bb818725e4fc7e857532fab026cc8b347a407f25fc11c3cdc7926cc7376677fb
|
|
7
|
+
data.tar.gz: 5d640fabaa7093a42e8b6f70218654a38dc95cc04820026b1616956534f2cc35b458dfe39f4e93653ef79f5718278c84734f16cf55af4cf4c523384b10b490e2
|
data/README.md
CHANGED
|
@@ -35,75 +35,29 @@ 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='olivier-halligon'>
|
|
39
|
-
<a href='https://github.com/AliSoftware'>
|
|
40
|
-
<img src='https://github.com/AliSoftware.png' width='140px;'>
|
|
41
|
-
</a>
|
|
42
|
-
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
|
43
|
-
</td>
|
|
44
|
-
<td id='maksym-grebenets'>
|
|
45
|
-
<a href='https://github.com/mgrebenets'>
|
|
46
|
-
<img src='https://github.com/mgrebenets.png' width='140px;'>
|
|
47
|
-
</a>
|
|
48
|
-
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
|
49
|
-
</td>
|
|
50
38
|
<td id='iulian-onofrei'>
|
|
51
39
|
<a href='https://github.com/revolter'>
|
|
52
40
|
<img src='https://github.com/revolter.png' width='140px;'>
|
|
53
41
|
</a>
|
|
54
42
|
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
|
55
43
|
</td>
|
|
56
|
-
<td id='
|
|
57
|
-
<a href='https://github.com/
|
|
58
|
-
<img src='https://github.com/
|
|
59
|
-
</a>
|
|
60
|
-
<h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
|
|
61
|
-
</td>
|
|
62
|
-
<td id='stefan-natchev'>
|
|
63
|
-
<a href='https://github.com/snatchev'>
|
|
64
|
-
<img src='https://github.com/snatchev.png' width='140px;'>
|
|
65
|
-
</a>
|
|
66
|
-
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
|
67
|
-
</td>
|
|
68
|
-
</tr>
|
|
69
|
-
<tr>
|
|
70
|
-
<td id='jimmy-dee'>
|
|
71
|
-
<a href='https://github.com/jdee'>
|
|
72
|
-
<img src='https://github.com/jdee.png' width='140px;'>
|
|
73
|
-
</a>
|
|
74
|
-
<h4 align='center'>Jimmy Dee</h4>
|
|
75
|
-
</td>
|
|
76
|
-
<td id='andrew-mcburney'>
|
|
77
|
-
<a href='https://github.com/armcburney'>
|
|
78
|
-
<img src='https://github.com/armcburney.png' width='140px;'>
|
|
79
|
-
</a>
|
|
80
|
-
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
|
81
|
-
</td>
|
|
82
|
-
<td id='luka-mirosevic'>
|
|
83
|
-
<a href='https://github.com/lmirosevic'>
|
|
84
|
-
<img src='https://github.com/lmirosevic.png' width='140px;'>
|
|
85
|
-
</a>
|
|
86
|
-
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
|
87
|
-
</td>
|
|
88
|
-
<td id='jorge-revuelta-h'>
|
|
89
|
-
<a href='https://github.com/minuscorp'>
|
|
90
|
-
<img src='https://github.com/minuscorp.png' width='140px;'>
|
|
44
|
+
<td id='manish-rathi'>
|
|
45
|
+
<a href='https://github.com/crazymanish'>
|
|
46
|
+
<img src='https://github.com/crazymanish.png' width='140px;'>
|
|
91
47
|
</a>
|
|
92
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
48
|
+
<h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</a></h4>
|
|
93
49
|
</td>
|
|
94
|
-
<td id='
|
|
95
|
-
<a href='https://github.com/
|
|
96
|
-
<img src='https://github.com/
|
|
50
|
+
<td id='olivier-halligon'>
|
|
51
|
+
<a href='https://github.com/AliSoftware'>
|
|
52
|
+
<img src='https://github.com/AliSoftware.png' width='140px;'>
|
|
97
53
|
</a>
|
|
98
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
54
|
+
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
|
99
55
|
</td>
|
|
100
|
-
|
|
101
|
-
<
|
|
102
|
-
<
|
|
103
|
-
<a href='https://github.com/taquitos'>
|
|
104
|
-
<img src='https://github.com/taquitos.png' width='140px;'>
|
|
56
|
+
<td id='łukasz-grabowski'>
|
|
57
|
+
<a href='https://github.com/lucgrabowski'>
|
|
58
|
+
<img src='https://github.com/lucgrabowski.png' width='140px;'>
|
|
105
59
|
</a>
|
|
106
|
-
<h4 align='center'
|
|
60
|
+
<h4 align='center'>Łukasz Grabowski</h4>
|
|
107
61
|
</td>
|
|
108
62
|
<td id='danielle-tomlinson'>
|
|
109
63
|
<a href='https://github.com/endocrimes'>
|
|
@@ -111,43 +65,51 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
111
65
|
</a>
|
|
112
66
|
<h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
|
|
113
67
|
</td>
|
|
114
|
-
|
|
115
|
-
<
|
|
116
|
-
<img src='https://github.com/lacostej.png' width='140px;'>
|
|
117
|
-
</a>
|
|
118
|
-
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
|
119
|
-
</td>
|
|
68
|
+
</tr>
|
|
69
|
+
<tr>
|
|
120
70
|
<td id='josh-holtz'>
|
|
121
71
|
<a href='https://github.com/joshdholtz'>
|
|
122
72
|
<img src='https://github.com/joshdholtz.png' width='140px;'>
|
|
123
73
|
</a>
|
|
124
74
|
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
|
125
75
|
</td>
|
|
76
|
+
<td id='matthew-ellis'>
|
|
77
|
+
<a href='https://github.com/matthewellis'>
|
|
78
|
+
<img src='https://github.com/matthewellis.png' width='140px;'>
|
|
79
|
+
</a>
|
|
80
|
+
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
|
81
|
+
</td>
|
|
82
|
+
<td id='fumiya-nakamura'>
|
|
83
|
+
<a href='https://github.com/nafu'>
|
|
84
|
+
<img src='https://github.com/nafu.png' width='140px;'>
|
|
85
|
+
</a>
|
|
86
|
+
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
|
|
87
|
+
</td>
|
|
126
88
|
<td id='jan-piotrowski'>
|
|
127
89
|
<a href='https://github.com/janpio'>
|
|
128
90
|
<img src='https://github.com/janpio.png' width='140px;'>
|
|
129
91
|
</a>
|
|
130
92
|
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
|
131
93
|
</td>
|
|
132
|
-
|
|
133
|
-
<
|
|
134
|
-
<
|
|
135
|
-
<a href='https://github.com/max-ott'>
|
|
136
|
-
<img src='https://github.com/max-ott.png' width='140px;'>
|
|
94
|
+
<td id='manu-wallner'>
|
|
95
|
+
<a href='https://github.com/milch'>
|
|
96
|
+
<img src='https://github.com/milch.png' width='140px;'>
|
|
137
97
|
</a>
|
|
138
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
98
|
+
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
|
139
99
|
</td>
|
|
140
|
-
|
|
141
|
-
<
|
|
142
|
-
<
|
|
100
|
+
</tr>
|
|
101
|
+
<tr>
|
|
102
|
+
<td id='kohki-miki'>
|
|
103
|
+
<a href='https://github.com/giginet'>
|
|
104
|
+
<img src='https://github.com/giginet.png' width='140px;'>
|
|
143
105
|
</a>
|
|
144
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
106
|
+
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
|
145
107
|
</td>
|
|
146
|
-
<td id='
|
|
147
|
-
<a href='https://github.com/
|
|
148
|
-
<img src='https://github.com/
|
|
108
|
+
<td id='jimmy-dee'>
|
|
109
|
+
<a href='https://github.com/jdee'>
|
|
110
|
+
<img src='https://github.com/jdee.png' width='140px;'>
|
|
149
111
|
</a>
|
|
150
|
-
<h4 align='center'
|
|
112
|
+
<h4 align='center'>Jimmy Dee</h4>
|
|
151
113
|
</td>
|
|
152
114
|
<td id='helmut-januschka'>
|
|
153
115
|
<a href='https://github.com/hjanuschka'>
|
|
@@ -155,52 +117,90 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
155
117
|
</a>
|
|
156
118
|
<h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
|
|
157
119
|
</td>
|
|
158
|
-
<td id='
|
|
159
|
-
<a href='https://github.com/
|
|
160
|
-
<img src='https://github.com/
|
|
120
|
+
<td id='satoshi-namai'>
|
|
121
|
+
<a href='https://github.com/ainame'>
|
|
122
|
+
<img src='https://github.com/ainame.png' width='140px;'>
|
|
161
123
|
</a>
|
|
162
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
124
|
+
<h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
|
|
125
|
+
</td>
|
|
126
|
+
<td id='andrew-mcburney'>
|
|
127
|
+
<a href='https://github.com/armcburney'>
|
|
128
|
+
<img src='https://github.com/armcburney.png' width='140px;'>
|
|
129
|
+
</a>
|
|
130
|
+
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
|
163
131
|
</td>
|
|
164
132
|
</tr>
|
|
165
133
|
<tr>
|
|
166
|
-
<td id='
|
|
167
|
-
<a href='https://github.com/
|
|
168
|
-
<img src='https://github.com/
|
|
134
|
+
<td id='stefan-natchev'>
|
|
135
|
+
<a href='https://github.com/snatchev'>
|
|
136
|
+
<img src='https://github.com/snatchev.png' width='140px;'>
|
|
169
137
|
</a>
|
|
170
|
-
<h4 align='center'
|
|
138
|
+
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
|
171
139
|
</td>
|
|
172
|
-
<td id='
|
|
173
|
-
<a href='https://github.com/
|
|
174
|
-
<img src='https://github.com/
|
|
140
|
+
<td id='luka-mirosevic'>
|
|
141
|
+
<a href='https://github.com/lmirosevic'>
|
|
142
|
+
<img src='https://github.com/lmirosevic.png' width='140px;'>
|
|
175
143
|
</a>
|
|
176
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
144
|
+
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
|
177
145
|
</td>
|
|
178
|
-
<td id='
|
|
179
|
-
<a href='https://github.com/
|
|
180
|
-
<img src='https://github.com/
|
|
146
|
+
<td id='maksym-grebenets'>
|
|
147
|
+
<a href='https://github.com/mgrebenets'>
|
|
148
|
+
<img src='https://github.com/mgrebenets.png' width='140px;'>
|
|
181
149
|
</a>
|
|
182
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
150
|
+
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
|
183
151
|
</td>
|
|
184
|
-
<td id='
|
|
185
|
-
<a href='https://github.com/
|
|
186
|
-
<img src='https://github.com/
|
|
152
|
+
<td id='jérôme-lacoste'>
|
|
153
|
+
<a href='https://github.com/lacostej'>
|
|
154
|
+
<img src='https://github.com/lacostej.png' width='140px;'>
|
|
187
155
|
</a>
|
|
188
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
156
|
+
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
|
189
157
|
</td>
|
|
190
|
-
<td id='
|
|
191
|
-
<a href='https://github.com/
|
|
192
|
-
<img src='https://github.com/
|
|
158
|
+
<td id='jorge-revuelta-h'>
|
|
159
|
+
<a href='https://github.com/minuscorp'>
|
|
160
|
+
<img src='https://github.com/minuscorp.png' width='140px;'>
|
|
193
161
|
</a>
|
|
194
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
162
|
+
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
|
195
163
|
</td>
|
|
196
164
|
</tr>
|
|
197
165
|
<tr>
|
|
166
|
+
<td id='roger-oba'>
|
|
167
|
+
<a href='https://github.com/rogerluan'>
|
|
168
|
+
<img src='https://github.com/rogerluan.png' width='140px;'>
|
|
169
|
+
</a>
|
|
170
|
+
<h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
|
|
171
|
+
</td>
|
|
198
172
|
<td id='felix-krause'>
|
|
199
173
|
<a href='https://github.com/KrauseFx'>
|
|
200
174
|
<img src='https://github.com/KrauseFx.png' width='140px;'>
|
|
201
175
|
</a>
|
|
202
176
|
<h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
|
|
203
177
|
</td>
|
|
178
|
+
<td id='joshua-liebowitz'>
|
|
179
|
+
<a href='https://github.com/taquitos'>
|
|
180
|
+
<img src='https://github.com/taquitos.png' width='140px;'>
|
|
181
|
+
</a>
|
|
182
|
+
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
|
183
|
+
</td>
|
|
184
|
+
<td id='aaron-brager'>
|
|
185
|
+
<a href='https://github.com/getaaron'>
|
|
186
|
+
<img src='https://github.com/getaaron.png' width='140px;'>
|
|
187
|
+
</a>
|
|
188
|
+
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
|
189
|
+
</td>
|
|
190
|
+
<td id='daniel-jankowski'>
|
|
191
|
+
<a href='https://github.com/mollyIV'>
|
|
192
|
+
<img src='https://github.com/mollyIV.png' width='140px;'>
|
|
193
|
+
</a>
|
|
194
|
+
<h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
|
|
195
|
+
</td>
|
|
196
|
+
</tr>
|
|
197
|
+
<tr>
|
|
198
|
+
<td id='max-ott'>
|
|
199
|
+
<a href='https://github.com/max-ott'>
|
|
200
|
+
<img src='https://github.com/max-ott.png' width='140px;'>
|
|
201
|
+
</a>
|
|
202
|
+
<h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
|
|
203
|
+
</td>
|
|
204
204
|
</table>
|
|
205
205
|
|
|
206
206
|
Special thanks to all [contributors](https://github.com/fastlane/fastlane/graphs/contributors) for extending and improving _fastlane_.
|
|
@@ -164,8 +164,7 @@ module Deliver
|
|
|
164
164
|
default_value: false),
|
|
165
165
|
FastlaneCore::ConfigItem.new(key: :sync_screenshots,
|
|
166
166
|
env_name: "DELIVER_SYNC_SCREENSHOTS",
|
|
167
|
-
description: "Sync screenshots with local ones. This is currently beta option"
|
|
168
|
-
"so set true to 'FASTLANE_ENABLE_BETA_DELIVER_SYNC_SCREENSHOTS' environment variable as well",
|
|
167
|
+
description: "Sync screenshots with local ones. This is currently beta option so set true to 'FASTLANE_ENABLE_BETA_DELIVER_SYNC_SCREENSHOTS' environment variable as well",
|
|
169
168
|
type: Boolean,
|
|
170
169
|
default_value: false),
|
|
171
170
|
FastlaneCore::ConfigItem.new(key: :submit_for_review,
|
|
@@ -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|
|
|
@@ -60,7 +60,7 @@ Here is a nice gif, that shows _frameit_ in action:
|
|
|
60
60
|
<h5 align="center">The <em>frameit</em> 2.0 update was kindly sponsored by <a href="https://mindnode.com/">MindNode</a>, seen in the screenshots above.</h5>
|
|
61
61
|
|
|
62
62
|
|
|
63
|
-
The first time that _frameit_ is executed the frames will be downloaded automatically. Originally the frames are coming from [Facebook frameset](
|
|
63
|
+
The first time that _frameit_ is executed the frames will be downloaded automatically. Originally the frames are coming from [Facebook frameset](https://design.facebook.com/toolsandresources/devices/) and they are kept on [this repo](https://github.com/fastlane/frameit-frames).
|
|
64
64
|
|
|
65
65
|
More information about this process and how to update the frames can be found [here](https://github.com/fastlane/fastlane/tree/master/frameit/frames_generator)
|
|
66
66
|
|
|
@@ -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"
|
|
@@ -59,6 +59,14 @@ module Fastlane
|
|
|
59
59
|
command << "--synchronous"
|
|
60
60
|
end
|
|
61
61
|
|
|
62
|
+
if params[:no_overwrite]
|
|
63
|
+
command << "--no-overwrite"
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
if params[:local_only]
|
|
67
|
+
command << "--local-only"
|
|
68
|
+
end
|
|
69
|
+
|
|
62
70
|
result = Actions.sh(command.join(' '))
|
|
63
71
|
UI.success("Successfully pushed Podspec ⬆️ ")
|
|
64
72
|
return result
|
|
@@ -143,7 +151,17 @@ module Fastlane
|
|
|
143
151
|
description: "If validation depends on other recently pushed pods, synchronize",
|
|
144
152
|
optional: true,
|
|
145
153
|
type: Boolean,
|
|
146
|
-
env_name: "FL_POD_PUSH_SYNCHRONOUS")
|
|
154
|
+
env_name: "FL_POD_PUSH_SYNCHRONOUS"),
|
|
155
|
+
FastlaneCore::ConfigItem.new(key: :no_overwrite,
|
|
156
|
+
description: "Disallow pushing that would overwrite an existing spec",
|
|
157
|
+
optional: true,
|
|
158
|
+
type: Boolean,
|
|
159
|
+
env_name: "FL_POD_PUSH_NO_OVERWRITE"),
|
|
160
|
+
FastlaneCore::ConfigItem.new(key: :local_only,
|
|
161
|
+
description: "Does not perform the step of pushing REPO to its remote",
|
|
162
|
+
optional: true,
|
|
163
|
+
type: Boolean,
|
|
164
|
+
env_name: "FL_POD_PUSH_LOCAL_ONLY")
|
|
147
165
|
]
|
|
148
166
|
end
|
|
149
167
|
|
|
@@ -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\''],
|
|
@@ -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}'")
|