fastlane 2.165.0 → 2.166.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 +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
|