diff options
author | Nils Homer <nh13@users.noreply.github.com> | 2019-05-28 04:10:51 -0700 |
---|---|---|
committer | Tobias Roeser <le.petit.fou@web.de> | 2019-05-28 13:10:51 +0200 |
commit | 68c8135341c77ef545327a820590c3e920784fbd (patch) | |
tree | 7c6675f476ac625b499917a21f272ce2f31973e4 /contrib/scoverage/worker/1.3.1 | |
parent | d3e277f813dd0ad96a4ddeac5cdf62546ebcec41 (diff) | |
download | mill-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/1.3.1')
-rw-r--r-- | contrib/scoverage/worker/1.3.1/src/ScoverageReportWorkerImpl.scala | 27 |
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) } } |