fastlane 2.178.0 → 2.179.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/LICENSE +1 -1
- data/README.md +93 -80
- data/cert/lib/cert/options.rb +1 -0
- data/cert/lib/cert/runner.rb +4 -0
- data/deliver/lib/deliver/download_screenshots.rb +1 -2
- data/deliver/lib/deliver/options.rb +1 -0
- data/deliver/lib/deliver/runner.rb +4 -0
- data/deliver/lib/deliver/setup.rb +0 -1
- data/deliver/lib/deliver/upload_metadata.rb +2 -1
- data/fastlane/lib/fastlane/actions/app_store_build_number.rb +5 -0
- data/fastlane/lib/fastlane/actions/app_store_connect_api_key.rb +2 -2
- data/fastlane/lib/fastlane/actions/build_app.rb +4 -0
- data/fastlane/lib/fastlane/actions/check_app_store_metadata.rb +4 -0
- data/fastlane/lib/fastlane/actions/docs/upload_to_play_store.md +2 -1
- data/fastlane/lib/fastlane/actions/get_provisioning_profile.rb +4 -0
- data/fastlane/lib/fastlane/actions/get_version_number.rb +17 -10
- data/fastlane/lib/fastlane/actions/git_branch.rb +4 -10
- data/fastlane/lib/fastlane/actions/git_tag_exists.rb +4 -0
- data/fastlane/lib/fastlane/actions/install_provisioning_profile.rb +4 -0
- data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +1 -0
- data/fastlane/lib/fastlane/actions/match_nuke.rb +59 -0
- data/fastlane/lib/fastlane/actions/spaceship_logs.rb +1 -1
- data/fastlane/lib/fastlane/actions/update_project_provisioning.rb +1 -2
- data/fastlane/lib/fastlane/helper/git_helper.rb +11 -7
- data/fastlane/lib/fastlane/plugins/plugin_fetcher.rb +1 -2
- data/fastlane/lib/fastlane/plugins/plugin_info_collector.rb +1 -2
- data/fastlane/lib/fastlane/plugins/plugin_manager.rb +1 -2
- data/fastlane/lib/fastlane/swift_fastlane_function.rb +4 -0
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +3 -3
- data/fastlane/swift/Fastlane.swift +441 -294
- 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 +3 -3
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/ScanfileProtocol.swift +1 -1
- data/fastlane/swift/Screengrabfile.swift +1 -1
- data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
- data/fastlane/swift/Snapshotfile.swift +1 -1
- data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
- data/fastlane/swift/formatting/Brewfile.lock.json +11 -11
- data/fastlane_core/lib/fastlane_core/configuration/configuration.rb +5 -3
- data/fastlane_core/lib/fastlane_core/helper.rb +24 -1
- data/gym/lib/gym/generators/package_command_generator.rb +4 -0
- data/gym/lib/gym/generators/package_command_generator_xcode7.rb +13 -8
- data/gym/lib/gym/runner.rb +11 -4
- data/match/lib/match/change_password.rb +3 -3
- data/match/lib/match/encryption/interface.rb +1 -1
- data/match/lib/match/encryption/openssl.rb +2 -2
- data/match/lib/match/module.rb +1 -0
- data/pilot/lib/pilot/manager.rb +4 -0
- data/pilot/lib/pilot/options.rb +1 -0
- data/precheck/lib/precheck/options.rb +1 -0
- data/precheck/lib/precheck/runner.rb +4 -0
- data/screengrab/lib/screengrab/android_environment.rb +6 -4
- data/screengrab/lib/screengrab/runner.rb +1 -1
- data/sigh/lib/sigh/options.rb +1 -0
- data/sigh/lib/sigh/runner.rb +4 -0
- metadata +19 -16
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 37bd22615ab9e8e6eaa0861b231896cfa234eb207772352f26d727f7735c34c5
|
|
4
|
+
data.tar.gz: bc34b9e91a9b80abc345780db060f494a9012c15df9292336ff428234228aad7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5dfdc64c102b6ae9d723ba7bc9cdbcf1bcb517c620475c8bf1f3eded3d1ccfc47705b85eea80f6112e946b339344550b51a4f3ed1d6c571e1974625931c53336
|
|
7
|
+
data.tar.gz: d53a201dcc0da9a8f4eb0fb88b629be149ea3cebde1225c59072a236d9e6ec705b69aeccf4bd3d0c55abc5b457e1557ab7169779b20d8bbf86299cb7605d0abb
|
data/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
The MIT License (MIT)
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2015-
|
|
3
|
+
Copyright (c) 2015-2021 The Fastlane Authors
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
data/README.md
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
[](https://twitter.com/FastlaneTools)
|
|
8
8
|
[](https://github.com/fastlane/fastlane/blob/master/LICENSE)
|
|
9
9
|
[](https://rubygems.org/gems/fastlane)
|
|
10
|
+
[](https://formulae.brew.sh/formula/fastlane)
|
|
10
11
|
[](https://circleci.com/gh/fastlane/fastlane)
|
|
11
12
|
[](https://github.com/fastlane/fastlane/blob/master/CONTRIBUTING.md)
|
|
12
13
|
|
|
@@ -34,49 +35,43 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
34
35
|
<!-- This table is regenerated and resorted on each release -->
|
|
35
36
|
<table id='team'>
|
|
36
37
|
<tr>
|
|
37
|
-
<td id='kohki-miki'>
|
|
38
|
-
<a href='https://github.com/giginet'>
|
|
39
|
-
<img src='https://github.com/giginet.png?size=140'>
|
|
40
|
-
</a>
|
|
41
|
-
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
|
42
|
-
</td>
|
|
43
38
|
<td id='joshua-liebowitz'>
|
|
44
39
|
<a href='https://github.com/taquitos'>
|
|
45
40
|
<img src='https://github.com/taquitos.png?size=140'>
|
|
46
41
|
</a>
|
|
47
42
|
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
|
48
43
|
</td>
|
|
49
|
-
<td id='
|
|
50
|
-
<a href='https://github.com/
|
|
51
|
-
<img src='https://github.com/
|
|
52
|
-
</a>
|
|
53
|
-
<h4 align='center'>Jimmy Dee</h4>
|
|
54
|
-
</td>
|
|
55
|
-
<td id='jan-piotrowski'>
|
|
56
|
-
<a href='https://github.com/janpio'>
|
|
57
|
-
<img src='https://github.com/janpio.png?size=140'>
|
|
58
|
-
</a>
|
|
59
|
-
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
|
60
|
-
</td>
|
|
61
|
-
<td id='jérôme-lacoste'>
|
|
62
|
-
<a href='https://github.com/lacostej'>
|
|
63
|
-
<img src='https://github.com/lacostej.png?size=140'>
|
|
44
|
+
<td id='manu-wallner'>
|
|
45
|
+
<a href='https://github.com/milch'>
|
|
46
|
+
<img src='https://github.com/milch.png?size=140'>
|
|
64
47
|
</a>
|
|
65
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
48
|
+
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
|
66
49
|
</td>
|
|
67
|
-
</tr>
|
|
68
|
-
<tr>
|
|
69
50
|
<td id='josh-holtz'>
|
|
70
51
|
<a href='https://github.com/joshdholtz'>
|
|
71
52
|
<img src='https://github.com/joshdholtz.png?size=140'>
|
|
72
53
|
</a>
|
|
73
54
|
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
|
74
55
|
</td>
|
|
75
|
-
<td id='
|
|
76
|
-
<a href='https://github.com/
|
|
77
|
-
<img src='https://github.com/
|
|
56
|
+
<td id='stefan-natchev'>
|
|
57
|
+
<a href='https://github.com/snatchev'>
|
|
58
|
+
<img src='https://github.com/snatchev.png?size=140'>
|
|
78
59
|
</a>
|
|
79
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
60
|
+
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
|
61
|
+
</td>
|
|
62
|
+
<td id='satoshi-namai'>
|
|
63
|
+
<a href='https://github.com/ainame'>
|
|
64
|
+
<img src='https://github.com/ainame.png?size=140'>
|
|
65
|
+
</a>
|
|
66
|
+
<h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</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?size=140'>
|
|
73
|
+
</a>
|
|
74
|
+
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
|
80
75
|
</td>
|
|
81
76
|
<td id='matthew-ellis'>
|
|
82
77
|
<a href='https://github.com/matthewellis'>
|
|
@@ -84,31 +79,37 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
84
79
|
</a>
|
|
85
80
|
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
|
86
81
|
</td>
|
|
87
|
-
<td id='
|
|
88
|
-
<a href='https://github.com/
|
|
89
|
-
<img src='https://github.com/
|
|
82
|
+
<td id='aaron-brager'>
|
|
83
|
+
<a href='https://github.com/getaaron'>
|
|
84
|
+
<img src='https://github.com/getaaron.png?size=140'>
|
|
90
85
|
</a>
|
|
91
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
86
|
+
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
|
92
87
|
</td>
|
|
93
|
-
<td id='
|
|
94
|
-
<a href='https://github.com/
|
|
95
|
-
<img src='https://github.com/
|
|
88
|
+
<td id='iulian-onofrei'>
|
|
89
|
+
<a href='https://github.com/revolter'>
|
|
90
|
+
<img src='https://github.com/revolter.png?size=140'>
|
|
96
91
|
</a>
|
|
97
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
92
|
+
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
|
93
|
+
</td>
|
|
94
|
+
<td id='jimmy-dee'>
|
|
95
|
+
<a href='https://github.com/jdee'>
|
|
96
|
+
<img src='https://github.com/jdee.png?size=140'>
|
|
97
|
+
</a>
|
|
98
|
+
<h4 align='center'>Jimmy Dee</h4>
|
|
98
99
|
</td>
|
|
99
100
|
</tr>
|
|
100
101
|
<tr>
|
|
101
|
-
<td id='
|
|
102
|
-
<a href='https://github.com/
|
|
103
|
-
<img src='https://github.com/
|
|
102
|
+
<td id='jan-piotrowski'>
|
|
103
|
+
<a href='https://github.com/janpio'>
|
|
104
|
+
<img src='https://github.com/janpio.png?size=140'>
|
|
104
105
|
</a>
|
|
105
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
106
|
+
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
|
106
107
|
</td>
|
|
107
|
-
<td id='
|
|
108
|
-
<a href='https://github.com/
|
|
109
|
-
<img src='https://github.com/
|
|
108
|
+
<td id='helmut-januschka'>
|
|
109
|
+
<a href='https://github.com/hjanuschka'>
|
|
110
|
+
<img src='https://github.com/hjanuschka.png?size=140'>
|
|
110
111
|
</a>
|
|
111
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
112
|
+
<h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
|
|
112
113
|
</td>
|
|
113
114
|
<td id='maksym-grebenets'>
|
|
114
115
|
<a href='https://github.com/mgrebenets'>
|
|
@@ -116,43 +117,43 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
116
117
|
</a>
|
|
117
118
|
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
|
118
119
|
</td>
|
|
119
|
-
<td id='
|
|
120
|
-
<a href='https://github.com/
|
|
121
|
-
<img src='https://github.com/
|
|
120
|
+
<td id='danielle-tomlinson'>
|
|
121
|
+
<a href='https://github.com/endocrimes'>
|
|
122
|
+
<img src='https://github.com/endocrimes.png?size=140'>
|
|
122
123
|
</a>
|
|
123
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
124
|
+
<h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
|
|
124
125
|
</td>
|
|
125
|
-
<td id='
|
|
126
|
-
<a href='https://github.com/
|
|
127
|
-
<img src='https://github.com/
|
|
126
|
+
<td id='fumiya-nakamura'>
|
|
127
|
+
<a href='https://github.com/nafu'>
|
|
128
|
+
<img src='https://github.com/nafu.png?size=140'>
|
|
128
129
|
</a>
|
|
129
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
130
|
+
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
|
|
130
131
|
</td>
|
|
131
132
|
</tr>
|
|
132
133
|
<tr>
|
|
133
|
-
<td id='
|
|
134
|
-
<a href='https://github.com/
|
|
135
|
-
<img src='https://github.com/
|
|
134
|
+
<td id='jorge-revuelta-h'>
|
|
135
|
+
<a href='https://github.com/minuscorp'>
|
|
136
|
+
<img src='https://github.com/minuscorp.png?size=140'>
|
|
136
137
|
</a>
|
|
137
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
138
|
+
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
|
138
139
|
</td>
|
|
139
|
-
<td id='
|
|
140
|
-
<a href='https://github.com/
|
|
141
|
-
<img src='https://github.com/
|
|
140
|
+
<td id='felix-krause'>
|
|
141
|
+
<a href='https://github.com/KrauseFx'>
|
|
142
|
+
<img src='https://github.com/KrauseFx.png?size=140'>
|
|
142
143
|
</a>
|
|
143
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
144
|
+
<h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
|
|
144
145
|
</td>
|
|
145
|
-
<td id='
|
|
146
|
-
<a href='https://github.com/
|
|
147
|
-
<img src='https://github.com/
|
|
146
|
+
<td id='roger-oba'>
|
|
147
|
+
<a href='https://github.com/rogerluan'>
|
|
148
|
+
<img src='https://github.com/rogerluan.png?size=140'>
|
|
148
149
|
</a>
|
|
149
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
150
|
+
<h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
|
|
150
151
|
</td>
|
|
151
|
-
<td id='
|
|
152
|
-
<a href='https://github.com/
|
|
153
|
-
<img src='https://github.com/
|
|
152
|
+
<td id='daniel-jankowski'>
|
|
153
|
+
<a href='https://github.com/mollyIV'>
|
|
154
|
+
<img src='https://github.com/mollyIV.png?size=140'>
|
|
154
155
|
</a>
|
|
155
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
156
|
+
<h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
|
|
156
157
|
</td>
|
|
157
158
|
<td id='olivier-halligon'>
|
|
158
159
|
<a href='https://github.com/AliSoftware'>
|
|
@@ -162,17 +163,29 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
162
163
|
</td>
|
|
163
164
|
</tr>
|
|
164
165
|
<tr>
|
|
165
|
-
<td id='
|
|
166
|
-
<a href='https://github.com/
|
|
167
|
-
<img src='https://github.com/
|
|
166
|
+
<td id='kohki-miki'>
|
|
167
|
+
<a href='https://github.com/giginet'>
|
|
168
|
+
<img src='https://github.com/giginet.png?size=140'>
|
|
168
169
|
</a>
|
|
169
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
170
|
+
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
|
170
171
|
</td>
|
|
171
|
-
<td id='
|
|
172
|
-
<a href='https://github.com/
|
|
173
|
-
<img src='https://github.com/
|
|
172
|
+
<td id='max-ott'>
|
|
173
|
+
<a href='https://github.com/max-ott'>
|
|
174
|
+
<img src='https://github.com/max-ott.png?size=140'>
|
|
174
175
|
</a>
|
|
175
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
176
|
+
<h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
|
|
177
|
+
</td>
|
|
178
|
+
<td id='luka-mirosevic'>
|
|
179
|
+
<a href='https://github.com/lmirosevic'>
|
|
180
|
+
<img src='https://github.com/lmirosevic.png?size=140'>
|
|
181
|
+
</a>
|
|
182
|
+
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
|
183
|
+
</td>
|
|
184
|
+
<td id='andrew-mcburney'>
|
|
185
|
+
<a href='https://github.com/armcburney'>
|
|
186
|
+
<img src='https://github.com/armcburney.png?size=140'>
|
|
187
|
+
</a>
|
|
188
|
+
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
|
176
189
|
</td>
|
|
177
190
|
</table>
|
|
178
191
|
|
|
@@ -187,12 +200,12 @@ Check out [CONTRIBUTING.md](CONTRIBUTING.md) for more information on how to help
|
|
|
187
200
|
Help us keep _fastlane_ open and inclusive. Please read and follow our [Code of Conduct](https://github.com/fastlane/fastlane/blob/master/CODE_OF_CONDUCT.md).
|
|
188
201
|
|
|
189
202
|
## Metrics
|
|
190
|
-
|
|
191
|
-
_fastlane_ tracks a few key metrics to understand how developers are using the tool and to help us know what areas need improvement. No personal/sensitive information is ever collected. Metrics that are collected include:
|
|
192
|
-
|
|
203
|
+
|
|
204
|
+
_fastlane_ tracks a few key metrics to understand how developers are using the tool and to help us know what areas need improvement. No personal/sensitive information is ever collected. Metrics that are collected include:
|
|
205
|
+
|
|
193
206
|
* The number of _fastlane_ runs
|
|
194
207
|
* A salted hash of the app identifier or package name, which helps us anonymously identify unique usage of _fastlane_
|
|
195
|
-
|
|
208
|
+
|
|
196
209
|
You can easily opt-out of metrics collection by adding `opt_out_usage` at the top of your `Fastfile` or by setting the environment variable `FASTLANE_OPT_OUT_USAGE`. [Check out the metrics code on GitHub](https://github.com/fastlane/fastlane/tree/master/fastlane_core/lib/fastlane_core/analytics)
|
|
197
210
|
|
|
198
211
|
## License
|
data/cert/lib/cert/options.rb
CHANGED
data/cert/lib/cert/runner.rb
CHANGED
|
@@ -24,6 +24,10 @@ module Cert
|
|
|
24
24
|
UI.message("Creating authorization token for App Store Connect API")
|
|
25
25
|
Spaceship::ConnectAPI.token = api_token
|
|
26
26
|
else
|
|
27
|
+
# Username is now optional since addition of App Store Connect API Key
|
|
28
|
+
# Force asking for username to prompt user if not already set
|
|
29
|
+
Cert.config.fetch(:username, force_ask: true)
|
|
30
|
+
|
|
27
31
|
UI.message("Starting login with user '#{Cert.config[:username]}'")
|
|
28
32
|
Spaceship::ConnectAPI.login(Cert.config[:username], nil, use_portal: true, use_tunes: false)
|
|
29
33
|
UI.message("Successfully logged in")
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
require_relative 'module'
|
|
2
2
|
require 'spaceship'
|
|
3
|
-
require 'open-uri'
|
|
4
3
|
|
|
5
4
|
module Deliver
|
|
6
5
|
class DownloadScreenshots
|
|
@@ -68,7 +67,7 @@ module Deliver
|
|
|
68
67
|
end
|
|
69
68
|
|
|
70
69
|
path = File.join(containing_folder, file_name)
|
|
71
|
-
File.binwrite(path,
|
|
70
|
+
File.binwrite(path, FastlaneCore::Helper.open_uri(url).read)
|
|
72
71
|
end
|
|
73
72
|
end
|
|
74
73
|
end
|
|
@@ -30,6 +30,10 @@ module Deliver
|
|
|
30
30
|
UI.message("Creating authorization token for App Store Connect API")
|
|
31
31
|
Spaceship::ConnectAPI.token = api_token
|
|
32
32
|
else
|
|
33
|
+
# Username is now optional since addition of App Store Connect API Key
|
|
34
|
+
# Force asking for username to prompt user if not already set
|
|
35
|
+
options.fetch(:username, force_ask: true)
|
|
36
|
+
|
|
33
37
|
# Team selection passed though FASTLANE_TEAM_ID and FASTLANE_TEAM_NAME environment variables
|
|
34
38
|
# Prompts select team if multiple teams and none specified
|
|
35
39
|
UI.message("Login to App Store Connect (#{options[:username]})")
|
|
@@ -592,8 +592,9 @@ module Deliver
|
|
|
592
592
|
end
|
|
593
593
|
|
|
594
594
|
def set_review_information(version, options)
|
|
595
|
-
return unless options[:app_review_information]
|
|
596
595
|
info = options[:app_review_information]
|
|
596
|
+
return if info.nil? || info.empty?
|
|
597
|
+
|
|
597
598
|
info = info.collect { |k, v| [k.to_sym, v] }.to_h
|
|
598
599
|
UI.user_error!("`app_review_information` must be a hash", show_github_issues: true) unless info.kind_of?(Hash)
|
|
599
600
|
|
|
@@ -32,6 +32,10 @@ module Fastlane
|
|
|
32
32
|
UI.message("Using App Store Connect API token...")
|
|
33
33
|
Spaceship::ConnectAPI.token = token
|
|
34
34
|
else
|
|
35
|
+
# Username is now optional since addition of App Store Connect API Key
|
|
36
|
+
# Force asking for username to prompt user if not already set
|
|
37
|
+
params.fetch(:username, force_ask: true)
|
|
38
|
+
|
|
35
39
|
UI.message("Login to App Store Connect (#{params[:username]})")
|
|
36
40
|
Spaceship::ConnectAPI.login(params[:username], use_portal: false, use_tunes: true, tunes_team_id: params[:team_id], team_name: params[:team_name])
|
|
37
41
|
UI.message("Login successful")
|
|
@@ -147,6 +151,7 @@ module Fastlane
|
|
|
147
151
|
short_option: "-u",
|
|
148
152
|
env_name: "ITUNESCONNECT_USER",
|
|
149
153
|
description: "Your Apple ID Username",
|
|
154
|
+
optional: true,
|
|
150
155
|
default_value: user,
|
|
151
156
|
default_value_dynamic: true),
|
|
152
157
|
FastlaneCore::ConfigItem.new(key: :team_id,
|
|
@@ -29,7 +29,7 @@ module Fastlane
|
|
|
29
29
|
key = {
|
|
30
30
|
key_id: key_id,
|
|
31
31
|
issuer_id: issuer_id,
|
|
32
|
-
key: key_content || File.binread(key_filepath),
|
|
32
|
+
key: key_content || File.binread(File.expand_path(key_filepath)),
|
|
33
33
|
is_key_content_base64: is_key_content_base64,
|
|
34
34
|
duration: duration,
|
|
35
35
|
in_house: in_house
|
|
@@ -58,7 +58,7 @@ module Fastlane
|
|
|
58
58
|
optional: true,
|
|
59
59
|
conflicting_options: [:key_content],
|
|
60
60
|
verify_block: proc do |value|
|
|
61
|
-
UI.user_error!("Couldn't find key p8 file at path '#{value}'") unless File.exist?(value)
|
|
61
|
+
UI.user_error!("Couldn't find key p8 file at path '#{value}'") unless File.exist?(File.expand_path(value))
|
|
62
62
|
end),
|
|
63
63
|
FastlaneCore::ConfigItem.new(key: :key_content,
|
|
64
64
|
env_name: "APP_STORE_CONNECT_API_KEY_KEY",
|
|
@@ -138,7 +138,7 @@ Inside of a given locale directory is a folder called `images`. Here you can sup
|
|
|
138
138
|
- `promoGraphic`
|
|
139
139
|
- `tvBanner`
|
|
140
140
|
|
|
141
|
-
You can also supply screenshots by creating directories within the `images` directory with the following names, containing PNGs or JPEGs
|
|
141
|
+
You can also supply screenshots by creating directories within the `images` directory with the following names, containing PNGs or JPEGs:
|
|
142
142
|
|
|
143
143
|
- `phoneScreenshots/`
|
|
144
144
|
- `sevenInchScreenshots/` (7-inch tablets)
|
|
@@ -146,6 +146,7 @@ You can also supply screenshots by creating directories within the `images` dire
|
|
|
146
146
|
- `tvScreenshots/`
|
|
147
147
|
- `wearScreenshots/`
|
|
148
148
|
|
|
149
|
+
You may name images anything you like, but screenshots will appear in the Play Store in alphanumerical filename order.
|
|
149
150
|
Note that these will replace the current images and screenshots on the play store listing, not add to them.
|
|
150
151
|
|
|
151
152
|
## Changelogs (What's new)
|
|
@@ -68,6 +68,10 @@ module Fastlane
|
|
|
68
68
|
"The UUID of the profile sigh just fetched/generated"
|
|
69
69
|
end
|
|
70
70
|
|
|
71
|
+
def self.return_type
|
|
72
|
+
:string
|
|
73
|
+
end
|
|
74
|
+
|
|
71
75
|
def self.details
|
|
72
76
|
"**Note**: It is recommended to use [match](https://docs.fastlane.tools/actions/match/) according to the [codesigning.guide](https://codesigning.guide) for generating and maintaining your provisioning profiles. Use _sigh_ directly only if you want full control over what's going on and know more about codesigning."
|
|
73
77
|
end
|
|
@@ -8,14 +8,15 @@ module Fastlane
|
|
|
8
8
|
require 'shellwords'
|
|
9
9
|
|
|
10
10
|
def self.run(params)
|
|
11
|
-
|
|
11
|
+
xcodeproj_path_or_dir = params[:xcodeproj] || '.'
|
|
12
|
+
xcodeproj_dir = File.extname(xcodeproj_path_or_dir) == ".xcodeproj" ? File.dirname(xcodeproj_path_or_dir) : xcodeproj_path_or_dir
|
|
12
13
|
target_name = params[:target]
|
|
13
14
|
configuration = params[:configuration]
|
|
14
15
|
|
|
15
16
|
# Get version_number
|
|
16
|
-
project = get_project!(
|
|
17
|
+
project = get_project!(xcodeproj_path_or_dir)
|
|
17
18
|
target = get_target!(project, target_name)
|
|
18
|
-
plist_file = get_plist!(
|
|
19
|
+
plist_file = get_plist!(xcodeproj_dir, target, configuration)
|
|
19
20
|
version_number = get_version_number_from_plist!(plist_file)
|
|
20
21
|
|
|
21
22
|
# Get from build settings (or project settings) if needed (ex: $(MARKETING_VERSION) is default in Xcode 11)
|
|
@@ -39,13 +40,18 @@ module Fastlane
|
|
|
39
40
|
return version_number
|
|
40
41
|
end
|
|
41
42
|
|
|
42
|
-
def self.get_project!(
|
|
43
|
+
def self.get_project!(xcodeproj_path_or_dir)
|
|
43
44
|
require 'xcodeproj'
|
|
44
|
-
|
|
45
|
-
|
|
45
|
+
if File.extname(xcodeproj_path_or_dir) == ".xcodeproj"
|
|
46
|
+
project_path = xcodeproj_path_or_dir
|
|
47
|
+
else
|
|
48
|
+
project_path = Dir.glob("#{xcodeproj_path_or_dir}/*.xcodeproj").first
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
if project_path && File.exist?(project_path)
|
|
46
52
|
return Xcodeproj::Project.open(project_path)
|
|
47
53
|
else
|
|
48
|
-
UI.user_error!("Unable to find Xcode project
|
|
54
|
+
UI.user_error!("Unable to find Xcode project at #{project_path || xcodeproj_path_or_dir}")
|
|
49
55
|
end
|
|
50
56
|
end
|
|
51
57
|
|
|
@@ -147,11 +153,12 @@ module Fastlane
|
|
|
147
153
|
[
|
|
148
154
|
FastlaneCore::ConfigItem.new(key: :xcodeproj,
|
|
149
155
|
env_name: "FL_VERSION_NUMBER_PROJECT",
|
|
150
|
-
description: "Path to the
|
|
156
|
+
description: "Path to the Xcode project to read version number from, or its containing directory, optional. If ommitted, or if a directory is passed instead, it will use the first Xcode project found within the given directory, or the project root directory if none is passed",
|
|
151
157
|
optional: true,
|
|
152
158
|
verify_block: proc do |value|
|
|
153
|
-
UI.user_error!("Please pass the path to the project, not the workspace") if value.end_with?(".xcworkspace")
|
|
154
|
-
UI.user_error!("Could not find
|
|
159
|
+
UI.user_error!("Please pass the path to the project or its containing directory, not the workspace path") if value.end_with?(".xcworkspace")
|
|
160
|
+
UI.user_error!("Could not find file or directory at path '#{File.expand_path(value)}'") unless File.exist?(value)
|
|
161
|
+
UI.user_error!("Could not find Xcode project in directory at path '#{File.expand_path(value)}'") if File.extname(value) != ".xcodeproj" && Dir.glob("#{value}/*.xcodeproj").empty?
|
|
155
162
|
end),
|
|
156
163
|
FastlaneCore::ConfigItem.new(key: :target,
|
|
157
164
|
env_name: "FL_VERSION_NUMBER_TARGET",
|