fastlane 2.165.0 → 2.166.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/README.md +78 -78
- data/cert/lib/cert/runner.rb +1 -1
- data/deliver/lib/deliver/.upload_screenshots.rb.swp +0 -0
- data/fastlane/lib/fastlane/actions/actions_helper.rb +1 -1
- data/fastlane/lib/fastlane/actions/appledoc.rb +1 -1
- data/fastlane/lib/fastlane/actions/docs/capture_ios_screenshots.md +4 -0
- data/fastlane/lib/fastlane/actions/update_fastlane.rb +24 -8
- data/fastlane/lib/fastlane/cli_tools_distributor.rb +1 -1
- data/fastlane/lib/fastlane/swift_fastlane_function.rb +1 -1
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +1 -1
- data/fastlane/swift/Fastlane.swift +7 -1
- 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 +5 -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_core/lib/fastlane_core/helper.rb +9 -1
- data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +3 -3
- data/scan/lib/scan/detect_values.rb +3 -1
- data/scan/lib/scan/module.rb +4 -0
- data/scan/lib/scan/options.rb +9 -0
- data/snapshot/lib/snapshot/test_command_generator.rb +1 -1
- data/snapshot/lib/snapshot/test_command_generator_base.rb +3 -1
- data/snapshot/lib/snapshot/test_command_generator_xcode_8.rb +1 -1
- data/supply/lib/supply.rb +1 -1
- metadata +20 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: a087d077b77ba7df4a5d383d8d607aeda9f3b67e
|
4
|
+
data.tar.gz: 31a97905c7bf5685558efd65933780580b69f470
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 155ad8ce03e385a45ebcd3ad1757fa6cc25ae2fda564819f01f61af4a2a871b78ee5a1b5510571516dd8e059482a8a53361aedf1ede90619fe64ce42dcde4cca
|
7
|
+
data.tar.gz: cc279dfeae02d6b401761bbdc08e0763a8f10fc7b36c9f1a6c5d369502432e87b4ff9bac93a30997dc5709f282e93962942622c65c05c644494f844f3c875b4f
|
data/README.md
CHANGED
@@ -34,11 +34,11 @@ 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='max-ott'>
|
38
|
+
<a href='https://github.com/max-ott'>
|
39
|
+
<img src='https://github.com/max-ott.png?size=140'>
|
40
40
|
</a>
|
41
|
-
<h4 align='center'><a href='https://twitter.com/
|
41
|
+
<h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
|
42
42
|
</td>
|
43
43
|
<td id='danielle-tomlinson'>
|
44
44
|
<a href='https://github.com/endocrimes'>
|
@@ -46,11 +46,17 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
46
46
|
</a>
|
47
47
|
<h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
|
48
48
|
</td>
|
49
|
-
<td id='
|
50
|
-
<a href='https://github.com/
|
51
|
-
<img src='https://github.com/
|
49
|
+
<td id='jimmy-dee'>
|
50
|
+
<a href='https://github.com/jdee'>
|
51
|
+
<img src='https://github.com/jdee.png?size=140'>
|
52
52
|
</a>
|
53
|
-
<h4 align='center'
|
53
|
+
<h4 align='center'>Jimmy Dee</h4>
|
54
|
+
</td>
|
55
|
+
<td id='daniel-jankowski'>
|
56
|
+
<a href='https://github.com/mollyIV'>
|
57
|
+
<img src='https://github.com/mollyIV.png?size=140'>
|
58
|
+
</a>
|
59
|
+
<h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
|
54
60
|
</td>
|
55
61
|
<td id='jorge-revuelta-h'>
|
56
62
|
<a href='https://github.com/minuscorp'>
|
@@ -58,37 +64,31 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
58
64
|
</a>
|
59
65
|
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
60
66
|
</td>
|
61
|
-
<td id='josh-holtz'>
|
62
|
-
<a href='https://github.com/joshdholtz'>
|
63
|
-
<img src='https://github.com/joshdholtz.png?size=140'>
|
64
|
-
</a>
|
65
|
-
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
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='fumiya-nakamura'>
|
70
|
+
<a href='https://github.com/nafu'>
|
71
|
+
<img src='https://github.com/nafu.png?size=140'>
|
72
72
|
</a>
|
73
|
-
<h4 align='center'><a href='https://twitter.com/
|
73
|
+
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
|
74
74
|
</td>
|
75
|
-
<td id='
|
76
|
-
<a href='https://github.com/
|
77
|
-
<img src='https://github.com/
|
75
|
+
<td id='manu-wallner'>
|
76
|
+
<a href='https://github.com/milch'>
|
77
|
+
<img src='https://github.com/milch.png?size=140'>
|
78
78
|
</a>
|
79
|
-
<h4 align='center'><a href='https://twitter.com/
|
79
|
+
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
80
80
|
</td>
|
81
|
-
<td id='
|
82
|
-
<a href='https://github.com/
|
83
|
-
<img src='https://github.com/
|
81
|
+
<td id='aaron-brager'>
|
82
|
+
<a href='https://github.com/getaaron'>
|
83
|
+
<img src='https://github.com/getaaron.png?size=140'>
|
84
84
|
</a>
|
85
|
-
<h4 align='center'><a href='https://twitter.com/
|
85
|
+
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
86
86
|
</td>
|
87
|
-
<td id='
|
88
|
-
<a href='https://github.com/
|
89
|
-
<img src='https://github.com/
|
87
|
+
<td id='kohki-miki'>
|
88
|
+
<a href='https://github.com/giginet'>
|
89
|
+
<img src='https://github.com/giginet.png?size=140'>
|
90
90
|
</a>
|
91
|
-
<h4 align='center'><a href='https://twitter.com/
|
91
|
+
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
92
92
|
</td>
|
93
93
|
<td id='helmut-januschka'>
|
94
94
|
<a href='https://github.com/hjanuschka'>
|
@@ -98,81 +98,81 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
98
98
|
</td>
|
99
99
|
</tr>
|
100
100
|
<tr>
|
101
|
-
<td id='olivier-halligon'>
|
102
|
-
<a href='https://github.com/AliSoftware'>
|
103
|
-
<img src='https://github.com/AliSoftware.png?size=140'>
|
104
|
-
</a>
|
105
|
-
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
106
|
-
</td>
|
107
|
-
<td id='iulian-onofrei'>
|
108
|
-
<a href='https://github.com/revolter'>
|
109
|
-
<img src='https://github.com/revolter.png?size=140'>
|
110
|
-
</a>
|
111
|
-
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
112
|
-
</td>
|
113
101
|
<td id='matthew-ellis'>
|
114
102
|
<a href='https://github.com/matthewellis'>
|
115
103
|
<img src='https://github.com/matthewellis.png?size=140'>
|
116
104
|
</a>
|
117
105
|
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
118
106
|
</td>
|
119
|
-
<td id='
|
120
|
-
<a href='https://github.com/
|
121
|
-
<img src='https://github.com/
|
107
|
+
<td id='joshua-liebowitz'>
|
108
|
+
<a href='https://github.com/taquitos'>
|
109
|
+
<img src='https://github.com/taquitos.png?size=140'>
|
122
110
|
</a>
|
123
|
-
<h4 align='center'><a href='https://twitter.com/
|
111
|
+
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
124
112
|
</td>
|
125
|
-
<td id='
|
126
|
-
<a href='https://github.com/
|
127
|
-
<img src='https://github.com/
|
113
|
+
<td id='jan-piotrowski'>
|
114
|
+
<a href='https://github.com/janpio'>
|
115
|
+
<img src='https://github.com/janpio.png?size=140'>
|
128
116
|
</a>
|
129
|
-
<h4 align='center'>
|
117
|
+
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
118
|
+
</td>
|
119
|
+
<td id='iulian-onofrei'>
|
120
|
+
<a href='https://github.com/revolter'>
|
121
|
+
<img src='https://github.com/revolter.png?size=140'>
|
122
|
+
</a>
|
123
|
+
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
124
|
+
</td>
|
125
|
+
<td id='maksym-grebenets'>
|
126
|
+
<a href='https://github.com/mgrebenets'>
|
127
|
+
<img src='https://github.com/mgrebenets.png?size=140'>
|
128
|
+
</a>
|
129
|
+
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
130
130
|
</td>
|
131
131
|
</tr>
|
132
132
|
<tr>
|
133
|
-
<td id='
|
134
|
-
<a href='https://github.com/
|
135
|
-
<img src='https://github.com/
|
133
|
+
<td id='josh-holtz'>
|
134
|
+
<a href='https://github.com/joshdholtz'>
|
135
|
+
<img src='https://github.com/joshdholtz.png?size=140'>
|
136
136
|
</a>
|
137
|
-
<h4 align='center'><a href='https://twitter.com/
|
137
|
+
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
138
138
|
</td>
|
139
|
-
<td id='
|
140
|
-
<a href='https://github.com/
|
141
|
-
<img src='https://github.com/
|
139
|
+
<td id='jérôme-lacoste'>
|
140
|
+
<a href='https://github.com/lacostej'>
|
141
|
+
<img src='https://github.com/lacostej.png?size=140'>
|
142
142
|
</a>
|
143
|
-
<h4 align='center'><a href='https://twitter.com/
|
143
|
+
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
144
144
|
</td>
|
145
|
-
<td id='
|
146
|
-
<a href='https://github.com/
|
147
|
-
<img src='https://github.com/
|
145
|
+
<td id='andrew-mcburney'>
|
146
|
+
<a href='https://github.com/armcburney'>
|
147
|
+
<img src='https://github.com/armcburney.png?size=140'>
|
148
148
|
</a>
|
149
|
-
<h4 align='center'><a href='https://twitter.com/
|
149
|
+
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
150
150
|
</td>
|
151
|
-
<td id='
|
152
|
-
<a href='https://github.com/
|
153
|
-
<img src='https://github.com/
|
151
|
+
<td id='felix-krause'>
|
152
|
+
<a href='https://github.com/KrauseFx'>
|
153
|
+
<img src='https://github.com/KrauseFx.png?size=140'>
|
154
154
|
</a>
|
155
|
-
<h4 align='center'><a href='https://twitter.com/
|
155
|
+
<h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
|
156
156
|
</td>
|
157
|
-
<td id='
|
158
|
-
<a href='https://github.com/
|
159
|
-
<img src='https://github.com/
|
157
|
+
<td id='olivier-halligon'>
|
158
|
+
<a href='https://github.com/AliSoftware'>
|
159
|
+
<img src='https://github.com/AliSoftware.png?size=140'>
|
160
160
|
</a>
|
161
|
-
<h4 align='center'><a href='https://twitter.com/
|
161
|
+
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
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='stefan-natchev'>
|
166
|
+
<a href='https://github.com/snatchev'>
|
167
|
+
<img src='https://github.com/snatchev.png?size=140'>
|
168
168
|
</a>
|
169
|
-
<h4 align='center'><a href='https://twitter.com/
|
169
|
+
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
170
170
|
</td>
|
171
|
-
<td id='
|
172
|
-
<a href='https://github.com/
|
173
|
-
<img src='https://github.com/
|
171
|
+
<td id='luka-mirosevic'>
|
172
|
+
<a href='https://github.com/lmirosevic'>
|
173
|
+
<img src='https://github.com/lmirosevic.png?size=140'>
|
174
174
|
</a>
|
175
|
-
<h4 align='center'><a href='https://twitter.com/
|
175
|
+
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
176
176
|
</td>
|
177
177
|
</table>
|
178
178
|
|
data/cert/lib/cert/runner.rb
CHANGED
@@ -190,7 +190,7 @@ module Cert
|
|
190
190
|
begin
|
191
191
|
certificate = Spaceship::ConnectAPI::Certificate.create(
|
192
192
|
certificate_type: certificate_type,
|
193
|
-
csr_content: csr
|
193
|
+
csr_content: csr.to_pem
|
194
194
|
)
|
195
195
|
rescue => ex
|
196
196
|
type_name = (Cert.config[:development] ? "Development" : "Distribution")
|
Binary file
|
@@ -5,7 +5,7 @@ module Fastlane
|
|
5
5
|
PLATFORM_NAME = :PLATFORM_NAME
|
6
6
|
ENVIRONMENT = :ENVIRONMENT
|
7
7
|
|
8
|
-
# A
|
8
|
+
# A slightly decorated hash that will store and fetch sensitive data
|
9
9
|
# but not display it while iterating keys and values
|
10
10
|
class LaneContextValues < Hash
|
11
11
|
def initialize
|
@@ -55,7 +55,7 @@ module Fastlane
|
|
55
55
|
|
56
56
|
def self.run(params)
|
57
57
|
unless Helper.test?
|
58
|
-
UI.message("Install using `brew install
|
58
|
+
UI.message("Install using `brew install appledoc`")
|
59
59
|
UI.user_error!("appledoc not installed") if `which appledoc`.length == 0
|
60
60
|
end
|
61
61
|
|
@@ -282,6 +282,10 @@ launch_arguments([
|
|
282
282
|
])
|
283
283
|
```
|
284
284
|
|
285
|
+
## Xcode Environment Variables
|
286
|
+
|
287
|
+
_snapshot_ includes `FASTLANE_SNAPSHOT=YES` and `FASTLANE_LANGUAGE=<language>` as arguments when executing `xcodebuild`. This means you may use these environment variables in a custom build phase run script to do any additional configuration.
|
288
|
+
|
285
289
|
# How does it work?
|
286
290
|
|
287
291
|
The easiest solution would be to just render the UIWindow into a file. That's not possible because UI Tests don't run on a main thread. So _snapshot_ uses a different approach:
|
@@ -45,25 +45,31 @@ module Fastlane
|
|
45
45
|
end
|
46
46
|
|
47
47
|
# suppress updater output - very noisy
|
48
|
-
Gem::DefaultUserInteraction.ui = Gem::SilentUI.new
|
48
|
+
Gem::DefaultUserInteraction.ui = Gem::SilentUI.new unless FastlaneCore::Globals.verbose?
|
49
49
|
|
50
50
|
update_needed.each do |tool_info|
|
51
|
-
tool = tool_info
|
51
|
+
tool = self.get_gem_name(tool_info)
|
52
52
|
local_version = Gem::Version.new(highest_versions[tool].version)
|
53
53
|
latest_official_version = FastlaneCore::UpdateChecker.fetch_latest(tool)
|
54
54
|
|
55
55
|
UI.message("Updating #{tool} from #{local_version.to_s.yellow} to #{latest_official_version.to_s.yellow}... 🚀")
|
56
56
|
|
57
|
-
|
58
|
-
|
59
|
-
|
57
|
+
if Helper.homebrew?
|
58
|
+
Helper.backticks('brew upgrade fastlane')
|
59
|
+
else
|
60
|
+
# Approximate_recommendation will create a string like "~> 0.10" from a version 0.10.0, e.g. one that is valid for versions >= 0.10 and <1.0
|
61
|
+
requirement_version = local_version.approximate_recommendation
|
62
|
+
updater.update_gem(tool, Gem::Requirement.new(requirement_version))
|
63
|
+
end
|
60
64
|
|
61
65
|
UI.success("Finished updating #{tool}")
|
62
66
|
end
|
63
67
|
|
64
|
-
|
65
|
-
|
66
|
-
|
68
|
+
unless Helper.homebrew?
|
69
|
+
UI.message("Cleaning up old versions...")
|
70
|
+
cleaner.options[:args] = tools_to_update
|
71
|
+
cleaner.execute
|
72
|
+
end
|
67
73
|
|
68
74
|
UI.message("fastlane.tools successfully updated! I will now restart myself... 😴")
|
69
75
|
|
@@ -71,6 +77,16 @@ module Fastlane
|
|
71
77
|
exec("FL_NO_UPDATE=true #{$PROGRAM_NAME} #{ARGV.join(' ')}")
|
72
78
|
end
|
73
79
|
|
80
|
+
def self.get_gem_name(tool_info)
|
81
|
+
if tool_info.kind_of?(Array)
|
82
|
+
return tool_info[0]
|
83
|
+
elsif tool_info.respond_to?(:name) # Gem::NameTuple in RubyGems >= 3.1.0
|
84
|
+
return tool_info.name
|
85
|
+
else
|
86
|
+
UI.crash!("Unknown gem update information returned from RubyGems. Please file a new issue for this... 🤷")
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
74
90
|
def self.description
|
75
91
|
"Makes sure fastlane-tools are up-to-date when running fastlane"
|
76
92
|
end
|
@@ -125,7 +125,7 @@ module Fastlane
|
|
125
125
|
# Since loading dotenv should respect additional environments passed using
|
126
126
|
# --env, we must extrat the arguments out of ARGV and process them before
|
127
127
|
# calling into commander. This is required since the ENV must be configured
|
128
|
-
# before running any other commands in order to
|
128
|
+
# before running any other commands in order to correctly respect variables
|
129
129
|
# like FASTLANE_HIDE_CHANGELOG and FASTLANE_DISABLE_COLORS
|
130
130
|
def load_dot_env
|
131
131
|
env_cl_param = lambda do
|
@@ -136,7 +136,7 @@ module Fastlane
|
|
136
136
|
type = "[String]"
|
137
137
|
elsif default_value.kind_of?(Hash)
|
138
138
|
type = "[String : Any]"
|
139
|
-
#
|
139
|
+
# Although we can have a default value of Integer type, if param_type_override overridden that value, respect it.
|
140
140
|
elsif default_value.kind_of?(Integer)
|
141
141
|
if type == "Double" || type == "Float"
|
142
142
|
begin
|
@@ -6077,6 +6077,7 @@ public func rubyVersion() {
|
|
6077
6077
|
- skipSlack: Don't publish to slack, even when an URL is given
|
6078
6078
|
- slackOnlyOnFailure: Only post on Slack if the tests fail
|
6079
6079
|
- destination: Use only if you're a pro, use the other options instead
|
6080
|
+
- catalystPlatform: Platform to build when using a Catalyst enabled app. Valid values are: ios, macos
|
6080
6081
|
- customReportFileName: **DEPRECATED!** Use `--output_files` instead - Sets custom full report file name when generating a single report
|
6081
6082
|
- xcodebuildCommand: Allows for override of the default `xcodebuild` command
|
6082
6083
|
- clonedSourcePackagesPath: Sets a custom path for Swift Package Manager dependencies
|
@@ -6143,6 +6144,7 @@ public func runTests(workspace: String? = nil,
|
|
6143
6144
|
skipSlack: Bool = false,
|
6144
6145
|
slackOnlyOnFailure: Bool = false,
|
6145
6146
|
destination: Any? = nil,
|
6147
|
+
catalystPlatform: String? = nil,
|
6146
6148
|
customReportFileName: String? = nil,
|
6147
6149
|
xcodebuildCommand: String = "env NSUnbufferedIO=YES xcodebuild",
|
6148
6150
|
clonedSourcePackagesPath: String? = nil,
|
@@ -6207,6 +6209,7 @@ public func runTests(workspace: String? = nil,
|
|
6207
6209
|
RubyCommand.Argument(name: "skip_slack", value: skipSlack),
|
6208
6210
|
RubyCommand.Argument(name: "slack_only_on_failure", value: slackOnlyOnFailure),
|
6209
6211
|
RubyCommand.Argument(name: "destination", value: destination),
|
6212
|
+
RubyCommand.Argument(name: "catalyst_platform", value: catalystPlatform),
|
6210
6213
|
RubyCommand.Argument(name: "custom_report_file_name", value: customReportFileName),
|
6211
6214
|
RubyCommand.Argument(name: "xcodebuild_command", value: xcodebuildCommand),
|
6212
6215
|
RubyCommand.Argument(name: "cloned_source_packages_path", value: clonedSourcePackagesPath),
|
@@ -6353,6 +6356,7 @@ public func say(text: Any,
|
|
6353
6356
|
- skipSlack: Don't publish to slack, even when an URL is given
|
6354
6357
|
- slackOnlyOnFailure: Only post on Slack if the tests fail
|
6355
6358
|
- destination: Use only if you're a pro, use the other options instead
|
6359
|
+
- catalystPlatform: Platform to build when using a Catalyst enabled app. Valid values are: ios, macos
|
6356
6360
|
- customReportFileName: **DEPRECATED!** Use `--output_files` instead - Sets custom full report file name when generating a single report
|
6357
6361
|
- xcodebuildCommand: Allows for override of the default `xcodebuild` command
|
6358
6362
|
- clonedSourcePackagesPath: Sets a custom path for Swift Package Manager dependencies
|
@@ -6419,6 +6423,7 @@ public func scan(workspace: Any? = scanfile.workspace,
|
|
6419
6423
|
skipSlack: Bool = scanfile.skipSlack,
|
6420
6424
|
slackOnlyOnFailure: Bool = scanfile.slackOnlyOnFailure,
|
6421
6425
|
destination: Any? = scanfile.destination,
|
6426
|
+
catalystPlatform: Any? = scanfile.catalystPlatform,
|
6422
6427
|
customReportFileName: Any? = scanfile.customReportFileName,
|
6423
6428
|
xcodebuildCommand: Any = scanfile.xcodebuildCommand,
|
6424
6429
|
clonedSourcePackagesPath: Any? = scanfile.clonedSourcePackagesPath,
|
@@ -6483,6 +6488,7 @@ public func scan(workspace: Any? = scanfile.workspace,
|
|
6483
6488
|
RubyCommand.Argument(name: "skip_slack", value: skipSlack),
|
6484
6489
|
RubyCommand.Argument(name: "slack_only_on_failure", value: slackOnlyOnFailure),
|
6485
6490
|
RubyCommand.Argument(name: "destination", value: destination),
|
6491
|
+
RubyCommand.Argument(name: "catalyst_platform", value: catalystPlatform),
|
6486
6492
|
RubyCommand.Argument(name: "custom_report_file_name", value: customReportFileName),
|
6487
6493
|
RubyCommand.Argument(name: "xcodebuild_command", value: xcodebuildCommand),
|
6488
6494
|
RubyCommand.Argument(name: "cloned_source_packages_path", value: clonedSourcePackagesPath),
|
@@ -9399,4 +9405,4 @@ public let snapshotfile = Snapshotfile()
|
|
9399
9405
|
|
9400
9406
|
// Please don't remove the lines below
|
9401
9407
|
// They are used to detect outdated files
|
9402
|
-
// FastlaneRunnerAPIVersion [0.9.
|
9408
|
+
// FastlaneRunnerAPIVersion [0.9.102]
|
@@ -179,6 +179,9 @@ public protocol ScanfileProtocol: class {
|
|
179
179
|
/// Use only if you're a pro, use the other options instead
|
180
180
|
var destination: String? { get }
|
181
181
|
|
182
|
+
/// Platform to build when using a Catalyst enabled app. Valid values are: ios, macos
|
183
|
+
var catalystPlatform: String? { get }
|
184
|
+
|
182
185
|
/// **DEPRECATED!** Use `--output_files` instead - Sets custom full report file name when generating a single report
|
183
186
|
var customReportFileName: String? { get }
|
184
187
|
|
@@ -252,6 +255,7 @@ public extension ScanfileProtocol {
|
|
252
255
|
var skipSlack: Bool { return false }
|
253
256
|
var slackOnlyOnFailure: Bool { return false }
|
254
257
|
var destination: String? { return nil }
|
258
|
+
var catalystPlatform: String? { return nil }
|
255
259
|
var customReportFileName: String? { return nil }
|
256
260
|
var xcodebuildCommand: String { return "env NSUnbufferedIO=YES xcodebuild" }
|
257
261
|
var clonedSourcePackagesPath: String? { return nil }
|
@@ -260,4 +264,4 @@ public extension ScanfileProtocol {
|
|
260
264
|
|
261
265
|
// Please don't remove the lines below
|
262
266
|
// They are used to detect outdated files
|
263
|
-
// FastlaneRunnerAPIVersion [0.9.
|
267
|
+
// FastlaneRunnerAPIVersion [0.9.57]
|
@@ -203,9 +203,17 @@ module FastlaneCore
|
|
203
203
|
return File.join(self.itms_path, 'iTMSTransporter')
|
204
204
|
end
|
205
205
|
|
206
|
+
def self.user_defined_itms_path?
|
207
|
+
return FastlaneCore::Env.truthy?("FASTLANE_ITUNES_TRANSPORTER_PATH")
|
208
|
+
end
|
209
|
+
|
210
|
+
def self.user_defined_itms_path
|
211
|
+
return ENV["FASTLANE_ITUNES_TRANSPORTER_PATH"] if self.user_defined_itms_path?
|
212
|
+
end
|
213
|
+
|
206
214
|
# @return the full path to the iTMSTransporter executable
|
207
215
|
def self.itms_path
|
208
|
-
return
|
216
|
+
return self.user_defined_itms_path if FastlaneCore::Env.truthy?("FASTLANE_ITUNES_TRANSPORTER_PATH")
|
209
217
|
|
210
218
|
if self.mac?
|
211
219
|
# First check for manually install iTMSTransporter
|
@@ -254,7 +254,7 @@ module FastlaneCore
|
|
254
254
|
class JavaTransporterExecutor < TransporterExecutor
|
255
255
|
def build_upload_command(username, password, source = "/tmp", provider_short_name = "", jwt = nil)
|
256
256
|
use_jwt = !jwt.to_s.empty?
|
257
|
-
if Helper.mac? && Helper.xcode_at_least?(11)
|
257
|
+
if !Helper.user_defined_itms_path? && Helper.mac? && Helper.xcode_at_least?(11)
|
258
258
|
[
|
259
259
|
("ITMS_TRANSPORTER_PASSWORD=#{password.shellescape}" unless use_jwt),
|
260
260
|
'xcrun iTMSTransporter',
|
@@ -294,7 +294,7 @@ module FastlaneCore
|
|
294
294
|
|
295
295
|
def build_download_command(username, password, apple_id, destination = "/tmp", provider_short_name = "", jwt = nil)
|
296
296
|
use_jwt = !jwt.to_s.empty?
|
297
|
-
if Helper.mac? && Helper.xcode_at_least?(11)
|
297
|
+
if !Helper.user_defined_itms_path? && Helper.mac? && Helper.xcode_at_least?(11)
|
298
298
|
[
|
299
299
|
("ITMS_TRANSPORTER_PASSWORD=#{password.shellescape}" unless use_jwt),
|
300
300
|
'xcrun iTMSTransporter',
|
@@ -332,7 +332,7 @@ module FastlaneCore
|
|
332
332
|
|
333
333
|
def build_provider_ids_command(username, password, jwt = nil)
|
334
334
|
use_jwt = !jwt.to_s.empty?
|
335
|
-
if Helper.mac? && Helper.xcode_at_least?(11)
|
335
|
+
if !Helper.user_defined_itms_path? && Helper.mac? && Helper.xcode_at_least?(11)
|
336
336
|
[
|
337
337
|
("ITMS_TRANSPORTER_PASSWORD=#{password.shellescape}" unless use_jwt),
|
338
338
|
'xcrun iTMSTransporter',
|
@@ -209,7 +209,9 @@ module Scan
|
|
209
209
|
end
|
210
210
|
|
211
211
|
# building up the destination now
|
212
|
-
if Scan.
|
212
|
+
if Scan.building_mac_catalyst_for_mac?
|
213
|
+
Scan.config[:destination] = ["platform=macOS,variant=Mac Catalyst"]
|
214
|
+
elsif Scan.devices && Scan.devices.count > 0
|
213
215
|
Scan.config[:destination] = Scan.devices.map { |d| "platform=#{d.os_type} Simulator,id=#{d.udid}" }
|
214
216
|
elsif Scan.project.mac_app?
|
215
217
|
Scan.config[:destination] = min_xcode8? ? ["platform=macOS"] : ["platform=OS X"]
|
data/scan/lib/scan/module.rb
CHANGED
@@ -21,6 +21,10 @@ module Scan
|
|
21
21
|
def scanfile_name
|
22
22
|
"Scanfile"
|
23
23
|
end
|
24
|
+
|
25
|
+
def building_mac_catalyst_for_mac?
|
26
|
+
Scan.project.supports_mac_catalyst? && Scan.config[:catalyst_platform] == "macos"
|
27
|
+
end
|
24
28
|
end
|
25
29
|
|
26
30
|
Helper = FastlaneCore::Helper # you gotta love Ruby: Helper.* should use the Helper class contained in FastlaneCore
|
data/scan/lib/scan/options.rb
CHANGED
@@ -419,6 +419,15 @@ module Scan
|
|
419
419
|
description: "Use only if you're a pro, use the other options instead",
|
420
420
|
is_string: false,
|
421
421
|
optional: true),
|
422
|
+
FastlaneCore::ConfigItem.new(key: :catalyst_platform,
|
423
|
+
env_name: "SCAN_CATALYST_PLATFORM",
|
424
|
+
description: "Platform to build when using a Catalyst enabled app. Valid values are: ios, macos",
|
425
|
+
type: String,
|
426
|
+
optional: true,
|
427
|
+
verify_block: proc do |value|
|
428
|
+
av = %w(ios macos)
|
429
|
+
UI.user_error!("Unsupported export_method '#{value}', must be: #{av}") unless av.include?(value)
|
430
|
+
end),
|
422
431
|
FastlaneCore::ConfigItem.new(key: :custom_report_file_name,
|
423
432
|
env_name: "SCAN_CUSTOM_REPORT_FILE_NAME",
|
424
433
|
description: "Sets custom full report file name when generating a single report",
|
@@ -40,11 +40,13 @@ module Snapshot
|
|
40
40
|
return options
|
41
41
|
end
|
42
42
|
|
43
|
-
def build_settings
|
43
|
+
def build_settings(language, locale)
|
44
44
|
config = Snapshot.config
|
45
45
|
|
46
46
|
build_settings = []
|
47
47
|
build_settings << "FASTLANE_SNAPSHOT=YES"
|
48
|
+
build_settings << "FASTLANE_LANGUAGE=#{language}" if language
|
49
|
+
build_settings << "FASTLANE_LOCALE=#{locale}" if locale
|
48
50
|
build_settings << "TEST_TARGET_NAME=#{config[:test_target_name].shellescape}" if config[:test_target_name]
|
49
51
|
|
50
52
|
return build_settings
|
@@ -14,7 +14,7 @@ module Snapshot
|
|
14
14
|
parts << "xcodebuild"
|
15
15
|
parts += options(language, locale)
|
16
16
|
parts += destination(device_type)
|
17
|
-
parts += build_settings
|
17
|
+
parts += build_settings(language, locale)
|
18
18
|
parts += actions
|
19
19
|
parts += suffix
|
20
20
|
parts += pipe(device_type, language, locale)
|
data/supply/lib/supply.rb
CHANGED
@@ -16,7 +16,7 @@ module Supply
|
|
16
16
|
end
|
17
17
|
|
18
18
|
AVAILABLE_METADATA_FIELDS = %w(title short_description full_description video)
|
19
|
-
IMAGES_TYPES = %w(featureGraphic icon
|
19
|
+
IMAGES_TYPES = %w(featureGraphic icon tvBanner) # https://developers.google.com/android-publisher/api-ref/rest/v3/AppImageType
|
20
20
|
SCREENSHOT_TYPES = %w(phoneScreenshots sevenInchScreenshots tenInchScreenshots tvScreenshots wearScreenshots)
|
21
21
|
|
22
22
|
IMAGES_FOLDER_NAME = "images"
|
metadata
CHANGED
@@ -1,35 +1,35 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.166.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
8
|
-
-
|
9
|
-
-
|
7
|
+
- Andrew McBurney
|
8
|
+
- Joshua Liebowitz
|
9
|
+
- Max Ott
|
10
10
|
- Josh Holtz
|
11
|
-
- Danielle Tomlinson
|
12
11
|
- Jérôme Lacoste
|
13
|
-
-
|
14
|
-
-
|
12
|
+
- Stefan Natchev
|
13
|
+
- Olivier Halligon
|
14
|
+
- Jorge Revuelta H
|
15
|
+
- Jan Piotrowski
|
16
|
+
- Helmut Januschka
|
17
|
+
- Matthew Ellis
|
18
|
+
- Manu Wallner
|
15
19
|
- Aaron Brager
|
16
20
|
- Jimmy Dee
|
17
|
-
-
|
21
|
+
- Maksym Grebenets
|
22
|
+
- Daniel Jankowski
|
18
23
|
- Luka Mirosevic
|
19
|
-
-
|
20
|
-
- Jan Piotrowski
|
21
|
-
- Stefan Natchev
|
22
|
-
- Andrew McBurney
|
24
|
+
- Danielle Tomlinson
|
23
25
|
- Fumiya Nakamura
|
24
26
|
- Iulian Onofrei
|
25
|
-
-
|
26
|
-
-
|
27
|
-
- Daniel Jankowski
|
28
|
-
- Helmut Januschka
|
27
|
+
- Felix Krause
|
28
|
+
- Kohki Miki
|
29
29
|
autorequire:
|
30
30
|
bindir: bin
|
31
31
|
cert_chain: []
|
32
|
-
date: 2020-
|
32
|
+
date: 2020-11-02 00:00:00.000000000 Z
|
33
33
|
dependencies:
|
34
34
|
- !ruby/object:Gem::Dependency
|
35
35
|
name: slack-notifier
|
@@ -943,6 +943,7 @@ files:
|
|
943
943
|
- deliver/lib/assets/ScreenshotsHelp
|
944
944
|
- deliver/lib/assets/summary.html.erb
|
945
945
|
- deliver/lib/deliver.rb
|
946
|
+
- deliver/lib/deliver/.upload_screenshots.rb.swp
|
946
947
|
- deliver/lib/deliver/app_screenshot.rb
|
947
948
|
- deliver/lib/deliver/app_screenshot_iterator.rb
|
948
949
|
- deliver/lib/deliver/commands_generator.rb
|
@@ -1829,7 +1830,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1829
1830
|
- !ruby/object:Gem::Version
|
1830
1831
|
version: '0'
|
1831
1832
|
requirements: []
|
1832
|
-
|
1833
|
+
rubyforge_project:
|
1834
|
+
rubygems_version: 2.6.14.4
|
1833
1835
|
signing_key:
|
1834
1836
|
specification_version: 4
|
1835
1837
|
summary: The easiest way to automate beta deployments and releases for your iOS and
|