All Downloads are FREE. Search and download functionalities are using the official Maven repository.

mill.contrib.scoverage.api.ScoverageReportWorkerApi.scala Maven / Gradle / Ivy

There is a newer version: 0.12.0-RC2-17-07e173
Show newest version
package mill.contrib.scoverage.api

import mill.api.Ctx

trait ScoverageReportWorkerApi {
  import ScoverageReportWorkerApi._

  @deprecated("Use other overload instead.", "Mill after 0.10.7")
  def report(
      reportType: ReportType,
      sources: Seq[os.Path],
      dataDirs: Seq[os.Path]
  )(implicit
      ctx: Ctx
  ): Unit = {
    report(reportType, sources, dataDirs, ctx.workspace)
  }

  def report(
      reportType: ReportType,
      sources: Seq[os.Path],
      dataDirs: Seq[os.Path],
      sourceRoot: os.Path
  )(implicit
      ctx: Ctx
  ): Unit = {
    // FIXME: We only call the deprecated version here, to preserve binary compatibility. Remove when appropriate.
    ctx.log.error(
      "Binary compatibility stub may cause infinite loops with StackOverflowError. You need to implement: def report(ReportType, Seq[Path], Seq[Path], os.Path): Unit"
    )
    report(reportType, sources, dataDirs)
  }
}

object ScoverageReportWorkerApi {
  sealed trait ReportType
  sealed trait FileReportType extends ReportType { def folderName: String }
  object ReportType {
    final case object Html extends FileReportType { val folderName: String = "htmlReport" }
    final case object Xml extends FileReportType { val folderName: String = "xmlReport" }
    final case object XmlCobertura extends FileReportType {
      val folderName: String = "xmlCoberturaReport"
    }
    final case object Console extends ReportType
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy