summaryrefslogtreecommitdiff
path: root/contrib/scoverage/worker/1.3.1/src/ScoverageReportWorkerImpl.scala
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/scoverage/worker/1.3.1/src/ScoverageReportWorkerImpl.scala')
-rw-r--r--contrib/scoverage/worker/1.3.1/src/ScoverageReportWorkerImpl.scala21
1 files changed, 21 insertions, 0 deletions
diff --git a/contrib/scoverage/worker/1.3.1/src/ScoverageReportWorkerImpl.scala b/contrib/scoverage/worker/1.3.1/src/ScoverageReportWorkerImpl.scala
new file mode 100644
index 00000000..44f506f7
--- /dev/null
+++ b/contrib/scoverage/worker/1.3.1/src/ScoverageReportWorkerImpl.scala
@@ -0,0 +1,21 @@
+package mill.contrib.scoverage.worker
+
+import mill.contrib.scoverage.api.ScoverageReportWorkerApi
+import mill.eval.PathRef
+import _root_.scoverage.Serializer.{ coverageFile, deserialize }
+import _root_.scoverage.IOUtils.{ findMeasurementFiles, invoked }
+import _root_.scoverage.report.ScoverageHtmlWriter
+
+class ScoverageReportWorkerImpl extends ScoverageReportWorkerApi {
+ def htmlReport(sources: Seq[PathRef], dataDir: String, selfDir: String) = {
+ val coverageFileObj = coverageFile(dataDir)
+ val coverage = deserialize(coverageFileObj)
+ coverage(invoked(findMeasurementFiles(dataDir)))
+ val Seq(PathRef(sourceFolderPath, _, _)) = sources
+ val sourceFolders = Seq(sourceFolderPath.toIO)
+ val htmlFolder = new java.io.File(s"${selfDir}/htmlReport")
+ htmlFolder.mkdir()
+ new ScoverageHtmlWriter(sourceFolders, htmlFolder, None)
+ .write(coverage)
+ }
+}