forked from scoverage/gradle-scoverage
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathScoverageWriter.java
74 lines (64 loc) · 2.78 KB
/
ScoverageWriter.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
package org.scoverage;
import scoverage.Constants;
import scoverage.Coverage;
import scoverage.report.CoberturaXmlWriter;
import scoverage.report.ScoverageHtmlWriter;
import scoverage.report.ScoverageXmlWriter;
import java.io.File;
/**
* Util for generating and saving coverage files.
* <p/>
* Copied from sbt-scoverage and converted to Java to avoid dependency to Scala.
*/
public class ScoverageWriter {
/**
* Generates all reports from given data.
*
* @param sourceDir directory with project sources
* @param reportDir directory for generate reports
* @param coverage coverage data
* @param coverageOutputCobertura switch for Cobertura output
* @param coverageOutputXML switch for Scoverage XML output
* @param coverageOutputHTML switch for Scoverage HTML output
* @param coverageDebug switch for Scoverage Debug output
*/
public static void write(File sourceDir,
File reportDir,
Coverage coverage,
Boolean coverageOutputCobertura,
Boolean coverageOutputXML,
Boolean coverageOutputHTML,
Boolean coverageDebug) {
System.out.println("[scoverage] Generating scoverage reports...");
reportDir.mkdirs();
if (coverageOutputCobertura) {
new CoberturaXmlWriter(sourceDir, reportDir).write(coverage);
System.out.println("[scoverage] Written Cobertura XML report to " +
reportDir.getAbsolutePath() +
File.separator +
"cobertura.xml");
}
if (coverageOutputXML) {
new ScoverageXmlWriter(sourceDir, reportDir, /* debug = */ false).write(coverage);
System.out.println("[scoverage] Written XML report to " +
reportDir.getAbsolutePath() +
File.separator +
Constants.XMLReportFilename());
if (coverageDebug) {
new ScoverageXmlWriter(sourceDir, reportDir, /* debug = */ true).write(coverage);
System.out.println("[scoverage] Written XML report with debug information to " +
reportDir.getAbsolutePath() +
File.separator +
Constants.XMLReportFilenameWithDebug());
}
}
if (coverageOutputHTML) {
new ScoverageHtmlWriter(sourceDir, reportDir).write(coverage);
System.out.println("[scoverage] Written HTML report to " +
reportDir.getAbsolutePath() +
File.separator +
"index.html");
}
System.out.println("[scoverage] Coverage reports completed");
}
}