fastlane 2.174.0 → 2.175.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +74 -74
- data/cert/lib/cert/options.rb +2 -2
- data/deliver/lib/deliver/options.rb +2 -2
- data/deliver/lib/deliver/upload_screenshots.rb +2 -1
- data/fastlane/lib/fastlane/actions/adb.rb +1 -1
- data/fastlane/lib/fastlane/actions/app_store_build_number.rb +2 -2
- data/fastlane/lib/fastlane/actions/docs/capture_android_screenshots.md +1 -1
- data/fastlane/lib/fastlane/actions/docs/frame_screenshots.md +1 -1
- data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +8 -2
- data/fastlane/lib/fastlane/actions/download_dsyms.rb +5 -15
- data/fastlane/lib/fastlane/actions/git_commit.rb +1 -1
- data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +2 -2
- data/fastlane/lib/fastlane/actions/register_device.rb +2 -2
- data/fastlane/lib/fastlane/actions/register_devices.rb +2 -2
- data/fastlane/lib/fastlane/actions/set_changelog.rb +2 -2
- data/fastlane/lib/fastlane/actions/swiftlint.rb +1 -1
- data/fastlane/lib/fastlane/actions/update_code_signing_settings.rb +1 -1
- data/fastlane/lib/fastlane/documentation/actions_list.rb +2 -2
- data/fastlane/lib/fastlane/helper/adb_helper.rb +1 -1
- data/fastlane/lib/fastlane/helper/gem_helper.rb +2 -2
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +1 -1
- data/fastlane/swift/Fastlane.swift +4 -4
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/GymfileProtocol.swift +1 -1
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/MatchfileProtocol.swift +1 -1
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/ScanfileProtocol.swift +1 -1
- data/fastlane/swift/Screengrabfile.swift +1 -1
- data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
- data/fastlane/swift/Snapshotfile.swift +1 -1
- data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
- data/fastlane/swift/formatting/Brewfile.lock.json +4 -2
- data/fastlane_core/lib/fastlane_core/command_executor.rb +3 -9
- data/fastlane_core/lib/fastlane_core/configuration/commander_generator.rb +1 -1
- data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +23 -0
- data/fastlane_core/lib/fastlane_core/configuration/configuration.rb +2 -4
- data/fastlane_core/lib/fastlane_core/helper.rb +26 -5
- data/fastlane_core/lib/fastlane_core/keychain_importer.rb +1 -1
- data/fastlane_core/lib/fastlane_core/update_checker/update_checker.rb +2 -2
- data/match/lib/match/nuke.rb +5 -0
- data/match/lib/match/options.rb +2 -2
- data/pilot/lib/pilot/options.rb +2 -2
- data/precheck/lib/precheck/options.rb +2 -2
- data/screengrab/lib/screengrab/android_environment.rb +2 -2
- data/sigh/lib/sigh/options.rb +2 -2
- data/spaceship/README.md +2 -2
- data/spaceship/lib/spaceship/connect_api/token.rb +1 -1
- data/spaceship/lib/spaceship/playground.rb +2 -2
- data/spaceship/lib/spaceship/tunes/tunes_client.rb +2 -2
- metadata +32 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 68170ec370531b330f2955c2d41ba3034cee82eed1684062f7850fb4cb684848
|
4
|
+
data.tar.gz: 46be2e9005002001ecad77101f3ef29fb3b8ce693f240be32a40476a21949ba7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 819474aabb8daecf3543a068641d84ef7cefb77626660027e8bd3bc98701d5983b8a05a7a892f54015cfc4537d7ae930a8b1f3aa5eb860420dcc4d574b599281
|
7
|
+
data.tar.gz: 19916ecfea7aef5c4371bd6ae6f420c6694e197eca113b2db73180deb9f4ceec84baa652586dab4d8633d40ead0f6c100e50a23480fa75b499a4c2d3ec425821
|
data/README.md
CHANGED
@@ -34,75 +34,75 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
34
34
|
<!-- This table is regenerated and resorted on each release -->
|
35
35
|
<table id='team'>
|
36
36
|
<tr>
|
37
|
-
<td id='
|
38
|
-
<a href='https://github.com/
|
39
|
-
<img src='https://github.com/
|
37
|
+
<td id='kohki-miki'>
|
38
|
+
<a href='https://github.com/giginet'>
|
39
|
+
<img src='https://github.com/giginet.png?size=140'>
|
40
40
|
</a>
|
41
|
-
<h4 align='center'><a href='https://twitter.com/
|
41
|
+
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
42
42
|
</td>
|
43
|
-
<td id='
|
44
|
-
<a href='https://github.com/
|
45
|
-
<img src='https://github.com/
|
43
|
+
<td id='max-ott'>
|
44
|
+
<a href='https://github.com/max-ott'>
|
45
|
+
<img src='https://github.com/max-ott.png?size=140'>
|
46
46
|
</a>
|
47
|
-
<h4 align='center'><a href='https://twitter.com/
|
47
|
+
<h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
|
48
48
|
</td>
|
49
|
-
<td id='
|
50
|
-
<a href='https://github.com/
|
51
|
-
<img src='https://github.com/
|
49
|
+
<td id='matthew-ellis'>
|
50
|
+
<a href='https://github.com/matthewellis'>
|
51
|
+
<img src='https://github.com/matthewellis.png?size=140'>
|
52
52
|
</a>
|
53
|
-
<h4 align='center'><a href='https://twitter.com/
|
53
|
+
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
54
54
|
</td>
|
55
|
-
<td id='
|
56
|
-
<a href='https://github.com/
|
57
|
-
<img src='https://github.com/
|
55
|
+
<td id='stefan-natchev'>
|
56
|
+
<a href='https://github.com/snatchev'>
|
57
|
+
<img src='https://github.com/snatchev.png?size=140'>
|
58
58
|
</a>
|
59
|
-
<h4 align='center'><a href='https://twitter.com/
|
59
|
+
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
60
60
|
</td>
|
61
|
-
<td id='
|
62
|
-
<a href='https://github.com/
|
63
|
-
<img src='https://github.com/
|
61
|
+
<td id='josh-holtz'>
|
62
|
+
<a href='https://github.com/joshdholtz'>
|
63
|
+
<img src='https://github.com/joshdholtz.png?size=140'>
|
64
64
|
</a>
|
65
|
-
<h4 align='center'><a href='https://twitter.com/
|
65
|
+
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
66
66
|
</td>
|
67
67
|
</tr>
|
68
68
|
<tr>
|
69
|
-
<td id='
|
70
|
-
<a href='https://github.com/
|
71
|
-
<img src='https://github.com/
|
69
|
+
<td id='maksym-grebenets'>
|
70
|
+
<a href='https://github.com/mgrebenets'>
|
71
|
+
<img src='https://github.com/mgrebenets.png?size=140'>
|
72
72
|
</a>
|
73
|
-
<h4 align='center'><a href='https://twitter.com/
|
73
|
+
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
74
74
|
</td>
|
75
|
-
<td id='
|
76
|
-
<a href='https://github.com/
|
77
|
-
<img src='https://github.com/
|
75
|
+
<td id='felix-krause'>
|
76
|
+
<a href='https://github.com/KrauseFx'>
|
77
|
+
<img src='https://github.com/KrauseFx.png?size=140'>
|
78
78
|
</a>
|
79
|
-
<h4 align='center'><a href='https://twitter.com/
|
79
|
+
<h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
|
80
80
|
</td>
|
81
|
-
<td id='
|
82
|
-
<a href='https://github.com/
|
83
|
-
<img src='https://github.com/
|
81
|
+
<td id='danielle-tomlinson'>
|
82
|
+
<a href='https://github.com/endocrimes'>
|
83
|
+
<img src='https://github.com/endocrimes.png?size=140'>
|
84
84
|
</a>
|
85
|
-
<h4 align='center'><a href='https://twitter.com/
|
85
|
+
<h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
|
86
86
|
</td>
|
87
|
-
<td id='
|
88
|
-
<a href='https://github.com/
|
89
|
-
<img src='https://github.com/
|
87
|
+
<td id='andrew-mcburney'>
|
88
|
+
<a href='https://github.com/armcburney'>
|
89
|
+
<img src='https://github.com/armcburney.png?size=140'>
|
90
90
|
</a>
|
91
|
-
<h4 align='center'><a href='https://twitter.com/
|
91
|
+
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
92
92
|
</td>
|
93
|
-
<td id='
|
94
|
-
<a href='https://github.com/
|
95
|
-
<img src='https://github.com/
|
93
|
+
<td id='jérôme-lacoste'>
|
94
|
+
<a href='https://github.com/lacostej'>
|
95
|
+
<img src='https://github.com/lacostej.png?size=140'>
|
96
96
|
</a>
|
97
|
-
<h4 align='center'><a href='https://twitter.com/
|
97
|
+
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
98
98
|
</td>
|
99
99
|
</tr>
|
100
100
|
<tr>
|
101
|
-
<td id='
|
102
|
-
<a href='https://github.com/
|
103
|
-
<img src='https://github.com/
|
101
|
+
<td id='iulian-onofrei'>
|
102
|
+
<a href='https://github.com/revolter'>
|
103
|
+
<img src='https://github.com/revolter.png?size=140'>
|
104
104
|
</a>
|
105
|
-
<h4 align='center'><a href='https://twitter.com/
|
105
|
+
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
106
106
|
</td>
|
107
107
|
<td id='jimmy-dee'>
|
108
108
|
<a href='https://github.com/jdee'>
|
@@ -110,50 +110,50 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
110
110
|
</a>
|
111
111
|
<h4 align='center'>Jimmy Dee</h4>
|
112
112
|
</td>
|
113
|
+
<td id='joshua-liebowitz'>
|
114
|
+
<a href='https://github.com/taquitos'>
|
115
|
+
<img src='https://github.com/taquitos.png?size=140'>
|
116
|
+
</a>
|
117
|
+
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
118
|
+
</td>
|
119
|
+
<td id='aaron-brager'>
|
120
|
+
<a href='https://github.com/getaaron'>
|
121
|
+
<img src='https://github.com/getaaron.png?size=140'>
|
122
|
+
</a>
|
123
|
+
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
124
|
+
</td>
|
113
125
|
<td id='daniel-jankowski'>
|
114
126
|
<a href='https://github.com/mollyIV'>
|
115
127
|
<img src='https://github.com/mollyIV.png?size=140'>
|
116
128
|
</a>
|
117
129
|
<h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
|
118
130
|
</td>
|
119
|
-
|
120
|
-
<
|
121
|
-
<
|
131
|
+
</tr>
|
132
|
+
<tr>
|
133
|
+
<td id='fumiya-nakamura'>
|
134
|
+
<a href='https://github.com/nafu'>
|
135
|
+
<img src='https://github.com/nafu.png?size=140'>
|
122
136
|
</a>
|
123
|
-
<h4 align='center'><a href='https://twitter.com/
|
137
|
+
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
|
124
138
|
</td>
|
125
|
-
<td id='
|
126
|
-
<a href='https://github.com/
|
127
|
-
<img src='https://github.com/
|
139
|
+
<td id='luka-mirosevic'>
|
140
|
+
<a href='https://github.com/lmirosevic'>
|
141
|
+
<img src='https://github.com/lmirosevic.png?size=140'>
|
128
142
|
</a>
|
129
|
-
<h4 align='center'><a href='https://twitter.com/
|
143
|
+
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
130
144
|
</td>
|
131
|
-
</tr>
|
132
|
-
<tr>
|
133
145
|
<td id='jorge-revuelta-h'>
|
134
146
|
<a href='https://github.com/minuscorp'>
|
135
147
|
<img src='https://github.com/minuscorp.png?size=140'>
|
136
148
|
</a>
|
137
149
|
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
138
150
|
</td>
|
139
|
-
<td id='andrew-mcburney'>
|
140
|
-
<a href='https://github.com/armcburney'>
|
141
|
-
<img src='https://github.com/armcburney.png?size=140'>
|
142
|
-
</a>
|
143
|
-
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
144
|
-
</td>
|
145
151
|
<td id='manu-wallner'>
|
146
152
|
<a href='https://github.com/milch'>
|
147
153
|
<img src='https://github.com/milch.png?size=140'>
|
148
154
|
</a>
|
149
155
|
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
150
156
|
</td>
|
151
|
-
<td id='kohki-miki'>
|
152
|
-
<a href='https://github.com/giginet'>
|
153
|
-
<img src='https://github.com/giginet.png?size=140'>
|
154
|
-
</a>
|
155
|
-
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
156
|
-
</td>
|
157
157
|
<td id='helmut-januschka'>
|
158
158
|
<a href='https://github.com/hjanuschka'>
|
159
159
|
<img src='https://github.com/hjanuschka.png?size=140'>
|
@@ -162,17 +162,17 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
162
162
|
</td>
|
163
163
|
</tr>
|
164
164
|
<tr>
|
165
|
-
<td id='
|
166
|
-
<a href='https://github.com/
|
167
|
-
<img src='https://github.com/
|
165
|
+
<td id='olivier-halligon'>
|
166
|
+
<a href='https://github.com/AliSoftware'>
|
167
|
+
<img src='https://github.com/AliSoftware.png?size=140'>
|
168
168
|
</a>
|
169
|
-
<h4 align='center'><a href='https://twitter.com/
|
169
|
+
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
170
170
|
</td>
|
171
|
-
<td id='
|
172
|
-
<a href='https://github.com/
|
173
|
-
<img src='https://github.com/
|
171
|
+
<td id='jan-piotrowski'>
|
172
|
+
<a href='https://github.com/janpio'>
|
173
|
+
<img src='https://github.com/janpio.png?size=140'>
|
174
174
|
</a>
|
175
|
-
<h4 align='center'><a href='https://twitter.com/
|
175
|
+
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
176
176
|
</td>
|
177
177
|
</table>
|
178
178
|
|
data/cert/lib/cert/options.rb
CHANGED
@@ -38,7 +38,7 @@ module Cert
|
|
38
38
|
|
39
39
|
# App Store Connect API
|
40
40
|
FastlaneCore::ConfigItem.new(key: :api_key_path,
|
41
|
-
|
41
|
+
env_names: ["CERT_API_KEY_PATH", "DELIVER_API_KEY_PATH", "APP_STORE_CONNECT_API_KEY_PATH"],
|
42
42
|
description: "Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)",
|
43
43
|
optional: true,
|
44
44
|
conflicting_options: [:api_key],
|
@@ -46,7 +46,7 @@ module Cert
|
|
46
46
|
UI.user_error!("Couldn't find API key JSON file at path '#{value}'") unless File.exist?(value)
|
47
47
|
end),
|
48
48
|
FastlaneCore::ConfigItem.new(key: :api_key,
|
49
|
-
|
49
|
+
env_names: ["CERT_API_KEY", "DELIVER_API_KEY", "APP_STORE_CONNECT_API_KEY"],
|
50
50
|
description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)",
|
51
51
|
type: Hash,
|
52
52
|
optional: true,
|
@@ -13,7 +13,7 @@ module Deliver
|
|
13
13
|
|
14
14
|
[
|
15
15
|
FastlaneCore::ConfigItem.new(key: :api_key_path,
|
16
|
-
|
16
|
+
env_names: ["DELIVER_API_KEY_PATH", "APP_STORE_CONNECT_API_KEY_PATH"],
|
17
17
|
description: "Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)",
|
18
18
|
optional: true,
|
19
19
|
conflicting_options: [:api_key],
|
@@ -21,7 +21,7 @@ module Deliver
|
|
21
21
|
UI.user_error!("Couldn't find API key JSON file at path '#{value}'") unless File.exist?(value)
|
22
22
|
end),
|
23
23
|
FastlaneCore::ConfigItem.new(key: :api_key,
|
24
|
-
|
24
|
+
env_names: ["DELIVER_API_KEY", "APP_STORE_CONNECT_API_KEY"],
|
25
25
|
description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)",
|
26
26
|
type: Hash,
|
27
27
|
optional: true,
|
@@ -231,12 +231,13 @@ module Deliver
|
|
231
231
|
end
|
232
232
|
|
233
233
|
def sort_screenshots(localizations)
|
234
|
+
require 'naturally'
|
234
235
|
iterator = AppScreenshotIterator.new(localizations)
|
235
236
|
|
236
237
|
# Re-order screenshots within app_screenshot_set
|
237
238
|
worker = QueueWorker.new do |app_screenshot_set|
|
238
239
|
original_ids = app_screenshot_set.app_screenshots.map(&:id)
|
239
|
-
sorted_ids = app_screenshot_set.app_screenshots
|
240
|
+
sorted_ids = Naturally.sort(app_screenshot_set.app_screenshots, by: :file_name).map(&:id)
|
240
241
|
if original_ids != sorted_ids
|
241
242
|
app_screenshot_set.reorder_screenshots(app_screenshot_ids: sorted_ids)
|
242
243
|
end
|
@@ -37,7 +37,7 @@ module Fastlane
|
|
37
37
|
FastlaneCore::ConfigItem.new(key: :adb_path,
|
38
38
|
env_name: "FL_ADB_PATH",
|
39
39
|
optional: true,
|
40
|
-
description: "The path to your `adb` binary (can be left blank if the ANDROID_SDK_ROOT environment variable is set)",
|
40
|
+
description: "The path to your `adb` binary (can be left blank if the ANDROID_SDK_ROOT, ANDROID_HOME or ANDROID_SDK environment variable is set)",
|
41
41
|
is_string: true,
|
42
42
|
default_value: "adb")
|
43
43
|
]
|
@@ -118,7 +118,7 @@ module Fastlane
|
|
118
118
|
user ||= CredentialsManager::AppfileConfig.try_fetch_value(:apple_id)
|
119
119
|
[
|
120
120
|
FastlaneCore::ConfigItem.new(key: :api_key_path,
|
121
|
-
|
121
|
+
env_names: ["APPSTORE_BUILD_NUMBER_API_KEY_PATH", "APP_STORE_CONNECT_API_KEY_PATH"],
|
122
122
|
description: "Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)",
|
123
123
|
optional: true,
|
124
124
|
conflicting_options: [:api_key],
|
@@ -126,7 +126,7 @@ module Fastlane
|
|
126
126
|
UI.user_error!("Couldn't find API key JSON file at path '#{value}'") unless File.exist?(value)
|
127
127
|
end),
|
128
128
|
FastlaneCore::ConfigItem.new(key: :api_key,
|
129
|
-
|
129
|
+
env_names: ["APPSTORE_BUILD_NUMBER_API_KEY", "APP_STORE_CONNECT_API_KEY"],
|
130
130
|
description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)",
|
131
131
|
type: Hash,
|
132
132
|
optional: true,
|
@@ -99,16 +99,22 @@ If your machine is currently using SSH to authenticate with GitHub, you'll want
|
|
99
99
|
Using parameter:
|
100
100
|
|
101
101
|
```
|
102
|
-
match(git_basic_authorization: '<YOUR KEY>')
|
102
|
+
match(git_basic_authorization: '<YOUR BASE64 KEY>')
|
103
103
|
```
|
104
104
|
|
105
105
|
Using environment variable:
|
106
106
|
|
107
107
|
```
|
108
|
-
ENV['MATCH_GIT_BASIC_AUTHORIZATION'] = '<YOUR KEY>'
|
108
|
+
ENV['MATCH_GIT_BASIC_AUTHORIZATION'] = '<YOUR BASE64 KEY>'
|
109
109
|
match
|
110
110
|
```
|
111
111
|
|
112
|
+
To generate your base64 key [according to RFC 7617](https://tools.ietf.org/html/rfc7617), run this:
|
113
|
+
|
114
|
+
```
|
115
|
+
echo -n your_github_username:your_personal_access_token | base64
|
116
|
+
```
|
117
|
+
|
112
118
|
You can find more information about GitHub basic authentication and personal token generation here: [https://developer.github.com/v3/auth/#basic-authentication](https://developer.github.com/v3/auth/#basic-authentication)
|
113
119
|
|
114
120
|
##### Git Storage on GitHub - Deploy keys
|
@@ -39,13 +39,8 @@ module Fastlane
|
|
39
39
|
# Set version if it is latest
|
40
40
|
if version == 'latest'
|
41
41
|
# Try to grab the edit version first, else fallback to live version
|
42
|
-
UI.message("Looking for latest
|
43
|
-
|
44
|
-
|
45
|
-
UI.user_error!("Could not find latest version for your app, please try setting a specific version") if latest_version.nil?
|
46
|
-
|
47
|
-
latest_build = get_latest_build!(app_id: app.id, version: latest_version.version_string, platform: platform)
|
48
|
-
|
42
|
+
UI.message("Looking for latest build...")
|
43
|
+
latest_build = get_latest_build!(app_id: app.id, platform: platform)
|
49
44
|
version = latest_build.app_version
|
50
45
|
build_number = latest_build.version
|
51
46
|
elsif version == 'live'
|
@@ -59,11 +54,6 @@ module Fastlane
|
|
59
54
|
build_number = live_version.build.version
|
60
55
|
end
|
61
56
|
|
62
|
-
# Remove leading zeros from version string (eg. 1.02 -> 1.2)
|
63
|
-
if version
|
64
|
-
version = version.split(".").map(&:to_i).join(".")
|
65
|
-
end
|
66
|
-
|
67
57
|
# Make sure output_directory has a slash on the end
|
68
58
|
if output_directory && !output_directory.end_with?('/')
|
69
59
|
output_directory += '/'
|
@@ -161,14 +151,14 @@ module Fastlane
|
|
161
151
|
end
|
162
152
|
# rubocop:enable Metrics/PerceivedComplexity
|
163
153
|
|
164
|
-
def self.get_latest_build!(app_id: nil,
|
154
|
+
def self.get_latest_build!(app_id: nil, platform: nil)
|
165
155
|
filter = { app: app_id }
|
166
|
-
filter["preReleaseVersion.version"] = version
|
167
156
|
filter["preReleaseVersion.platform"] = platform
|
168
157
|
latest_build = Spaceship::ConnectAPI.get_builds(filter: filter, sort: "-uploadedDate", includes: "preReleaseVersion").first
|
169
158
|
|
170
159
|
if latest_build.nil?
|
171
|
-
UI.user_error!("Could not find
|
160
|
+
UI.user_error!("Could not find any build for platform #{platform}") if platform
|
161
|
+
UI.user_error!("Could not find any build")
|
172
162
|
end
|
173
163
|
|
174
164
|
return latest_build
|
@@ -37,7 +37,7 @@ module Fastlane
|
|
37
37
|
def self.available_options
|
38
38
|
[
|
39
39
|
FastlaneCore::ConfigItem.new(key: :path,
|
40
|
-
description: "The file you want to commit",
|
40
|
+
description: "The file(s) or directory(ies) you want to commit. You can pass an array of multiple file-paths or fileglobs \"*.txt\" to commit all matching files. The files already staged but not specified and untracked files won't be committed",
|
41
41
|
is_string: false),
|
42
42
|
FastlaneCore::ConfigItem.new(key: :message,
|
43
43
|
description: "The commit message that should be used"),
|
@@ -38,7 +38,7 @@ module Fastlane
|
|
38
38
|
|
39
39
|
[
|
40
40
|
FastlaneCore::ConfigItem.new(key: :api_key_path,
|
41
|
-
|
41
|
+
env_names: ["APPSTORE_BUILD_NUMBER_API_KEY_PATH", "APP_STORE_CONNECT_API_KEY_PATH"],
|
42
42
|
description: "Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)",
|
43
43
|
optional: true,
|
44
44
|
conflicting_options: [:api_key],
|
@@ -46,7 +46,7 @@ module Fastlane
|
|
46
46
|
UI.user_error!("Couldn't find API key JSON file at path '#{value}'") unless File.exist?(value)
|
47
47
|
end),
|
48
48
|
FastlaneCore::ConfigItem.new(key: :api_key,
|
49
|
-
|
49
|
+
env_names: ["APPSTORE_BUILD_NUMBER_API_KEY", "APP_STORE_CONNECT_API_KEY"],
|
50
50
|
description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)",
|
51
51
|
type: Hash,
|
52
52
|
optional: true,
|
@@ -69,7 +69,7 @@ module Fastlane
|
|
69
69
|
env_name: "FL_REGISTER_DEVICE_UDID",
|
70
70
|
description: "Provide the UDID of the device to register as"),
|
71
71
|
FastlaneCore::ConfigItem.new(key: :api_key_path,
|
72
|
-
|
72
|
+
env_names: ["FL_REGISTER_DEVICE_API_KEY_PATH", "APP_STORE_CONNECT_API_KEY_PATH"],
|
73
73
|
description: "Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)",
|
74
74
|
optional: true,
|
75
75
|
conflicting_options: [:api_key],
|
@@ -77,7 +77,7 @@ module Fastlane
|
|
77
77
|
UI.user_error!("Couldn't find API key JSON file at path '#{value}'") unless File.exist?(value)
|
78
78
|
end),
|
79
79
|
FastlaneCore::ConfigItem.new(key: :api_key,
|
80
|
-
|
80
|
+
env_names: ["FL_REGISTER_DEVICE_API_KEY", "APP_STORE_CONNECT_API_KEY"],
|
81
81
|
description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)",
|
82
82
|
type: Hash,
|
83
83
|
optional: true,
|