fastlane 2.106.2 → 2.107.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +68 -68
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/Fastlane.swift +13 -1
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/ScanfileProtocol.swift +7 -1
- data/fastlane/swift/Screengrabfile.swift +1 -1
- data/fastlane/swift/Snapshotfile.swift +1 -1
- data/fastlane_core/lib/fastlane_core/command_executor.rb +4 -3
- data/fastlane_core/lib/fastlane_core/device_manager.rb +10 -0
- data/match/lib/match/.nuke.rb.swp +0 -0
- data/match/lib/match/nuke.rb +9 -0
- data/scan/lib/scan/options.rb +18 -1
- data/scan/lib/scan/runner.rb +16 -0
- data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +1 -6
- metadata +14 -14
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: fb1fe1c1267406cd31cae723a93fdf2064a11e30
|
|
4
|
+
data.tar.gz: 03c108ea0933387c74bf32ce9f5c2649fa51b9f9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3c5ddd92c49db1e964d9a824a4eb666a0e2baa9c0dc4d6900439475bf41e6fd84de57a4b9e6c9e2130260e084f5d3ac49f8a35090add1ca0fa31d50121816c34
|
|
7
|
+
data.tar.gz: 8da9bba98b68757c4ec8c1fcb6c2d6070c18968950cf082015969bf175eb96569cdb143ff52248023246acf57ea3ca42d07897f8721e432b8cbd17ea3459fef7
|
data/README.md
CHANGED
|
@@ -33,67 +33,67 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
33
33
|
<!-- This table is regenerated and resorted on each release -->
|
|
34
34
|
<table id='team'>
|
|
35
35
|
<tr>
|
|
36
|
-
<td id='
|
|
37
|
-
<a href='https://github.com/
|
|
38
|
-
<img src='https://github.com/
|
|
36
|
+
<td id='fumiya-nakamura'>
|
|
37
|
+
<a href='https://github.com/nafu'>
|
|
38
|
+
<img src='https://github.com/nafu.png?size=140'>
|
|
39
39
|
</a>
|
|
40
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
40
|
+
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
|
|
41
41
|
</td>
|
|
42
|
-
<td id='
|
|
43
|
-
<a href='https://github.com/
|
|
44
|
-
<img src='https://github.com/
|
|
42
|
+
<td id='olivier-halligon'>
|
|
43
|
+
<a href='https://github.com/AliSoftware'>
|
|
44
|
+
<img src='https://github.com/AliSoftware.png?size=140'>
|
|
45
45
|
</a>
|
|
46
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
46
|
+
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
|
47
47
|
</td>
|
|
48
|
-
<td id='
|
|
49
|
-
<a href='https://github.com/
|
|
50
|
-
<img src='https://github.com/
|
|
48
|
+
<td id='jérôme-lacoste'>
|
|
49
|
+
<a href='https://github.com/lacostej'>
|
|
50
|
+
<img src='https://github.com/lacostej.png?size=140'>
|
|
51
51
|
</a>
|
|
52
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
52
|
+
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
|
53
53
|
</td>
|
|
54
|
-
<td id='
|
|
55
|
-
<a href='https://github.com/
|
|
56
|
-
<img src='https://github.com/
|
|
54
|
+
<td id='jorge-revuelta-h'>
|
|
55
|
+
<a href='https://github.com/minuscorp'>
|
|
56
|
+
<img src='https://github.com/minuscorp.png?size=140'>
|
|
57
57
|
</a>
|
|
58
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
58
|
+
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
|
59
59
|
</td>
|
|
60
|
-
<td id='
|
|
61
|
-
<a href='https://github.com/
|
|
62
|
-
<img src='https://github.com/
|
|
60
|
+
<td id='manu-wallner'>
|
|
61
|
+
<a href='https://github.com/milch'>
|
|
62
|
+
<img src='https://github.com/milch.png?size=140'>
|
|
63
63
|
</a>
|
|
64
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
64
|
+
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
|
65
65
|
</td>
|
|
66
66
|
</tr>
|
|
67
67
|
<tr>
|
|
68
|
-
<td id='
|
|
69
|
-
<a href='https://github.com/
|
|
70
|
-
<img src='https://github.com/
|
|
68
|
+
<td id='josh-holtz'>
|
|
69
|
+
<a href='https://github.com/joshdholtz'>
|
|
70
|
+
<img src='https://github.com/joshdholtz.png?size=140'>
|
|
71
71
|
</a>
|
|
72
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
72
|
+
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
|
73
73
|
</td>
|
|
74
|
-
<td id='
|
|
75
|
-
<a href='https://github.com/
|
|
76
|
-
<img src='https://github.com/
|
|
74
|
+
<td id='jan-piotrowski'>
|
|
75
|
+
<a href='https://github.com/janpio'>
|
|
76
|
+
<img src='https://github.com/janpio.png?size=140'>
|
|
77
77
|
</a>
|
|
78
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
78
|
+
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
|
79
79
|
</td>
|
|
80
|
-
<td id='
|
|
81
|
-
<a href='https://github.com/
|
|
82
|
-
<img src='https://github.com/
|
|
80
|
+
<td id='aaron-brager'>
|
|
81
|
+
<a href='https://github.com/getaaron'>
|
|
82
|
+
<img src='https://github.com/getaaron.png?size=140'>
|
|
83
83
|
</a>
|
|
84
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
84
|
+
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
|
85
85
|
</td>
|
|
86
|
-
<td id='
|
|
87
|
-
<a href='https://github.com/
|
|
88
|
-
<img src='https://github.com/
|
|
86
|
+
<td id='matthew-ellis'>
|
|
87
|
+
<a href='https://github.com/matthewellis'>
|
|
88
|
+
<img src='https://github.com/matthewellis.png?size=140'>
|
|
89
89
|
</a>
|
|
90
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
90
|
+
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
|
91
91
|
</td>
|
|
92
|
-
<td id='
|
|
93
|
-
<a href='https://github.com/
|
|
94
|
-
<img src='https://github.com/
|
|
92
|
+
<td id='kohki-miki'>
|
|
93
|
+
<a href='https://github.com/giginet'>
|
|
94
|
+
<img src='https://github.com/giginet.png?size=140'>
|
|
95
95
|
</a>
|
|
96
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
96
|
+
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
|
97
97
|
</td>
|
|
98
98
|
</tr>
|
|
99
99
|
<tr>
|
|
@@ -103,11 +103,11 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
103
103
|
</a>
|
|
104
104
|
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
|
105
105
|
</td>
|
|
106
|
-
<td id='
|
|
107
|
-
<a href='https://github.com/
|
|
108
|
-
<img src='https://github.com/
|
|
106
|
+
<td id='joshua-liebowitz'>
|
|
107
|
+
<a href='https://github.com/taquitos'>
|
|
108
|
+
<img src='https://github.com/taquitos.png?size=140'>
|
|
109
109
|
</a>
|
|
110
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
110
|
+
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
|
111
111
|
</td>
|
|
112
112
|
<td id='stefan-natchev'>
|
|
113
113
|
<a href='https://github.com/snatchev'>
|
|
@@ -115,37 +115,37 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
115
115
|
</a>
|
|
116
116
|
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
|
117
117
|
</td>
|
|
118
|
-
<td id='
|
|
119
|
-
<a href='https://github.com/
|
|
120
|
-
<img src='https://github.com/
|
|
118
|
+
<td id='maksym-grebenets'>
|
|
119
|
+
<a href='https://github.com/mgrebenets'>
|
|
120
|
+
<img src='https://github.com/mgrebenets.png?size=140'>
|
|
121
121
|
</a>
|
|
122
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
122
|
+
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
|
123
123
|
</td>
|
|
124
|
-
<td id='
|
|
125
|
-
<a href='https://github.com/
|
|
126
|
-
<img src='https://github.com/
|
|
124
|
+
<td id='iulian-onofrei'>
|
|
125
|
+
<a href='https://github.com/revolter'>
|
|
126
|
+
<img src='https://github.com/revolter.png?size=140'>
|
|
127
127
|
</a>
|
|
128
|
-
<h4 align='center'>
|
|
128
|
+
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
|
129
129
|
</td>
|
|
130
130
|
</tr>
|
|
131
131
|
<tr>
|
|
132
|
-
<td id='
|
|
133
|
-
<a href='https://github.com/
|
|
134
|
-
<img src='https://github.com/
|
|
132
|
+
<td id='danielle-tomlinson'>
|
|
133
|
+
<a href='https://github.com/DanToml'>
|
|
134
|
+
<img src='https://github.com/DanToml.png?size=140'>
|
|
135
135
|
</a>
|
|
136
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
136
|
+
<h4 align='center'><a href='https://twitter.com/DanToml'>Danielle Tomlinson</a></h4>
|
|
137
137
|
</td>
|
|
138
|
-
<td id='
|
|
139
|
-
<a href='https://github.com/
|
|
140
|
-
<img src='https://github.com/
|
|
138
|
+
<td id='helmut-januschka'>
|
|
139
|
+
<a href='https://github.com/hjanuschka'>
|
|
140
|
+
<img src='https://github.com/hjanuschka.png?size=140'>
|
|
141
141
|
</a>
|
|
142
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
142
|
+
<h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
|
|
143
143
|
</td>
|
|
144
|
-
<td id='
|
|
145
|
-
<a href='https://github.com/
|
|
146
|
-
<img src='https://github.com/
|
|
144
|
+
<td id='andrew-mcburney'>
|
|
145
|
+
<a href='https://github.com/AndrewMcBurney'>
|
|
146
|
+
<img src='https://github.com/AndrewMcBurney.png?size=140'>
|
|
147
147
|
</a>
|
|
148
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
148
|
+
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
|
149
149
|
</td>
|
|
150
150
|
<td id='felix-krause'>
|
|
151
151
|
<a href='https://github.com/KrauseFx'>
|
|
@@ -153,11 +153,11 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
153
153
|
</a>
|
|
154
154
|
<h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
|
|
155
155
|
</td>
|
|
156
|
-
<td id='
|
|
157
|
-
<a href='https://github.com/
|
|
158
|
-
<img src='https://github.com/
|
|
156
|
+
<td id='jimmy-dee'>
|
|
157
|
+
<a href='https://github.com/jdee'>
|
|
158
|
+
<img src='https://github.com/jdee.png?size=140'>
|
|
159
159
|
</a>
|
|
160
|
-
<h4 align='center'
|
|
160
|
+
<h4 align='center'>Jimmy Dee</h4>
|
|
161
161
|
</td>
|
|
162
162
|
</tr>
|
|
163
163
|
</table>
|
|
@@ -2637,6 +2637,7 @@ func runTests(workspace: String? = nil,
|
|
|
2637
2637
|
outputFiles: String? = nil,
|
|
2638
2638
|
buildlogPath: String = "~/Library/Logs/scan",
|
|
2639
2639
|
includeSimulatorLogs: Bool = false,
|
|
2640
|
+
suppressXcodeOutput: String? = nil,
|
|
2640
2641
|
formatter: String? = nil,
|
|
2641
2642
|
xcprettyArgs: String? = nil,
|
|
2642
2643
|
maxConcurrentSimulators: Int? = nil,
|
|
@@ -2662,6 +2663,8 @@ func runTests(workspace: String? = nil,
|
|
|
2662
2663
|
slackOnlyOnFailure: Bool = false,
|
|
2663
2664
|
useClangReportName: Bool = false,
|
|
2664
2665
|
customReportFileName: String? = nil,
|
|
2666
|
+
appIdentifier: String? = nil,
|
|
2667
|
+
reinstallApp: Bool = false,
|
|
2665
2668
|
failBuild: Bool = true) {
|
|
2666
2669
|
let command = RubyCommand(commandID: "", methodName: "run_tests", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
|
|
2667
2670
|
RubyCommand.Argument(name: "project", value: project),
|
|
@@ -2681,6 +2684,7 @@ func runTests(workspace: String? = nil,
|
|
|
2681
2684
|
RubyCommand.Argument(name: "output_files", value: outputFiles),
|
|
2682
2685
|
RubyCommand.Argument(name: "buildlog_path", value: buildlogPath),
|
|
2683
2686
|
RubyCommand.Argument(name: "include_simulator_logs", value: includeSimulatorLogs),
|
|
2687
|
+
RubyCommand.Argument(name: "suppress_xcode_output", value: suppressXcodeOutput),
|
|
2684
2688
|
RubyCommand.Argument(name: "formatter", value: formatter),
|
|
2685
2689
|
RubyCommand.Argument(name: "xcpretty_args", value: xcprettyArgs),
|
|
2686
2690
|
RubyCommand.Argument(name: "max_concurrent_simulators", value: maxConcurrentSimulators),
|
|
@@ -2706,6 +2710,8 @@ func runTests(workspace: String? = nil,
|
|
|
2706
2710
|
RubyCommand.Argument(name: "slack_only_on_failure", value: slackOnlyOnFailure),
|
|
2707
2711
|
RubyCommand.Argument(name: "use_clang_report_name", value: useClangReportName),
|
|
2708
2712
|
RubyCommand.Argument(name: "custom_report_file_name", value: customReportFileName),
|
|
2713
|
+
RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
|
|
2714
|
+
RubyCommand.Argument(name: "reinstall_app", value: reinstallApp),
|
|
2709
2715
|
RubyCommand.Argument(name: "fail_build", value: failBuild)])
|
|
2710
2716
|
_ = runner.executeCommand(command)
|
|
2711
2717
|
}
|
|
@@ -2767,6 +2773,7 @@ func scan(workspace: String? = scanfile.workspace,
|
|
|
2767
2773
|
outputFiles: String? = scanfile.outputFiles,
|
|
2768
2774
|
buildlogPath: String = scanfile.buildlogPath,
|
|
2769
2775
|
includeSimulatorLogs: Bool = scanfile.includeSimulatorLogs,
|
|
2776
|
+
suppressXcodeOutput: String? = scanfile.suppressXcodeOutput,
|
|
2770
2777
|
formatter: String? = scanfile.formatter,
|
|
2771
2778
|
xcprettyArgs: String? = scanfile.xcprettyArgs,
|
|
2772
2779
|
maxConcurrentSimulators: Int? = scanfile.maxConcurrentSimulators,
|
|
@@ -2792,6 +2799,8 @@ func scan(workspace: String? = scanfile.workspace,
|
|
|
2792
2799
|
slackOnlyOnFailure: Bool = scanfile.slackOnlyOnFailure,
|
|
2793
2800
|
useClangReportName: Bool = scanfile.useClangReportName,
|
|
2794
2801
|
customReportFileName: String? = scanfile.customReportFileName,
|
|
2802
|
+
appIdentifier: String? = scanfile.appIdentifier,
|
|
2803
|
+
reinstallApp: Bool = scanfile.reinstallApp,
|
|
2795
2804
|
failBuild: Bool = scanfile.failBuild) {
|
|
2796
2805
|
let command = RubyCommand(commandID: "", methodName: "scan", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace),
|
|
2797
2806
|
RubyCommand.Argument(name: "project", value: project),
|
|
@@ -2811,6 +2820,7 @@ func scan(workspace: String? = scanfile.workspace,
|
|
|
2811
2820
|
RubyCommand.Argument(name: "output_files", value: outputFiles),
|
|
2812
2821
|
RubyCommand.Argument(name: "buildlog_path", value: buildlogPath),
|
|
2813
2822
|
RubyCommand.Argument(name: "include_simulator_logs", value: includeSimulatorLogs),
|
|
2823
|
+
RubyCommand.Argument(name: "suppress_xcode_output", value: suppressXcodeOutput),
|
|
2814
2824
|
RubyCommand.Argument(name: "formatter", value: formatter),
|
|
2815
2825
|
RubyCommand.Argument(name: "xcpretty_args", value: xcprettyArgs),
|
|
2816
2826
|
RubyCommand.Argument(name: "max_concurrent_simulators", value: maxConcurrentSimulators),
|
|
@@ -2836,6 +2846,8 @@ func scan(workspace: String? = scanfile.workspace,
|
|
|
2836
2846
|
RubyCommand.Argument(name: "slack_only_on_failure", value: slackOnlyOnFailure),
|
|
2837
2847
|
RubyCommand.Argument(name: "use_clang_report_name", value: useClangReportName),
|
|
2838
2848
|
RubyCommand.Argument(name: "custom_report_file_name", value: customReportFileName),
|
|
2849
|
+
RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
|
|
2850
|
+
RubyCommand.Argument(name: "reinstall_app", value: reinstallApp),
|
|
2839
2851
|
RubyCommand.Argument(name: "fail_build", value: failBuild)])
|
|
2840
2852
|
_ = runner.executeCommand(command)
|
|
2841
2853
|
}
|
|
@@ -4109,4 +4121,4 @@ let screengrabfile: Screengrabfile = Screengrabfile()
|
|
|
4109
4121
|
let snapshotfile: Snapshotfile = Snapshotfile()
|
|
4110
4122
|
// Please don't remove the lines below
|
|
4111
4123
|
// They are used to detect outdated files
|
|
4112
|
-
// FastlaneRunnerAPIVersion [0.9.
|
|
4124
|
+
// FastlaneRunnerAPIVersion [0.9.32]
|
|
@@ -17,6 +17,7 @@ protocol ScanfileProtocol: class {
|
|
|
17
17
|
var outputFiles: String? { get }
|
|
18
18
|
var buildlogPath: String { get }
|
|
19
19
|
var includeSimulatorLogs: Bool { get }
|
|
20
|
+
var suppressXcodeOutput: String? { get }
|
|
20
21
|
var formatter: String? { get }
|
|
21
22
|
var xcprettyArgs: String? { get }
|
|
22
23
|
var maxConcurrentSimulators: Int? { get }
|
|
@@ -42,6 +43,8 @@ protocol ScanfileProtocol: class {
|
|
|
42
43
|
var slackOnlyOnFailure: Bool { get }
|
|
43
44
|
var useClangReportName: Bool { get }
|
|
44
45
|
var customReportFileName: String? { get }
|
|
46
|
+
var appIdentifier: String? { get }
|
|
47
|
+
var reinstallApp: Bool { get }
|
|
45
48
|
var failBuild: Bool { get }
|
|
46
49
|
}
|
|
47
50
|
|
|
@@ -64,6 +67,7 @@ extension ScanfileProtocol {
|
|
|
64
67
|
var outputFiles: String? { return nil }
|
|
65
68
|
var buildlogPath: String { return "~/Library/Logs/scan" }
|
|
66
69
|
var includeSimulatorLogs: Bool { return false }
|
|
70
|
+
var suppressXcodeOutput: String? { return nil }
|
|
67
71
|
var formatter: String? { return nil }
|
|
68
72
|
var xcprettyArgs: String? { return nil }
|
|
69
73
|
var maxConcurrentSimulators: Int? { return nil }
|
|
@@ -89,9 +93,11 @@ extension ScanfileProtocol {
|
|
|
89
93
|
var slackOnlyOnFailure: Bool { return false }
|
|
90
94
|
var useClangReportName: Bool { return false }
|
|
91
95
|
var customReportFileName: String? { return nil }
|
|
96
|
+
var appIdentifier: String? { return nil }
|
|
97
|
+
var reinstallApp: Bool { return false }
|
|
92
98
|
var failBuild: Bool { return true }
|
|
93
99
|
}
|
|
94
100
|
|
|
95
101
|
// Please don't remove the lines below
|
|
96
102
|
// They are used to detect outdated files
|
|
97
|
-
// FastlaneRunnerAPIVersion [0.9.
|
|
103
|
+
// FastlaneRunnerAPIVersion [0.9.6]
|
|
@@ -34,8 +34,9 @@ module FastlaneCore
|
|
|
34
34
|
# @param error [Block] A block that's called if an error occurs
|
|
35
35
|
# @param prefix [Array] An array containing a prefix + block which might get applied to the output
|
|
36
36
|
# @param loading [String] A loading string that is shown before the first output
|
|
37
|
+
# @param suppress_output [Boolean] Should we print the command's output?
|
|
37
38
|
# @return [String] All the output as string
|
|
38
|
-
def execute(command: nil, print_all: false, print_command: true, error: nil, prefix: nil, loading: nil)
|
|
39
|
+
def execute(command: nil, print_all: false, print_command: true, error: nil, prefix: nil, loading: nil, suppress_output: false)
|
|
39
40
|
print_all = true if FastlaneCore::Globals.verbose?
|
|
40
41
|
prefix ||= {}
|
|
41
42
|
|
|
@@ -60,7 +61,7 @@ module FastlaneCore
|
|
|
60
61
|
line = element[:prefix] + line if element[:block] && element[:block].call(line)
|
|
61
62
|
end
|
|
62
63
|
|
|
63
|
-
UI.command_output(line)
|
|
64
|
+
UI.command_output(line) unless suppress_output
|
|
64
65
|
end
|
|
65
66
|
end
|
|
66
67
|
rescue => ex
|
|
@@ -82,7 +83,7 @@ module FastlaneCore
|
|
|
82
83
|
# Exit status for build command, should be 0 if build succeeded
|
|
83
84
|
if status != 0
|
|
84
85
|
o = output.join("\n")
|
|
85
|
-
puts(o) # the user has the right to see the raw output
|
|
86
|
+
puts(o) unless suppress_output # the user has the right to see the raw output
|
|
86
87
|
UI.error("Exit status: #{status}")
|
|
87
88
|
if error
|
|
88
89
|
error.call(o, status)
|
|
@@ -276,6 +276,16 @@ module FastlaneCore
|
|
|
276
276
|
end
|
|
277
277
|
end
|
|
278
278
|
|
|
279
|
+
def uninstall_app(app_identifier, device_type, device_udid)
|
|
280
|
+
UI.verbose("Uninstalling app '#{app_identifier}' from #{device_type}...")
|
|
281
|
+
|
|
282
|
+
UI.message("Launch Simulator #{device_type}")
|
|
283
|
+
Helper.backticks("xcrun instruments -w #{device_udid} &> /dev/null")
|
|
284
|
+
|
|
285
|
+
UI.message("Uninstall application #{app_identifier}")
|
|
286
|
+
Helper.backticks("xcrun simctl uninstall #{device_udid} #{app_identifier} &> /dev/null")
|
|
287
|
+
end
|
|
288
|
+
|
|
279
289
|
private
|
|
280
290
|
|
|
281
291
|
def copy_logfile(device, log_identity, logs_destination_dir)
|
|
Binary file
|
data/match/lib/match/nuke.rb
CHANGED
|
@@ -36,6 +36,13 @@ module Match
|
|
|
36
36
|
})
|
|
37
37
|
self.storage.download
|
|
38
38
|
|
|
39
|
+
# After the download was complete
|
|
40
|
+
self.encryption = Encryption.for_storage_mode(params[:storage_mode], {
|
|
41
|
+
git_url: params[:git_url],
|
|
42
|
+
working_directory: storage.working_directory
|
|
43
|
+
})
|
|
44
|
+
self.encryption.decrypt_files
|
|
45
|
+
|
|
39
46
|
had_app_identifier = self.params.fetch(:app_identifier, ask: false)
|
|
40
47
|
self.params[:app_identifier] = '' # we don't really need a value here
|
|
41
48
|
FastlaneCore::PrintTable.print_values(config: params,
|
|
@@ -185,6 +192,8 @@ module Match
|
|
|
185
192
|
delete_files!
|
|
186
193
|
end
|
|
187
194
|
|
|
195
|
+
self.encryption.encrypt_files
|
|
196
|
+
|
|
188
197
|
# Now we need to commit and push all this too
|
|
189
198
|
message = ["[fastlane]", "Nuked", "files", "for", type.to_s].join(" ")
|
|
190
199
|
self.storage.save_changes!(files_to_commit: [], custom_message: message)
|
data/scan/lib/scan/options.rb
CHANGED
|
@@ -146,6 +146,11 @@ module Scan
|
|
|
146
146
|
type: Boolean,
|
|
147
147
|
default_value: false,
|
|
148
148
|
optional: true),
|
|
149
|
+
FastlaneCore::ConfigItem.new(key: :suppress_xcode_output,
|
|
150
|
+
env_name: "SCAN_SUPPRESS_XCODE_OUTPUT",
|
|
151
|
+
description: "Suppress the output of xcodebuild to stdout. Output is still saved in buildlog_path",
|
|
152
|
+
optional: true,
|
|
153
|
+
is_string: false),
|
|
149
154
|
FastlaneCore::ConfigItem.new(key: :formatter,
|
|
150
155
|
short_option: "-n",
|
|
151
156
|
env_name: "SCAN_FORMATTER",
|
|
@@ -302,7 +307,19 @@ module Scan
|
|
|
302
307
|
deprecated: "Use `--output_files` instead",
|
|
303
308
|
conflicting_options: [:output_files],
|
|
304
309
|
optional: true,
|
|
305
|
-
is_string: true)
|
|
310
|
+
is_string: true),
|
|
311
|
+
FastlaneCore::ConfigItem.new(key: :app_identifier,
|
|
312
|
+
env_name: 'SCAN_APP_IDENTIFIER',
|
|
313
|
+
optional: true,
|
|
314
|
+
description: "The bundle identifier of the app to uninstall (only needed when enabling reinstall_app)",
|
|
315
|
+
code_gen_sensitive: true,
|
|
316
|
+
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier),
|
|
317
|
+
default_value_dynamic: true),
|
|
318
|
+
FastlaneCore::ConfigItem.new(key: :reinstall_app,
|
|
319
|
+
env_name: 'SCAN_REINSTALL_APP',
|
|
320
|
+
description: "Enabling this option will automatically uninstall the application before running it",
|
|
321
|
+
default_value: false,
|
|
322
|
+
is_string: false)
|
|
306
323
|
]
|
|
307
324
|
end
|
|
308
325
|
end
|
data/scan/lib/scan/runner.rb
CHANGED
|
@@ -39,11 +39,22 @@ module Scan
|
|
|
39
39
|
}
|
|
40
40
|
]
|
|
41
41
|
exit_status = 0
|
|
42
|
+
|
|
43
|
+
if Scan.config[:reinstall_app]
|
|
44
|
+
app_identifier = Scan.config[:app_identifier]
|
|
45
|
+
app_identifier ||= UI.input("App Identifier: ")
|
|
46
|
+
|
|
47
|
+
Scan.devices.each do |device|
|
|
48
|
+
FastlaneCore::Simulator.uninstall_app(app_identifier, device.name, device.udid)
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
42
52
|
FastlaneCore::CommandExecutor.execute(command: command,
|
|
43
53
|
print_all: true,
|
|
44
54
|
print_command: true,
|
|
45
55
|
prefix: prefix_hash,
|
|
46
56
|
loading: "Loading...",
|
|
57
|
+
suppress_output: Scan.config[:suppress_xcode_output],
|
|
47
58
|
error: proc do |error_output|
|
|
48
59
|
begin
|
|
49
60
|
exit_status = $?.exitstatus
|
|
@@ -80,6 +91,8 @@ module Scan
|
|
|
80
91
|
copy_simulator_logs
|
|
81
92
|
|
|
82
93
|
if result[:failures] > 0
|
|
94
|
+
open_report
|
|
95
|
+
|
|
83
96
|
UI.test_failure!("Tests have failed")
|
|
84
97
|
end
|
|
85
98
|
|
|
@@ -88,7 +101,10 @@ module Scan
|
|
|
88
101
|
end
|
|
89
102
|
|
|
90
103
|
zip_build_products
|
|
104
|
+
open_report
|
|
105
|
+
end
|
|
91
106
|
|
|
107
|
+
def open_report
|
|
92
108
|
if !Helper.ci? && Scan.cache[:open_html_report_path]
|
|
93
109
|
`open --hide '#{Scan.cache[:open_html_report_path]}'`
|
|
94
110
|
end
|
|
@@ -95,15 +95,10 @@ module Snapshot
|
|
|
95
95
|
end
|
|
96
96
|
|
|
97
97
|
def uninstall_app(device_type)
|
|
98
|
-
UI.verbose("Uninstalling app '#{launcher_config.app_identifier}' from #{device_type}...")
|
|
99
98
|
launcher_config.app_identifier ||= UI.input("App Identifier: ")
|
|
100
99
|
device_udid = TestCommandGenerator.device_udid(device_type)
|
|
101
100
|
|
|
102
|
-
|
|
103
|
-
Helper.backticks("xcrun instruments -w #{device_udid} &> /dev/null")
|
|
104
|
-
|
|
105
|
-
UI.message("Uninstall application #{launcher_config.app_identifier}")
|
|
106
|
-
Helper.backticks("xcrun simctl uninstall #{device_udid} #{launcher_config.app_identifier} &> /dev/null")
|
|
101
|
+
FastlaneCore::Simulator.uninstall_app(launcher_config.app_identifier, device_type, device_udid)
|
|
107
102
|
end
|
|
108
103
|
|
|
109
104
|
def erase_simulator(device_type)
|
metadata
CHANGED
|
@@ -1,33 +1,33 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: fastlane
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.107.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
|
-
- Luka Mirosevic
|
|
8
|
-
- Iulian Onofrei
|
|
9
7
|
- Fumiya Nakamura
|
|
10
|
-
-
|
|
11
|
-
- Maksym Grebenets
|
|
12
|
-
- Danielle Tomlinson
|
|
8
|
+
- Josh Holtz
|
|
13
9
|
- Jorge Revuelta H
|
|
14
10
|
- Matthew Ellis
|
|
15
|
-
- Aaron Brager
|
|
16
|
-
- Helmut Januschka
|
|
17
11
|
- Jérôme Lacoste
|
|
18
|
-
-
|
|
19
|
-
- Josh Holtz
|
|
12
|
+
- Jimmy Dee
|
|
20
13
|
- Kohki Miki
|
|
21
|
-
-
|
|
14
|
+
- Aaron Brager
|
|
15
|
+
- Maksym Grebenets
|
|
16
|
+
- Danielle Tomlinson
|
|
22
17
|
- Felix Krause
|
|
23
|
-
- Olivier Halligon
|
|
24
|
-
- Stefan Natchev
|
|
25
18
|
- Manu Wallner
|
|
19
|
+
- Olivier Halligon
|
|
20
|
+
- Iulian Onofrei
|
|
21
|
+
- Joshua Liebowitz
|
|
22
|
+
- Jan Piotrowski
|
|
23
|
+
- Helmut Januschka
|
|
26
24
|
- Andrew McBurney
|
|
25
|
+
- Luka Mirosevic
|
|
26
|
+
- Stefan Natchev
|
|
27
27
|
autorequire:
|
|
28
28
|
bindir: bin
|
|
29
29
|
cert_chain: []
|
|
30
|
-
date: 2018-10-
|
|
30
|
+
date: 2018-10-16 00:00:00.000000000 Z
|
|
31
31
|
dependencies:
|
|
32
32
|
- !ruby/object:Gem::Dependency
|
|
33
33
|
name: slack-notifier
|