fastlane 2.106.2 → 2.107.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +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
|