fastlane 2.202.0 → 2.203.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5d4567dd6f8c7aabb3d575822340afb7e2fafa0563eacbcbfe079992eab5a6ec
4
- data.tar.gz: 1fb4e0cbe6e54f38c0bcc425a8f42dcde2ac00b3e8febb9132a0402a46cb8a5c
3
+ metadata.gz: 04571c4f9435056c091703452863225e9513b3f3c802a40a73619c9c210278c3
4
+ data.tar.gz: b9a374f41e2de5c433ac18be869cc09af8f306d81fdaef87c9499cfc82f7b75f
5
5
  SHA512:
6
- metadata.gz: d61d0fa7b4cb66ef6f9d7e37751df91ebd15da513bcea036c9a96228128462c2414c0534bd141b90c47db9457adab9c00c44a51ce67f93a9d69927918afac29e
7
- data.tar.gz: 663862b46382e41b71729ce28dcfd63c50cf7f89ada3868a053dbfcc72df8d16017d9fde30e7e185c855e5f9ce3225aaace0548703e34a41324f21db35ebbc10
6
+ metadata.gz: 94746b9aaa46fe097455bde533ab329cb17079370f19ccc42fa0b03bd8224adc74ab3e01b1c4cf12f52eed79a823bc59ea0b80185ee563031d347fed83de9f0a
7
+ data.tar.gz: 7f5add6730dd66808b570ca618fc1297b4efe0f663fd46963cc39903724928fb0a7a036c08ee33ef493c809dbea7dd5a577a25eae9e877aa26602fa8c63ba7d0
data/README.md CHANGED
@@ -35,171 +35,171 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
35
35
  <!-- This table is regenerated and resorted on each release -->
36
36
  <table id='team'>
37
37
  <tr>
38
- <td id='jimmy-dee'>
39
- <a href='https://github.com/jdee'>
40
- <img src='https://github.com/jdee.png' width='140px;'>
41
- </a>
42
- <h4 align='center'>Jimmy Dee</h4>
43
- </td>
44
- <td id='fumiya-nakamura'>
45
- <a href='https://github.com/nafu'>
46
- <img src='https://github.com/nafu.png' width='140px;'>
38
+ <td id='manu-wallner'>
39
+ <a href='https://github.com/milch'>
40
+ <img src='https://github.com/milch.png' width='140px;'>
47
41
  </a>
48
- <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
42
+ <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
49
43
  </td>
50
- <td id='matthew-ellis'>
51
- <a href='https://github.com/matthewellis'>
52
- <img src='https://github.com/matthewellis.png' width='140px;'>
44
+ <td id='kohki-miki'>
45
+ <a href='https://github.com/giginet'>
46
+ <img src='https://github.com/giginet.png' width='140px;'>
53
47
  </a>
54
- <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
48
+ <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
55
49
  </td>
56
- <td id='luka-mirosevic'>
57
- <a href='https://github.com/lmirosevic'>
58
- <img src='https://github.com/lmirosevic.png' width='140px;'>
50
+ <td id='helmut-januschka'>
51
+ <a href='https://github.com/hjanuschka'>
52
+ <img src='https://github.com/hjanuschka.png' width='140px;'>
59
53
  </a>
60
- <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
54
+ <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
61
55
  </td>
62
- <td id='maksym-grebenets'>
63
- <a href='https://github.com/mgrebenets'>
64
- <img src='https://github.com/mgrebenets.png' width='140px;'>
56
+ <td id='jan-piotrowski'>
57
+ <a href='https://github.com/janpio'>
58
+ <img src='https://github.com/janpio.png' width='140px;'>
65
59
  </a>
66
- <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
60
+ <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
67
61
  </td>
68
- </tr>
69
- <tr>
70
62
  <td id='stefan-natchev'>
71
63
  <a href='https://github.com/snatchev'>
72
64
  <img src='https://github.com/snatchev.png' width='140px;'>
73
65
  </a>
74
66
  <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
75
67
  </td>
76
- <td id='helmut-januschka'>
77
- <a href='https://github.com/hjanuschka'>
78
- <img src='https://github.com/hjanuschka.png' width='140px;'>
68
+ </tr>
69
+ <tr>
70
+ <td id='olivier-halligon'>
71
+ <a href='https://github.com/AliSoftware'>
72
+ <img src='https://github.com/AliSoftware.png' width='140px;'>
79
73
  </a>
80
- <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
74
+ <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
81
75
  </td>
82
- <td id='felix-krause'>
83
- <a href='https://github.com/KrauseFx'>
84
- <img src='https://github.com/KrauseFx.png' width='140px;'>
76
+ <td id='łukasz-grabowski'>
77
+ <a href='https://github.com/lucgrabowski'>
78
+ <img src='https://github.com/lucgrabowski.png' width='140px;'>
85
79
  </a>
86
- <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
80
+ <h4 align='center'>Łukasz Grabowski</h4>
87
81
  </td>
88
- <td id='manish-rathi'>
89
- <a href='https://github.com/crazymanish'>
90
- <img src='https://github.com/crazymanish.png' width='140px;'>
82
+ <td id='danielle-tomlinson'>
83
+ <a href='https://github.com/endocrimes'>
84
+ <img src='https://github.com/endocrimes.png' width='140px;'>
91
85
  </a>
92
- <h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</a></h4>
86
+ <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
93
87
  </td>
94
- <td id='aaron-brager'>
95
- <a href='https://github.com/getaaron'>
96
- <img src='https://github.com/getaaron.png' width='140px;'>
88
+ <td id='jimmy-dee'>
89
+ <a href='https://github.com/jdee'>
90
+ <img src='https://github.com/jdee.png' width='140px;'>
97
91
  </a>
98
- <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
92
+ <h4 align='center'>Jimmy Dee</h4>
93
+ </td>
94
+ <td id='jorge-revuelta-h'>
95
+ <a href='https://github.com/minuscorp'>
96
+ <img src='https://github.com/minuscorp.png' width='140px;'>
97
+ </a>
98
+ <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
99
99
  </td>
100
100
  </tr>
101
101
  <tr>
102
- <td id='satoshi-namai'>
103
- <a href='https://github.com/ainame'>
104
- <img src='https://github.com/ainame.png' width='140px;'>
102
+ <td id='felix-krause'>
103
+ <a href='https://github.com/KrauseFx'>
104
+ <img src='https://github.com/KrauseFx.png' width='140px;'>
105
105
  </a>
106
- <h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
106
+ <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
107
107
  </td>
108
- <td id='daniel-jankowski'>
109
- <a href='https://github.com/mollyIV'>
110
- <img src='https://github.com/mollyIV.png' width='140px;'>
108
+ <td id='joshua-liebowitz'>
109
+ <a href='https://github.com/taquitos'>
110
+ <img src='https://github.com/taquitos.png' width='140px;'>
111
111
  </a>
112
- <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
112
+ <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
113
113
  </td>
114
- <td id='jan-piotrowski'>
115
- <a href='https://github.com/janpio'>
116
- <img src='https://github.com/janpio.png' width='140px;'>
114
+ <td id='josh-holtz'>
115
+ <a href='https://github.com/joshdholtz'>
116
+ <img src='https://github.com/joshdholtz.png' width='140px;'>
117
117
  </a>
118
- <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
118
+ <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
119
119
  </td>
120
- <td id='andrew-mcburney'>
121
- <a href='https://github.com/armcburney'>
122
- <img src='https://github.com/armcburney.png' width='140px;'>
120
+ <td id='jérôme-lacoste'>
121
+ <a href='https://github.com/lacostej'>
122
+ <img src='https://github.com/lacostej.png' width='140px;'>
123
123
  </a>
124
- <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
124
+ <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
125
125
  </td>
126
- <td id='olivier-halligon'>
127
- <a href='https://github.com/AliSoftware'>
128
- <img src='https://github.com/AliSoftware.png' width='140px;'>
126
+ <td id='satoshi-namai'>
127
+ <a href='https://github.com/ainame'>
128
+ <img src='https://github.com/ainame.png' width='140px;'>
129
129
  </a>
130
- <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
130
+ <h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
131
131
  </td>
132
132
  </tr>
133
133
  <tr>
134
- <td id='joshua-liebowitz'>
135
- <a href='https://github.com/taquitos'>
136
- <img src='https://github.com/taquitos.png' width='140px;'>
134
+ <td id='fumiya-nakamura'>
135
+ <a href='https://github.com/nafu'>
136
+ <img src='https://github.com/nafu.png' width='140px;'>
137
137
  </a>
138
- <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
138
+ <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
139
139
  </td>
140
- <td id='max-ott'>
141
- <a href='https://github.com/max-ott'>
142
- <img src='https://github.com/max-ott.png' width='140px;'>
140
+ <td id='roger-oba'>
141
+ <a href='https://github.com/rogerluan'>
142
+ <img src='https://github.com/rogerluan.png' width='140px;'>
143
143
  </a>
144
- <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
144
+ <h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
145
145
  </td>
146
- <td id='iulian-onofrei'>
147
- <a href='https://github.com/revolter'>
148
- <img src='https://github.com/revolter.png' width='140px;'>
146
+ <td id='manish-rathi'>
147
+ <a href='https://github.com/crazymanish'>
148
+ <img src='https://github.com/crazymanish.png' width='140px;'>
149
149
  </a>
150
- <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
150
+ <h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</a></h4>
151
151
  </td>
152
- <td id='łukasz-grabowski'>
153
- <a href='https://github.com/lucgrabowski'>
154
- <img src='https://github.com/lucgrabowski.png' width='140px;'>
152
+ <td id='luka-mirosevic'>
153
+ <a href='https://github.com/lmirosevic'>
154
+ <img src='https://github.com/lmirosevic.png' width='140px;'>
155
155
  </a>
156
- <h4 align='center'>Łukasz Grabowski</h4>
156
+ <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
157
157
  </td>
158
- <td id='jorge-revuelta-h'>
159
- <a href='https://github.com/minuscorp'>
160
- <img src='https://github.com/minuscorp.png' width='140px;'>
158
+ <td id='matthew-ellis'>
159
+ <a href='https://github.com/matthewellis'>
160
+ <img src='https://github.com/matthewellis.png' width='140px;'>
161
161
  </a>
162
- <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
162
+ <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
163
163
  </td>
164
164
  </tr>
165
165
  <tr>
166
- <td id='josh-holtz'>
167
- <a href='https://github.com/joshdholtz'>
168
- <img src='https://github.com/joshdholtz.png' width='140px;'>
166
+ <td id='maksym-grebenets'>
167
+ <a href='https://github.com/mgrebenets'>
168
+ <img src='https://github.com/mgrebenets.png' width='140px;'>
169
169
  </a>
170
- <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
170
+ <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
171
171
  </td>
172
- <td id='danielle-tomlinson'>
173
- <a href='https://github.com/endocrimes'>
174
- <img src='https://github.com/endocrimes.png' width='140px;'>
172
+ <td id='iulian-onofrei'>
173
+ <a href='https://github.com/revolter'>
174
+ <img src='https://github.com/revolter.png' width='140px;'>
175
175
  </a>
176
- <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
176
+ <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
177
177
  </td>
178
- <td id='roger-oba'>
179
- <a href='https://github.com/rogerluan'>
180
- <img src='https://github.com/rogerluan.png' width='140px;'>
178
+ <td id='aaron-brager'>
179
+ <a href='https://github.com/getaaron'>
180
+ <img src='https://github.com/getaaron.png' width='140px;'>
181
181
  </a>
182
- <h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
182
+ <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
183
183
  </td>
184
- <td id='jérôme-lacoste'>
185
- <a href='https://github.com/lacostej'>
186
- <img src='https://github.com/lacostej.png' width='140px;'>
184
+ <td id='daniel-jankowski'>
185
+ <a href='https://github.com/mollyIV'>
186
+ <img src='https://github.com/mollyIV.png' width='140px;'>
187
187
  </a>
188
- <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
188
+ <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
189
189
  </td>
190
- <td id='kohki-miki'>
191
- <a href='https://github.com/giginet'>
192
- <img src='https://github.com/giginet.png' width='140px;'>
190
+ <td id='andrew-mcburney'>
191
+ <a href='https://github.com/armcburney'>
192
+ <img src='https://github.com/armcburney.png' width='140px;'>
193
193
  </a>
194
- <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
194
+ <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
195
195
  </td>
196
196
  </tr>
197
197
  <tr>
198
- <td id='manu-wallner'>
199
- <a href='https://github.com/milch'>
200
- <img src='https://github.com/milch.png' width='140px;'>
198
+ <td id='max-ott'>
199
+ <a href='https://github.com/max-ott'>
200
+ <img src='https://github.com/max-ott.png' width='140px;'>
201
201
  </a>
202
- <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
202
+ <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
203
203
  </td>
204
204
  </table>
205
205
 
@@ -14,12 +14,12 @@ module Fastlane
14
14
  manager = Scan::Manager.new
15
15
 
16
16
  begin
17
- manager.work(values)
17
+ results = manager.work(values)
18
18
 
19
19
  zip_build_products_path = Scan.cache[:zip_build_products_path]
20
20
  Actions.lane_context[SharedValues::SCAN_ZIP_BUILD_PRODUCTS_PATH] = zip_build_products_path if zip_build_products_path
21
21
 
22
- return true
22
+ return results
23
23
  rescue FastlaneCore::Interface::FastlaneBuildFailure => ex
24
24
  # Specifically catching FastlaneBuildFailure to prevent build/compile errors from being
25
25
  # silenced when :fail_build is set to false
@@ -56,6 +56,14 @@ module Fastlane
56
56
  "More information: https://docs.fastlane.tools/actions/scan/"
57
57
  end
58
58
 
59
+ def self.return_value
60
+ 'Outputs has of results with :number_of_tests, :number_of_failures, :number_of_retries, :number_of_tests_excluding_retries, :number_of_failures_excluding_retries'
61
+ end
62
+
63
+ def self.return_type
64
+ :hash
65
+ end
66
+
59
67
  def self.author
60
68
  "KrauseFx"
61
69
  end
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.202.0'.freeze
2
+ VERSION = '2.203.0'.freeze
3
3
  DESCRIPTION = "The easiest way to automate beta deployments and releases for your iOS and Android apps".freeze
4
4
  MINIMUM_XCODE_RELEASE = "7.0".freeze
5
5
  RUBOCOP_REQUIREMENT = '1.12.1'.freeze
@@ -17,4 +17,4 @@ public class Deliverfile: DeliverfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.202.0
20
+ // Generated with fastlane 2.203.0
@@ -260,4 +260,4 @@ public extension DeliverfileProtocol {
260
260
 
261
261
  // Please don't remove the lines below
262
262
  // They are used to detect outdated files
263
- // FastlaneRunnerAPIVersion [0.9.94]
263
+ // FastlaneRunnerAPIVersion [0.9.95]
@@ -8600,6 +8600,7 @@ public func rubyVersion() {
8600
8600
  - outputXctestrun: Should provide additional copy of .xctestrun file (settings.xctestrun) and place in output path?
8601
8601
  - resultBundle: Should an Xcode result bundle be generated in the output directory
8602
8602
  - useClangReportName: Generate the json compilation database with clang naming convention (compile_commands.json)
8603
+ - parallelTesting: Optionally override the per-target setting in the scheme for running tests in parallel. Equivalent to -parallel-testing-enabled
8603
8604
  - concurrentWorkers: Specify the exact number of test runners that will be spawned during parallel testing. Equivalent to -parallel-testing-worker-count
8604
8605
  - maxConcurrentSimulators: Constrain the number of simulator devices on which to test concurrently. Equivalent to -maximum-concurrent-test-simulator-destinations
8605
8606
  - disableConcurrentTesting: Do not run test bundles in parallel on the specified destinations. Testing will occur on each destination serially. Equivalent to -disable-concurrent-testing
@@ -8632,83 +8633,86 @@ public func rubyVersion() {
8632
8633
  - numberOfRetries: The number of times a test can fail
8633
8634
  - failBuild: Should this step stop the build if the tests fail? Set this to false if you're using trainer
8634
8635
 
8636
+ - returns: Outputs has of results with :number_of_tests, :number_of_failures, :number_of_retries, :number_of_tests_excluding_retries, :number_of_failures_excluding_retries
8637
+
8635
8638
  More information: https://docs.fastlane.tools/actions/scan/
8636
8639
  */
8637
- public func runTests(workspace: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8638
- project: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8639
- packagePath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8640
- scheme: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8641
- device: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8642
- devices: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
8643
- skipDetectDevices: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8644
- ensureDevicesFound: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8645
- forceQuitSimulator: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8646
- resetSimulator: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8647
- disableSlideToType: OptionalConfigValue<Bool> = .fastlaneDefault(true),
8648
- prelaunchSimulator: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
8649
- reinstallApp: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8650
- appIdentifier: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8651
- onlyTesting: Any? = nil,
8652
- skipTesting: Any? = nil,
8653
- testplan: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8654
- onlyTestConfigurations: Any? = nil,
8655
- skipTestConfigurations: Any? = nil,
8656
- xctestrun: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8657
- toolchain: Any? = nil,
8658
- clean: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8659
- codeCoverage: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
8660
- addressSanitizer: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
8661
- threadSanitizer: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
8662
- openReport: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8663
- outputDirectory: String = "./test_output",
8664
- outputStyle: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8665
- outputTypes: String = "html,junit",
8666
- outputFiles: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8667
- buildlogPath: String = "~/Library/Logs/scan",
8668
- includeSimulatorLogs: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8669
- suppressXcodeOutput: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
8670
- xcodebuildFormatter: String = "xcbeautify",
8671
- outputRemoveRetryAttempts: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8672
- disableXcpretty: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
8673
- formatter: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8674
- xcprettyFormatter: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8675
- xcprettyArgs: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8676
- derivedDataPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8677
- shouldZipBuildProducts: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8678
- outputXctestrun: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8679
- resultBundle: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8680
- useClangReportName: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8681
- concurrentWorkers: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
8682
- maxConcurrentSimulators: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
8683
- disableConcurrentTesting: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8684
- skipBuild: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8685
- testWithoutBuilding: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
8686
- buildForTesting: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
8687
- sdk: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8688
- configuration: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8689
- xcargs: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8690
- xcconfig: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8691
- appName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8692
- deploymentTargetVersion: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8693
- slackUrl: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8694
- slackChannel: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8695
- slackMessage: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8696
- slackUseWebhookConfiguredUsernameAndIcon: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8697
- slackUsername: String = "fastlane",
8698
- slackIconUrl: String = "https://fastlane.tools/assets/img/fastlane_icon.png",
8699
- skipSlack: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8700
- slackOnlyOnFailure: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8701
- slackDefaultPayloads: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
8702
- destination: Any? = nil,
8703
- catalystPlatform: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8704
- customReportFileName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8705
- xcodebuildCommand: String = "env NSUnbufferedIO=YES xcodebuild",
8706
- clonedSourcePackagesPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8707
- skipPackageDependenciesResolution: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8708
- disablePackageAutomaticUpdates: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8709
- useSystemScm: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8710
- numberOfRetries: Int = 0,
8711
- failBuild: OptionalConfigValue<Bool> = .fastlaneDefault(true))
8640
+ @discardableResult public func runTests(workspace: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8641
+ project: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8642
+ packagePath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8643
+ scheme: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8644
+ device: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8645
+ devices: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
8646
+ skipDetectDevices: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8647
+ ensureDevicesFound: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8648
+ forceQuitSimulator: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8649
+ resetSimulator: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8650
+ disableSlideToType: OptionalConfigValue<Bool> = .fastlaneDefault(true),
8651
+ prelaunchSimulator: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
8652
+ reinstallApp: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8653
+ appIdentifier: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8654
+ onlyTesting: Any? = nil,
8655
+ skipTesting: Any? = nil,
8656
+ testplan: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8657
+ onlyTestConfigurations: Any? = nil,
8658
+ skipTestConfigurations: Any? = nil,
8659
+ xctestrun: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8660
+ toolchain: Any? = nil,
8661
+ clean: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8662
+ codeCoverage: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
8663
+ addressSanitizer: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
8664
+ threadSanitizer: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
8665
+ openReport: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8666
+ outputDirectory: String = "./test_output",
8667
+ outputStyle: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8668
+ outputTypes: String = "html,junit",
8669
+ outputFiles: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8670
+ buildlogPath: String = "~/Library/Logs/scan",
8671
+ includeSimulatorLogs: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8672
+ suppressXcodeOutput: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
8673
+ xcodebuildFormatter: String = "xcbeautify",
8674
+ outputRemoveRetryAttempts: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8675
+ disableXcpretty: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
8676
+ formatter: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8677
+ xcprettyFormatter: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8678
+ xcprettyArgs: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8679
+ derivedDataPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8680
+ shouldZipBuildProducts: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8681
+ outputXctestrun: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8682
+ resultBundle: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8683
+ useClangReportName: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8684
+ parallelTesting: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
8685
+ concurrentWorkers: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
8686
+ maxConcurrentSimulators: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
8687
+ disableConcurrentTesting: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8688
+ skipBuild: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8689
+ testWithoutBuilding: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
8690
+ buildForTesting: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
8691
+ sdk: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8692
+ configuration: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8693
+ xcargs: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8694
+ xcconfig: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8695
+ appName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8696
+ deploymentTargetVersion: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8697
+ slackUrl: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8698
+ slackChannel: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8699
+ slackMessage: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8700
+ slackUseWebhookConfiguredUsernameAndIcon: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8701
+ slackUsername: String = "fastlane",
8702
+ slackIconUrl: String = "https://fastlane.tools/assets/img/fastlane_icon.png",
8703
+ skipSlack: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8704
+ slackOnlyOnFailure: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8705
+ slackDefaultPayloads: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
8706
+ destination: Any? = nil,
8707
+ catalystPlatform: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8708
+ customReportFileName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8709
+ xcodebuildCommand: String = "env NSUnbufferedIO=YES xcodebuild",
8710
+ clonedSourcePackagesPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8711
+ skipPackageDependenciesResolution: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8712
+ disablePackageAutomaticUpdates: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8713
+ useSystemScm: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8714
+ numberOfRetries: Int = 0,
8715
+ failBuild: OptionalConfigValue<Bool> = .fastlaneDefault(true)) -> [String: Any]
8712
8716
  {
8713
8717
  let workspaceArg = workspace.asRubyArgument(name: "workspace", type: nil)
8714
8718
  let projectArg = project.asRubyArgument(name: "project", type: nil)
@@ -8754,6 +8758,7 @@ public func runTests(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
8754
8758
  let outputXctestrunArg = outputXctestrun.asRubyArgument(name: "output_xctestrun", type: nil)
8755
8759
  let resultBundleArg = resultBundle.asRubyArgument(name: "result_bundle", type: nil)
8756
8760
  let useClangReportNameArg = useClangReportName.asRubyArgument(name: "use_clang_report_name", type: nil)
8761
+ let parallelTestingArg = parallelTesting.asRubyArgument(name: "parallel_testing", type: nil)
8757
8762
  let concurrentWorkersArg = concurrentWorkers.asRubyArgument(name: "concurrent_workers", type: nil)
8758
8763
  let maxConcurrentSimulatorsArg = maxConcurrentSimulators.asRubyArgument(name: "max_concurrent_simulators", type: nil)
8759
8764
  let disableConcurrentTestingArg = disableConcurrentTesting.asRubyArgument(name: "disable_concurrent_testing", type: nil)
@@ -8829,6 +8834,7 @@ public func runTests(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
8829
8834
  outputXctestrunArg,
8830
8835
  resultBundleArg,
8831
8836
  useClangReportNameArg,
8837
+ parallelTestingArg,
8832
8838
  concurrentWorkersArg,
8833
8839
  maxConcurrentSimulatorsArg,
8834
8840
  disableConcurrentTestingArg,
@@ -8864,7 +8870,7 @@ public func runTests(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
8864
8870
  .filter { $0?.value != nil }
8865
8871
  .compactMap { $0 }
8866
8872
  let command = RubyCommand(commandID: "", methodName: "run_tests", className: nil, args: args)
8867
- _ = runner.executeCommand(command)
8873
+ return parseDictionary(fromString: runner.executeCommand(command))
8868
8874
  }
8869
8875
 
8870
8876
  /**
@@ -9017,6 +9023,7 @@ public func say(text: [String],
9017
9023
  - outputXctestrun: Should provide additional copy of .xctestrun file (settings.xctestrun) and place in output path?
9018
9024
  - resultBundle: Should an Xcode result bundle be generated in the output directory
9019
9025
  - useClangReportName: Generate the json compilation database with clang naming convention (compile_commands.json)
9026
+ - parallelTesting: Optionally override the per-target setting in the scheme for running tests in parallel. Equivalent to -parallel-testing-enabled
9020
9027
  - concurrentWorkers: Specify the exact number of test runners that will be spawned during parallel testing. Equivalent to -parallel-testing-worker-count
9021
9028
  - maxConcurrentSimulators: Constrain the number of simulator devices on which to test concurrently. Equivalent to -maximum-concurrent-test-simulator-destinations
9022
9029
  - disableConcurrentTesting: Do not run test bundles in parallel on the specified destinations. Testing will occur on each destination serially. Equivalent to -disable-concurrent-testing
@@ -9049,83 +9056,86 @@ public func say(text: [String],
9049
9056
  - numberOfRetries: The number of times a test can fail
9050
9057
  - failBuild: Should this step stop the build if the tests fail? Set this to false if you're using trainer
9051
9058
 
9059
+ - returns: Outputs has of results with :number_of_tests, :number_of_failures, :number_of_retries, :number_of_tests_excluding_retries, :number_of_failures_excluding_retries
9060
+
9052
9061
  More information: https://docs.fastlane.tools/actions/scan/
9053
9062
  */
9054
- public func scan(workspace: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.workspace),
9055
- project: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.project),
9056
- packagePath: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.packagePath),
9057
- scheme: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.scheme),
9058
- device: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.device),
9059
- devices: OptionalConfigValue<[String]?> = .fastlaneDefault(scanfile.devices),
9060
- skipDetectDevices: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.skipDetectDevices),
9061
- ensureDevicesFound: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.ensureDevicesFound),
9062
- forceQuitSimulator: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.forceQuitSimulator),
9063
- resetSimulator: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.resetSimulator),
9064
- disableSlideToType: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.disableSlideToType),
9065
- prelaunchSimulator: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.prelaunchSimulator),
9066
- reinstallApp: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.reinstallApp),
9067
- appIdentifier: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.appIdentifier),
9068
- onlyTesting: Any? = scanfile.onlyTesting,
9069
- skipTesting: Any? = scanfile.skipTesting,
9070
- testplan: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.testplan),
9071
- onlyTestConfigurations: Any? = scanfile.onlyTestConfigurations,
9072
- skipTestConfigurations: Any? = scanfile.skipTestConfigurations,
9073
- xctestrun: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.xctestrun),
9074
- toolchain: Any? = scanfile.toolchain,
9075
- clean: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.clean),
9076
- codeCoverage: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.codeCoverage),
9077
- addressSanitizer: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.addressSanitizer),
9078
- threadSanitizer: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.threadSanitizer),
9079
- openReport: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.openReport),
9080
- outputDirectory: String = scanfile.outputDirectory,
9081
- outputStyle: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.outputStyle),
9082
- outputTypes: String = scanfile.outputTypes,
9083
- outputFiles: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.outputFiles),
9084
- buildlogPath: String = scanfile.buildlogPath,
9085
- includeSimulatorLogs: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.includeSimulatorLogs),
9086
- suppressXcodeOutput: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.suppressXcodeOutput),
9087
- xcodebuildFormatter: String = scanfile.xcodebuildFormatter,
9088
- outputRemoveRetryAttempts: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.outputRemoveRetryAttempts),
9089
- disableXcpretty: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.disableXcpretty),
9090
- formatter: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.formatter),
9091
- xcprettyFormatter: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.xcprettyFormatter),
9092
- xcprettyArgs: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.xcprettyArgs),
9093
- derivedDataPath: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.derivedDataPath),
9094
- shouldZipBuildProducts: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.shouldZipBuildProducts),
9095
- outputXctestrun: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.outputXctestrun),
9096
- resultBundle: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.resultBundle),
9097
- useClangReportName: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.useClangReportName),
9098
- concurrentWorkers: OptionalConfigValue<Int?> = .fastlaneDefault(scanfile.concurrentWorkers),
9099
- maxConcurrentSimulators: OptionalConfigValue<Int?> = .fastlaneDefault(scanfile.maxConcurrentSimulators),
9100
- disableConcurrentTesting: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.disableConcurrentTesting),
9101
- skipBuild: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.skipBuild),
9102
- testWithoutBuilding: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.testWithoutBuilding),
9103
- buildForTesting: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.buildForTesting),
9104
- sdk: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.sdk),
9105
- configuration: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.configuration),
9106
- xcargs: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.xcargs),
9107
- xcconfig: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.xcconfig),
9108
- appName: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.appName),
9109
- deploymentTargetVersion: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.deploymentTargetVersion),
9110
- slackUrl: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.slackUrl),
9111
- slackChannel: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.slackChannel),
9112
- slackMessage: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.slackMessage),
9113
- slackUseWebhookConfiguredUsernameAndIcon: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.slackUseWebhookConfiguredUsernameAndIcon),
9114
- slackUsername: String = scanfile.slackUsername,
9115
- slackIconUrl: String = scanfile.slackIconUrl,
9116
- skipSlack: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.skipSlack),
9117
- slackOnlyOnFailure: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.slackOnlyOnFailure),
9118
- slackDefaultPayloads: OptionalConfigValue<[String]?> = .fastlaneDefault(scanfile.slackDefaultPayloads),
9119
- destination: Any? = scanfile.destination,
9120
- catalystPlatform: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.catalystPlatform),
9121
- customReportFileName: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.customReportFileName),
9122
- xcodebuildCommand: String = scanfile.xcodebuildCommand,
9123
- clonedSourcePackagesPath: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.clonedSourcePackagesPath),
9124
- skipPackageDependenciesResolution: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.skipPackageDependenciesResolution),
9125
- disablePackageAutomaticUpdates: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.disablePackageAutomaticUpdates),
9126
- useSystemScm: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.useSystemScm),
9127
- numberOfRetries: Int = scanfile.numberOfRetries,
9128
- failBuild: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.failBuild))
9063
+ @discardableResult public func scan(workspace: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.workspace),
9064
+ project: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.project),
9065
+ packagePath: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.packagePath),
9066
+ scheme: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.scheme),
9067
+ device: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.device),
9068
+ devices: OptionalConfigValue<[String]?> = .fastlaneDefault(scanfile.devices),
9069
+ skipDetectDevices: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.skipDetectDevices),
9070
+ ensureDevicesFound: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.ensureDevicesFound),
9071
+ forceQuitSimulator: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.forceQuitSimulator),
9072
+ resetSimulator: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.resetSimulator),
9073
+ disableSlideToType: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.disableSlideToType),
9074
+ prelaunchSimulator: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.prelaunchSimulator),
9075
+ reinstallApp: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.reinstallApp),
9076
+ appIdentifier: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.appIdentifier),
9077
+ onlyTesting: Any? = scanfile.onlyTesting,
9078
+ skipTesting: Any? = scanfile.skipTesting,
9079
+ testplan: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.testplan),
9080
+ onlyTestConfigurations: Any? = scanfile.onlyTestConfigurations,
9081
+ skipTestConfigurations: Any? = scanfile.skipTestConfigurations,
9082
+ xctestrun: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.xctestrun),
9083
+ toolchain: Any? = scanfile.toolchain,
9084
+ clean: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.clean),
9085
+ codeCoverage: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.codeCoverage),
9086
+ addressSanitizer: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.addressSanitizer),
9087
+ threadSanitizer: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.threadSanitizer),
9088
+ openReport: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.openReport),
9089
+ outputDirectory: String = scanfile.outputDirectory,
9090
+ outputStyle: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.outputStyle),
9091
+ outputTypes: String = scanfile.outputTypes,
9092
+ outputFiles: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.outputFiles),
9093
+ buildlogPath: String = scanfile.buildlogPath,
9094
+ includeSimulatorLogs: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.includeSimulatorLogs),
9095
+ suppressXcodeOutput: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.suppressXcodeOutput),
9096
+ xcodebuildFormatter: String = scanfile.xcodebuildFormatter,
9097
+ outputRemoveRetryAttempts: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.outputRemoveRetryAttempts),
9098
+ disableXcpretty: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.disableXcpretty),
9099
+ formatter: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.formatter),
9100
+ xcprettyFormatter: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.xcprettyFormatter),
9101
+ xcprettyArgs: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.xcprettyArgs),
9102
+ derivedDataPath: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.derivedDataPath),
9103
+ shouldZipBuildProducts: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.shouldZipBuildProducts),
9104
+ outputXctestrun: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.outputXctestrun),
9105
+ resultBundle: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.resultBundle),
9106
+ useClangReportName: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.useClangReportName),
9107
+ parallelTesting: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.parallelTesting),
9108
+ concurrentWorkers: OptionalConfigValue<Int?> = .fastlaneDefault(scanfile.concurrentWorkers),
9109
+ maxConcurrentSimulators: OptionalConfigValue<Int?> = .fastlaneDefault(scanfile.maxConcurrentSimulators),
9110
+ disableConcurrentTesting: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.disableConcurrentTesting),
9111
+ skipBuild: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.skipBuild),
9112
+ testWithoutBuilding: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.testWithoutBuilding),
9113
+ buildForTesting: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.buildForTesting),
9114
+ sdk: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.sdk),
9115
+ configuration: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.configuration),
9116
+ xcargs: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.xcargs),
9117
+ xcconfig: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.xcconfig),
9118
+ appName: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.appName),
9119
+ deploymentTargetVersion: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.deploymentTargetVersion),
9120
+ slackUrl: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.slackUrl),
9121
+ slackChannel: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.slackChannel),
9122
+ slackMessage: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.slackMessage),
9123
+ slackUseWebhookConfiguredUsernameAndIcon: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.slackUseWebhookConfiguredUsernameAndIcon),
9124
+ slackUsername: String = scanfile.slackUsername,
9125
+ slackIconUrl: String = scanfile.slackIconUrl,
9126
+ skipSlack: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.skipSlack),
9127
+ slackOnlyOnFailure: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.slackOnlyOnFailure),
9128
+ slackDefaultPayloads: OptionalConfigValue<[String]?> = .fastlaneDefault(scanfile.slackDefaultPayloads),
9129
+ destination: Any? = scanfile.destination,
9130
+ catalystPlatform: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.catalystPlatform),
9131
+ customReportFileName: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.customReportFileName),
9132
+ xcodebuildCommand: String = scanfile.xcodebuildCommand,
9133
+ clonedSourcePackagesPath: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.clonedSourcePackagesPath),
9134
+ skipPackageDependenciesResolution: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.skipPackageDependenciesResolution),
9135
+ disablePackageAutomaticUpdates: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.disablePackageAutomaticUpdates),
9136
+ useSystemScm: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.useSystemScm),
9137
+ numberOfRetries: Int = scanfile.numberOfRetries,
9138
+ failBuild: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.failBuild)) -> [String: Any]
9129
9139
  {
9130
9140
  let workspaceArg = workspace.asRubyArgument(name: "workspace", type: nil)
9131
9141
  let projectArg = project.asRubyArgument(name: "project", type: nil)
@@ -9171,6 +9181,7 @@ public func scan(workspace: OptionalConfigValue<String?> = .fastlaneDefault(scan
9171
9181
  let outputXctestrunArg = outputXctestrun.asRubyArgument(name: "output_xctestrun", type: nil)
9172
9182
  let resultBundleArg = resultBundle.asRubyArgument(name: "result_bundle", type: nil)
9173
9183
  let useClangReportNameArg = useClangReportName.asRubyArgument(name: "use_clang_report_name", type: nil)
9184
+ let parallelTestingArg = parallelTesting.asRubyArgument(name: "parallel_testing", type: nil)
9174
9185
  let concurrentWorkersArg = concurrentWorkers.asRubyArgument(name: "concurrent_workers", type: nil)
9175
9186
  let maxConcurrentSimulatorsArg = maxConcurrentSimulators.asRubyArgument(name: "max_concurrent_simulators", type: nil)
9176
9187
  let disableConcurrentTestingArg = disableConcurrentTesting.asRubyArgument(name: "disable_concurrent_testing", type: nil)
@@ -9246,6 +9257,7 @@ public func scan(workspace: OptionalConfigValue<String?> = .fastlaneDefault(scan
9246
9257
  outputXctestrunArg,
9247
9258
  resultBundleArg,
9248
9259
  useClangReportNameArg,
9260
+ parallelTestingArg,
9249
9261
  concurrentWorkersArg,
9250
9262
  maxConcurrentSimulatorsArg,
9251
9263
  disableConcurrentTestingArg,
@@ -9281,7 +9293,7 @@ public func scan(workspace: OptionalConfigValue<String?> = .fastlaneDefault(scan
9281
9293
  .filter { $0?.value != nil }
9282
9294
  .compactMap { $0 }
9283
9295
  let command = RubyCommand(commandID: "", methodName: "scan", className: nil, args: args)
9284
- _ = runner.executeCommand(command)
9296
+ return parseDictionary(fromString: runner.executeCommand(command))
9285
9297
  }
9286
9298
 
9287
9299
  /**
@@ -13394,4 +13406,4 @@ public let snapshotfile: Snapshotfile = .init()
13394
13406
 
13395
13407
  // Please don't remove the lines below
13396
13408
  // They are used to detect outdated files
13397
- // FastlaneRunnerAPIVersion [0.9.147]
13409
+ // FastlaneRunnerAPIVersion [0.9.148]
@@ -17,4 +17,4 @@ public class Gymfile: GymfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.202.0
20
+ // Generated with fastlane 2.203.0
@@ -204,4 +204,4 @@ public extension GymfileProtocol {
204
204
 
205
205
  // Please don't remove the lines below
206
206
  // They are used to detect outdated files
207
- // FastlaneRunnerAPIVersion [0.9.97]
207
+ // FastlaneRunnerAPIVersion [0.9.98]
@@ -17,4 +17,4 @@ public class Matchfile: MatchfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.202.0
20
+ // Generated with fastlane 2.203.0
@@ -192,4 +192,4 @@ public extension MatchfileProtocol {
192
192
 
193
193
  // Please don't remove the lines below
194
194
  // They are used to detect outdated files
195
- // FastlaneRunnerAPIVersion [0.9.91]
195
+ // FastlaneRunnerAPIVersion [0.9.92]
@@ -17,4 +17,4 @@ public class Precheckfile: PrecheckfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.202.0
20
+ // Generated with fastlane 2.203.0
@@ -52,4 +52,4 @@ public extension PrecheckfileProtocol {
52
52
 
53
53
  // Please don't remove the lines below
54
54
  // They are used to detect outdated files
55
- // FastlaneRunnerAPIVersion [0.9.90]
55
+ // FastlaneRunnerAPIVersion [0.9.91]
@@ -17,4 +17,4 @@ public class Scanfile: ScanfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.202.0
20
+ // Generated with fastlane 2.203.0
@@ -134,6 +134,9 @@ public protocol ScanfileProtocol: class {
134
134
  /// Generate the json compilation database with clang naming convention (compile_commands.json)
135
135
  var useClangReportName: Bool { get }
136
136
 
137
+ /// Optionally override the per-target setting in the scheme for running tests in parallel. Equivalent to -parallel-testing-enabled
138
+ var parallelTesting: Bool? { get }
139
+
137
140
  /// Specify the exact number of test runners that will be spawned during parallel testing. Equivalent to -parallel-testing-worker-count
138
141
  var concurrentWorkers: Int? { get }
139
142
 
@@ -273,6 +276,7 @@ public extension ScanfileProtocol {
273
276
  var outputXctestrun: Bool { return false }
274
277
  var resultBundle: Bool { return false }
275
278
  var useClangReportName: Bool { return false }
279
+ var parallelTesting: Bool? { return nil }
276
280
  var concurrentWorkers: Int? { return nil }
277
281
  var maxConcurrentSimulators: Int? { return nil }
278
282
  var disableConcurrentTesting: Bool { return false }
@@ -308,4 +312,4 @@ public extension ScanfileProtocol {
308
312
 
309
313
  // Please don't remove the lines below
310
314
  // They are used to detect outdated files
311
- // FastlaneRunnerAPIVersion [0.9.102]
315
+ // FastlaneRunnerAPIVersion [0.9.103]
@@ -17,4 +17,4 @@ public class Screengrabfile: ScreengrabfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.202.0
20
+ // Generated with fastlane 2.203.0
@@ -96,4 +96,4 @@ public extension ScreengrabfileProtocol {
96
96
 
97
97
  // Please don't remove the lines below
98
98
  // They are used to detect outdated files
99
- // FastlaneRunnerAPIVersion [0.9.92]
99
+ // FastlaneRunnerAPIVersion [0.9.93]
@@ -17,4 +17,4 @@ public class Snapshotfile: SnapshotfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.202.0
20
+ // Generated with fastlane 2.203.0
@@ -204,4 +204,4 @@ public extension SnapshotfileProtocol {
204
204
 
205
205
  // Please don't remove the lines below
206
206
  // They are used to detect outdated files
207
- // FastlaneRunnerAPIVersion [0.9.86]
207
+ // FastlaneRunnerAPIVersion [0.9.87]
@@ -2,35 +2,35 @@
2
2
  "entries": {
3
3
  "brew": {
4
4
  "swiftformat": {
5
- "version": "0.49.2",
5
+ "version": "0.49.3",
6
6
  "bottle": {
7
7
  "rebuild": 0,
8
8
  "root_url": "https://ghcr.io/v2/homebrew/core",
9
9
  "files": {
10
10
  "arm64_monterey": {
11
11
  "cellar": ":any_skip_relocation",
12
- "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:2279db95259ddbc7ad83e47f5bbf8c308db55b74d5464ac79a027bd33138b023",
13
- "sha256": "2279db95259ddbc7ad83e47f5bbf8c308db55b74d5464ac79a027bd33138b023"
12
+ "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:3fd0427fdb74e0cc88da322ce2b2cd0b9e021fd286f34978b01b0bb62f9e8529",
13
+ "sha256": "3fd0427fdb74e0cc88da322ce2b2cd0b9e021fd286f34978b01b0bb62f9e8529"
14
14
  },
15
15
  "arm64_big_sur": {
16
16
  "cellar": ":any_skip_relocation",
17
- "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:2f6bddbef7d750d6ed546ed5decd4d54d439f16009491bdb4e4999c99d877bcf",
18
- "sha256": "2f6bddbef7d750d6ed546ed5decd4d54d439f16009491bdb4e4999c99d877bcf"
17
+ "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:cc99c52385e32a1d2bb42625a535cac9835313e65ba84776cbe2ad49ae41167d",
18
+ "sha256": "cc99c52385e32a1d2bb42625a535cac9835313e65ba84776cbe2ad49ae41167d"
19
19
  },
20
20
  "monterey": {
21
21
  "cellar": ":any_skip_relocation",
22
- "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:190bf822a188ec8e8be754de2fcd34166ffb07bbd40d67385653d898a251b167",
23
- "sha256": "190bf822a188ec8e8be754de2fcd34166ffb07bbd40d67385653d898a251b167"
22
+ "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:39877fc1115e6f15d20a76c30ddbb23d45f52fb95eb81382c4f4abe2b98eb03b",
23
+ "sha256": "39877fc1115e6f15d20a76c30ddbb23d45f52fb95eb81382c4f4abe2b98eb03b"
24
24
  },
25
25
  "big_sur": {
26
26
  "cellar": ":any_skip_relocation",
27
- "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:fe294ff0fa69548876a70ef7aaf30b7221a43adc9f75f7c157c6f881089da6eb",
28
- "sha256": "fe294ff0fa69548876a70ef7aaf30b7221a43adc9f75f7c157c6f881089da6eb"
27
+ "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:ead4633c1ec372b7cc6995dba2d3352691b4086f501e0346629072873bccef99",
28
+ "sha256": "ead4633c1ec372b7cc6995dba2d3352691b4086f501e0346629072873bccef99"
29
29
  },
30
30
  "catalina": {
31
31
  "cellar": ":any_skip_relocation",
32
- "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:2a174bf9c47a070b1fcaa32c066cd7c82604fc428db952f11c9bf1e4448c567a",
33
- "sha256": "2a174bf9c47a070b1fcaa32c066cd7c82604fc428db952f11c9bf1e4448c567a"
32
+ "url": "https://ghcr.io/v2/homebrew/core/swiftformat/blobs/sha256:359cd4f2c3eea7c28f485db06dc955d8b27eabab340420a0c52931004a3ee3e7",
33
+ "sha256": "359cd4f2c3eea7c28f485db06dc955d8b27eabab340420a0c52931004a3ee3e7"
34
34
  }
35
35
  }
36
36
  }
@@ -56,9 +56,9 @@
56
56
  "macOS": "11.6"
57
57
  },
58
58
  "monterey": {
59
- "HOMEBREW_VERSION": "3.3.12-19-g51da118",
59
+ "HOMEBREW_VERSION": "3.3.12-34-gc40b2ba",
60
60
  "HOMEBREW_PREFIX": "/opt/homebrew",
61
- "Homebrew/homebrew-core": "13b1b0a28d2c5ea3e247c313af2521a978fea151",
61
+ "Homebrew/homebrew-core": "f896f406dfd6f06ab001c6ce36e7d2087459c77a",
62
62
  "CLT": "13.2.0.0.1.1638488800",
63
63
  "Xcode": "13.2.1",
64
64
  "macOS": "12.0.1"
Binary file
Binary file
@@ -328,6 +328,11 @@ module Scan
328
328
  default_value: false),
329
329
 
330
330
  # concurrency
331
+ FastlaneCore::ConfigItem.new(key: :parallel_testing,
332
+ type: Boolean,
333
+ env_name: "SCAN_PARALLEL_TESTING",
334
+ description: "Optionally override the per-target setting in the scheme for running tests in parallel. Equivalent to -parallel-testing-enabled",
335
+ optional: true),
331
336
  FastlaneCore::ConfigItem.new(key: :concurrent_workers,
332
337
  type: Integer,
333
338
  env_name: "SCAN_CONCURRENT_WORKERS",
@@ -21,7 +21,7 @@ module Scan
21
21
 
22
22
  def run
23
23
  @xcresults_before_run = find_xcresults_in_derived_data
24
- handle_results(test_app)
24
+ return handle_results(test_app)
25
25
  end
26
26
 
27
27
  def test_app
@@ -175,6 +175,8 @@ module Scan
175
175
 
176
176
  def find_xcresults_in_derived_data
177
177
  derived_data_path = Scan.config[:derived_data_path]
178
+ return [] if derived_data_path.nil? # Swift packages might not have derived data
179
+
178
180
  xcresults_path = File.join(derived_data_path, "Logs", "Test", "*.xcresult")
179
181
  return Dir[xcresults_path]
180
182
  end
@@ -185,7 +187,9 @@ module Scan
185
187
  results = {
186
188
  number_of_tests: 0,
187
189
  number_of_failures: 0,
188
- number_of_retries: 0
190
+ number_of_retries: 0,
191
+ number_of_tests_excluding_retries: 0,
192
+ number_of_failures_excluding_retries: 0
189
193
  }
190
194
 
191
195
  result_bundle_path = Scan.cache[:result_bundle_path]
@@ -242,8 +246,10 @@ module Scan
242
246
 
243
247
  resulting_paths = Trainer::TestParser.auto_convert(params)
244
248
  resulting_paths.each do |path, data|
245
- results[:number_of_tests] += data[:number_of_tests_excluding_retries]
246
- results[:number_of_failures] += data[:number_of_failures_excluding_retries]
249
+ results[:number_of_tests] += data[:number_of_tests]
250
+ results[:number_of_failures] += data[:number_of_failures]
251
+ results[:number_of_tests_excluding_retries] += data[:number_of_tests_excluding_retries]
252
+ results[:number_of_failures_excluding_retries] += data[:number_of_failures_excluding_retries]
247
253
  results[:number_of_retries] += data[:number_of_retries]
248
254
  end
249
255
 
@@ -251,13 +257,13 @@ module Scan
251
257
  end
252
258
 
253
259
  def handle_results(tests_exit_status)
254
- return if Scan.config[:build_for_testing]
260
+ return nil if Scan.config[:build_for_testing]
255
261
 
256
262
  results = trainer_test_results
257
263
 
258
264
  number_of_retries = results[:number_of_retries]
259
- number_of_tests = results[:number_of_tests]
260
- number_of_failures = results[:number_of_failures]
265
+ number_of_tests = results[:number_of_tests_excluding_retries]
266
+ number_of_failures = results[:number_of_failures_excluding_retries]
261
267
 
262
268
  SlackPoster.new.run({
263
269
  tests: number_of_tests,
@@ -303,6 +309,7 @@ module Scan
303
309
  end
304
310
 
305
311
  open_report
312
+ return results
306
313
  end
307
314
 
308
315
  def open_report
@@ -55,6 +55,7 @@ module Scan
55
55
  end
56
56
  options << "-resultBundlePath '#{result_bundle_path(true)}'" if config[:result_bundle]
57
57
  if FastlaneCore::Helper.xcode_at_least?(10)
58
+ options << "-parallel-testing-enabled #{config[:parallel_testing] ? 'YES' : 'NO'}" unless config[:parallel_testing].nil?
58
59
  options << "-parallel-testing-worker-count #{config[:concurrent_workers]}" if config[:concurrent_workers]
59
60
  options << "-maximum-concurrent-test-simulator-destinations #{config[:max_concurrent_simulators]}" if config[:max_concurrent_simulators]
60
61
  options << "-disable-concurrent-testing" if config[:disable_concurrent_testing]
metadata CHANGED
@@ -1,39 +1,39 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.202.0
4
+ version: 2.203.0
5
5
  platform: ruby
6
6
  authors:
7
- - Luka Mirosevic
8
- - Jérôme Lacoste
9
- - Aaron Brager
10
- - Danielle Tomlinson
11
- - Iulian Onofrei
12
7
  - Jimmy Dee
13
- - Matthew Ellis
14
- - Manish Rathi
15
8
  - Felix Krause
16
- - Satoshi Namai
9
+ - Maksym Grebenets
10
+ - Fumiya Nakamura
11
+ - Matthew Ellis
12
+ - Jérôme Lacoste
13
+ - Iulian Onofrei
14
+ - Kohki Miki
15
+ - Olivier Halligon
16
+ - Roger Oba
17
17
  - Helmut Januschka
18
- - Max Ott
18
+ - Łukasz Grabowski
19
19
  - Andrew McBurney
20
- - Jan Piotrowski
21
- - Kohki Miki
22
- - Josh Holtz
20
+ - Manu Wallner
23
21
  - Stefan Natchev
24
- - Roger Oba
25
- - Jorge Revuelta H
26
- - Olivier Halligon
27
- - Maksym Grebenets
28
22
  - Joshua Liebowitz
29
- - Manu Wallner
30
- - Łukasz Grabowski
23
+ - Manish Rathi
24
+ - Satoshi Namai
25
+ - Josh Holtz
26
+ - Jorge Revuelta H
27
+ - Max Ott
28
+ - Aaron Brager
31
29
  - Daniel Jankowski
32
- - Fumiya Nakamura
30
+ - Danielle Tomlinson
31
+ - Luka Mirosevic
32
+ - Jan Piotrowski
33
33
  autorequire:
34
34
  bindir: bin
35
35
  cert_chain: []
36
- date: 2022-01-26 00:00:00.000000000 Z
36
+ date: 2022-01-28 00:00:00.000000000 Z
37
37
  dependencies:
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: xcodeproj
@@ -973,8 +973,6 @@ files:
973
973
  - deliver/lib/assets/ScreenshotsHelp
974
974
  - deliver/lib/assets/summary.html.erb
975
975
  - deliver/lib/deliver.rb
976
- - deliver/lib/deliver/.runner.rb.swp
977
- - deliver/lib/deliver/.submit_for_review.rb.swp
978
976
  - deliver/lib/deliver/app_screenshot.rb
979
977
  - deliver/lib/deliver/app_screenshot_iterator.rb
980
978
  - deliver/lib/deliver/app_screenshot_validator.rb
@@ -1397,6 +1395,7 @@ files:
1397
1395
  - fastlane_core/README.md
1398
1396
  - fastlane_core/lib/assets/XMLTemplate.xml.erb
1399
1397
  - fastlane_core/lib/fastlane_core.rb
1398
+ - fastlane_core/lib/fastlane_core/.helper.rb.swp
1400
1399
  - fastlane_core/lib/fastlane_core/analytics/action_completion_context.rb
1401
1400
  - fastlane_core/lib/fastlane_core/analytics/action_launch_context.rb
1402
1401
  - fastlane_core/lib/fastlane_core/analytics/analytics_event_builder.rb
@@ -1579,6 +1578,8 @@ files:
1579
1578
  - scan/lib/assets/ScanfileTemplate
1580
1579
  - scan/lib/assets/ScanfileTemplate.swift
1581
1580
  - scan/lib/scan.rb
1581
+ - scan/lib/scan/.detect_values.rb.swp
1582
+ - scan/lib/scan/.runner.rb.swp
1582
1583
  - scan/lib/scan/commands_generator.rb
1583
1584
  - scan/lib/scan/detect_values.rb
1584
1585
  - scan/lib/scan/error_handler.rb
@@ -1662,7 +1663,6 @@ files:
1662
1663
  - spaceship/lib/spaceship/connect_api/client.rb
1663
1664
  - spaceship/lib/spaceship/connect_api/file_uploader.rb
1664
1665
  - spaceship/lib/spaceship/connect_api/model.rb
1665
- - spaceship/lib/spaceship/connect_api/models/.app.rb.swp
1666
1666
  - spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb
1667
1667
  - spaceship/lib/spaceship/connect_api/models/app.rb
1668
1668
  - spaceship/lib/spaceship/connect_api/models/app_category.rb
Binary file