summaryrefslogtreecommitdiff
path: root/contrib/scoverage/worker
diff options
context:
space:
mode:
authorNils Homer <nh13@users.noreply.github.com>2019-05-28 04:10:51 -0700
committerTobias Roeser <le.petit.fou@web.de>2019-05-28 13:10:51 +0200
commit68c8135341c77ef545327a820590c3e920784fbd (patch)
tree7c6675f476ac625b499917a21f272ce2f31973e4 /contrib/scoverage/worker
parentd3e277f813dd0ad96a4ddeac5cdf62546ebcec41 (diff)
downloadmill-68c8135341c77ef545327a820590c3e920784fbd.tar.gz
mill-68c8135341c77ef545327a820590c3e920784fbd.tar.bz2
mill-68c8135341c77ef545327a820590c3e920784fbd.zip
Scoverage can output an XML report (#618)
* use the _.scoverage.xmlReport task
Diffstat (limited to 'contrib/scoverage/worker')
-rw-r--r--contrib/scoverage/worker/1.3.1/src/ScoverageReportWorkerImpl.scala27
1 files changed, 22 insertions, 5 deletions
diff --git a/contrib/scoverage/worker/1.3.1/src/ScoverageReportWorkerImpl.scala b/contrib/scoverage/worker/1.3.1/src/ScoverageReportWorkerImpl.scala
index b869ea90..63fdd693 100644
--- a/contrib/scoverage/worker/1.3.1/src/ScoverageReportWorkerImpl.scala
+++ b/contrib/scoverage/worker/1.3.1/src/ScoverageReportWorkerImpl.scala
@@ -5,16 +5,33 @@ import mill.eval.PathRef
import _root_.scoverage.Serializer.{ coverageFile, deserialize }
import _root_.scoverage.IOUtils.{ findMeasurementFiles, invoked }
import _root_.scoverage.report.ScoverageHtmlWriter
+import _root_.scoverage.report.ScoverageXmlWriter
+
+private sealed trait ReportType { def folderName: String }
+private case object Html extends ReportType { val folderName: String = "htmlReport" }
+private case object Xml extends ReportType { val folderName: String = "xmlReport" }
class ScoverageReportWorkerImpl extends ScoverageReportWorkerApi {
- def htmlReport(sources: Seq[PathRef], dataDir: String, selfDir: String) = {
+ private def buildReport(sources: Seq[PathRef], dataDir: String, selfDir: String, reportType: ReportType) = {
val coverageFileObj = coverageFile(dataDir)
val coverage = deserialize(coverageFileObj)
coverage(invoked(findMeasurementFiles(dataDir)))
val sourceFolders = sources.map(_.path.toIO)
- val htmlFolder = new java.io.File(s"${selfDir}/htmlReport")
- htmlFolder.mkdir()
- new ScoverageHtmlWriter(sourceFolders, htmlFolder, None)
- .write(coverage)
+ val folder = new java.io.File(s"${selfDir}/${reportType.folderName}")
+ folder.mkdir()
+ reportType match {
+ case Html =>
+ new ScoverageHtmlWriter(sourceFolders, folder, None)
+ .write(coverage)
+ case Xml =>
+ new ScoverageXmlWriter(sourceFolders, folder, false)
+ .write(coverage)
+ }
+ }
+ def htmlReport(sources: Seq[PathRef], dataDir: String, selfDir: String) = {
+ buildReport(sources, dataDir, selfDir, Html)
+ }
+ def xmlReport(sources: Seq[PathRef], dataDir: String, selfDir: String) = {
+ buildReport(sources, dataDir, selfDir, Xml)
}
}