Skip to content

Commit cce2890

Browse files
committed
Updated XML writer to include top level class
1 parent 863035c commit cce2890

File tree

1 file changed

+19
-16
lines changed

1 file changed

+19
-16
lines changed

scalac-scoverage-plugin/src/main/scala/scoverage/report/ScoverageXmlWriter.scala

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,25 @@ class ScoverageXmlWriter(sourceDir: File, outputDir: File, debug: Boolean) {
1717
IOUtils.writeToFile(file, new PrettyPrinter(120, 4).format(xml(coverage)))
1818
}
1919

20-
def statement(stmt: Statement): Node = {
20+
def xml(coverage: Coverage): Node = {
21+
<scoverage statement-count={coverage.statementCount.toString}
22+
statements-invoked={coverage.invokedStatementCount.toString}
23+
statement-rate={coverage.statementCoverageFormatted}
24+
branch-rate={coverage.branchCoverageFormatted}
25+
version="1.0"
26+
timestamp={System.currentTimeMillis.toString}>
27+
<packages>
28+
{coverage.packages.map(pack)}
29+
</packages>
30+
</scoverage>
31+
}
32+
33+
private def statement(stmt: Statement): Node = {
2134
debug match {
2235
case true =>
2336
<statement package={stmt.location.packageName}
2437
class={stmt.location.className}
38+
topLevelClass={stmt.location.topLevelClass}
2539
method={stmt.location.method}
2640
start={stmt.start.toString}
2741
line={stmt.line.toString}
@@ -34,6 +48,7 @@ class ScoverageXmlWriter(sourceDir: File, outputDir: File, debug: Boolean) {
3448
case false =>
3549
<statement package={stmt.location.packageName}
3650
class={stmt.location.className}
51+
topLevelClass={stmt.location.topLevelClass}
3752
method={stmt.location.method}
3853
start={stmt.start.toString}
3954
line={stmt.line.toString}
@@ -42,7 +57,7 @@ class ScoverageXmlWriter(sourceDir: File, outputDir: File, debug: Boolean) {
4257
}
4358
}
4459

45-
def method(method: MeasuredMethod): Node = {
60+
private def method(method: MeasuredMethod): Node = {
4661
<method name={method.name}
4762
statement-count={method.statementCount.toString}
4863
statements-invoked={method.invokedStatementCount.toString}
@@ -54,7 +69,7 @@ class ScoverageXmlWriter(sourceDir: File, outputDir: File, debug: Boolean) {
5469
</method>
5570
}
5671

57-
def klass(klass: MeasuredClass): Node = {
72+
private def klass(klass: MeasuredClass): Node = {
5873
<class name={klass.name}
5974
filename={klass.source.replace(sourceDir.getAbsolutePath, "")}
6075
statement-count={klass.statementCount.toString}
@@ -67,7 +82,7 @@ class ScoverageXmlWriter(sourceDir: File, outputDir: File, debug: Boolean) {
6782
</class>
6883
}
6984

70-
def pack(pack: MeasuredPackage): Node = {
85+
private def pack(pack: MeasuredPackage): Node = {
7186
<package name={pack.name}
7287
statement-count={pack.statementCount.toString}
7388
statements-invoked={pack.invokedStatementCount.toString}
@@ -78,17 +93,5 @@ class ScoverageXmlWriter(sourceDir: File, outputDir: File, debug: Boolean) {
7893
</package>
7994
}
8095

81-
def xml(coverage: Coverage): Node = {
82-
<scoverage statement-count={coverage.statementCount.toString}
83-
statements-invoked={coverage.invokedStatementCount.toString}
84-
statement-rate={coverage.statementCoverageFormatted}
85-
branch-rate={coverage.branchCoverageFormatted}
86-
version="1.0"
87-
timestamp={System.currentTimeMillis.toString}>
88-
<packages>
89-
{coverage.packages.map(pack)}
90-
</packages>
91-
</scoverage>
92-
}
9396
}
9497

0 commit comments

Comments
 (0)