blob: 44f506f7a78fe8d2c0697367371b8eeafad1754a (
plain) (
tree)
|
|
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)
}
}
|