Packages

t

mill.contrib.scoverage

ScoverageModule

trait ScoverageModule extends Module with ScalaModule

Adds targets to a mill.scalalib.ScalaModule to create test coverage reports.

This module allows you to generate code coverage reports for Scala projects with Scoverage via the scoverage compiler plugin.

To declare a module for which you want to generate coverage reports you can Extends the mill.contrib.scoverage.ScoverageModule trait when defining your Module. Additionally, you must define a submodule that extends the ScoverageTests trait that belongs to your instance of ScoverageModule.

// You have to replace VERSION
import $ivy.`com.lihaoyi::mill-contrib-buildinfo:VERSION`
import mill.contrib.scoverage.ScoverageModule

Object foo extends ScoverageModule  {
  def scalaVersion = "2.12.9"
  def scoverageVersion = "1.4.0"

  object test extends ScoverageTests {
    def ivyDeps = Agg(ivy"org.scalatest::scalatest:3.0.5")
    def testFrameworks = Seq("org.scalatest.tools.Framework")
  }
}

In addition to the normal tasks available to your Scala module, Scoverage Modules introduce a few new tasks and changes the behavior of an existing one.

- mill foo.scoverage.compile # compiles your module with test instrumentation # (you don't have to run this manually, running the test task will force its invocation)

- mill foo.test # tests your project and collects metrics on code coverage - mill foo.scoverage.htmlReport # uses the metrics collected by a previous test run to generate a coverage report in html format - mill foo.scoverage.xmlReport # uses the metrics collected by a previous test run to generate a coverage report in xml format

The measurement data by default is available at out/foo/scoverage/dataDir/dest/, the html report is saved in out/foo/scoverage/htmlReport/dest/, and the xml report is saved in out/foo/scoverage/xmlReport/dest/.

Self Type
ScoverageModule with ScalaModule
Linear Supertypes
ScalaModule, JavaModule, BspModule, OfflineSupportModule, CoursierModule, GenIdeaModule, TaskModule, define.Module, Cacher, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ScoverageModule
  2. ScalaModule
  3. JavaModule
  4. BspModule
  5. OfflineSupportModule
  6. CoursierModule
  7. GenIdeaModule
  8. TaskModule
  9. Module
  10. Cacher
  11. AnyRef
  12. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. trait JavaModuleTests extends Module with TestModule
    Definition Classes
    JavaModule
  2. trait ScalaModuleTests extends Module with scalalib.ScalaModule.JavaModuleTests with ScalaModule
    Definition Classes
    ScalaModule
  3. class ScoverageData extends Module with ScalaModule
  4. trait ScoverageTests extends Module with (ScoverageModule.this)#Tests
  5. trait Tests extends Module with ScalaModuleTests
    Definition Classes
    ScalaModule

Abstract Value Members

  1. abstract def scalaVersion: T[String]
    Definition Classes
    ScalaModule
    Annotations
    @Scaladoc()
  2. abstract def scoverageVersion: T[String]

    The Scoverage version to use.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def allIvyDeps: T[api.Loose.Agg[Dep]]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  5. def allScalacOptions: Target[Seq[String]]
    Definition Classes
    ScalaModule
    Annotations
    @Scaladoc()
  6. def allSourceFiles: T[Seq[api.PathRef]]
    Definition Classes
    ScalaModule → JavaModule
    Annotations
    @Scaladoc()
  7. def allSources: T[Seq[api.PathRef]]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  8. def ammoniteReplClasspath: T[Seq[api.PathRef]]
    Definition Classes
    ScalaModule
    Annotations
    @Scaladoc()
  9. def ammoniteVersion: T[String]
    Definition Classes
    ScalaModule
    Annotations
    @Scaladoc()
  10. def artifactId: T[String]
    Definition Classes
    ScalaModule → JavaModule
  11. def artifactName: T[String]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  12. def artifactScalaVersion: T[String]
    Definition Classes
    ScalaModule
    Annotations
    @Scaladoc()
  13. def artifactSuffix: T[String]
    Definition Classes
    ScalaModule
    Annotations
    @Scaladoc()
  14. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  15. def assembly: T[api.PathRef]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  16. def assemblyRules: Seq[Rule]
    Definition Classes
    JavaModule
  17. def bspBuildTarget: BspBuildTarget
    Definition Classes
    ScalaModule → JavaModule → BspModule
    Annotations
    @internal()
  18. def bspBuildTargetData: Task[Option[(String, AnyRef)]]
    Definition Classes
    ScalaModule → BspModule
    Annotations
    @internal()
  19. def bspCompileClassesPath(pathsResolver: Task[EvaluatorPathsResolver]): Task[api.PathRef]
    Definition Classes
    ScalaModule → JavaModule
    Annotations
    @Scaladoc() @internal()
  20. def bspCompileClasspath(pathsResolver: Task[EvaluatorPathsResolver]): Task[Seq[api.PathRef]]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc() @internal()
  21. def cachedTarget[T](t: => T)(implicit c: Enclosing): T
    Attributes
    protected[this]
    Definition Classes
    Cacher
  22. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  23. def compile: T[CompilationResult]
    Definition Classes
    ScalaModule → JavaModule
  24. def compileClasspath: T[api.Loose.Agg[api.PathRef]]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  25. def compileIvyDeps: Target[api.Loose.Agg[Dep]]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  26. def compileModuleDeps: Seq[JavaModule]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  27. def console(): Command[Unit]
    Definition Classes
    ScalaModule
    Annotations
    @Scaladoc()
  28. def crossFullScalaVersion: T[Boolean]
    Definition Classes
    ScalaModule
    Annotations
    @Scaladoc()
  29. def defaultCommandName(): String
    Definition Classes
    JavaModule → TaskModule
  30. def docJar: T[api.PathRef]
    Definition Classes
    ScalaModule → JavaModule
  31. def docResources: Sources
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  32. def docSources: Sources
    Definition Classes
    ScalaModule → JavaModule
  33. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  34. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  35. def finalMainClass: T[String]
    Definition Classes
    JavaModule
  36. def finalMainClassOpt: T[Either[String, String]]
    Definition Classes
    JavaModule
  37. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  38. def forkArgs: T[Seq[String]]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  39. def forkEnv: T[Map[String, String]]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  40. def forkWorkingDir: Target[Path]
    Definition Classes
    JavaModule
  41. def generatedSources: T[Seq[api.PathRef]]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  42. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  43. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  44. def ideaCompileOutput: T[PathRef]
    Definition Classes
    GenIdeaModule
  45. def ideaConfigFiles(ideaConfigVersion: Int): Command[Seq[IdeaConfigFile]]
    Definition Classes
    GenIdeaModule
    Annotations
    @Scaladoc()
  46. def ideaJavaModuleFacets(ideaConfigVersion: Int): Command[Seq[JavaFacet]]
    Definition Classes
    GenIdeaModule
    Annotations
    @Scaladoc()
  47. def intellijModulePath: Path
    Definition Classes
    GenIdeaModule
  48. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  49. def ivyDeps: T[api.Loose.Agg[Dep]]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  50. def ivyDepsTree(inverse: Boolean, withCompile: Boolean, withRuntime: Boolean): Command[Unit]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  51. def jar: T[api.PathRef]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  52. def javacOptions: T[Seq[String]]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  53. def javadocOptions: T[Seq[String]]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  54. def launcher: Target[api.PathRef]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  55. def localClasspath: T[Seq[api.PathRef]]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  56. def mainClass: T[Option[String]]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  57. def mandatoryIvyDeps: T[api.Loose.Agg[Dep]]
    Definition Classes
    ScalaModule → JavaModule
    Annotations
    @Scaladoc()
  58. def mandatoryScalacOptions: Target[Seq[String]]
    Attributes
    protected
    Definition Classes
    ScalaModule
    Annotations
    @Scaladoc()
  59. def manifest: T[JarManifest]
    Definition Classes
    ScalaModule → JavaModule
  60. def mapDependencies: Task[(Dependency) => Dependency]
    Definition Classes
    ScalaModule → CoursierModule
  61. implicit def millModuleBasePath: BasePath
    Definition Classes
    Module
  62. lazy val millModuleDirectChildren: Seq[define.Module]
    Definition Classes
    Module
  63. implicit def millModuleExternal: External
    Definition Classes
    Module
  64. implicit def millModuleSegments: Segments
    Definition Classes
    Module
  65. implicit def millModuleShared: Foreign
    Definition Classes
    Module
  66. def millOuterCtx: Ctx
    Definition Classes
    Module
  67. def millSourcePath: Path
    Definition Classes
    Module
  68. def moduleDeps: Seq[JavaModule]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  69. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  70. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  71. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  72. def platformSuffix: T[String]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  73. def prepareOffline(): Command[Unit]
    Definition Classes
    ScalaModule → JavaModule → OfflineSupportModule
  74. def prependShellScript: T[String]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  75. def printDepsTree(inverse: Boolean, additionalDeps: Task[api.Loose.Agg[Dep]]): Task[Unit]
    Attributes
    protected
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  76. def recursiveModuleDeps: Seq[JavaModule]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  77. def repl(replOptions: String*): Command[Unit]
    Definition Classes
    ScalaModule
    Annotations
    @Scaladoc()
  78. def repositoriesTask: Task[Seq[Repository]]
    Definition Classes
    CoursierModule
    Annotations
    @Scaladoc()
  79. def resolutionCustomizer: Task[Option[(Resolution) => Resolution]]
    Definition Classes
    CoursierModule
    Annotations
    @Scaladoc()
  80. def resolveCoursierDependency: Task[(Dep) => Dependency]
    Definition Classes
    ScalaModule → CoursierModule
  81. def resolveDeps(deps: Task[Agg[Dep]], sources: Boolean): Task[Agg[api.PathRef]]
    Definition Classes
    CoursierModule
    Annotations
    @Scaladoc()
  82. def resolvePublishDependency: Task[(Dep) => Dependency]
    Definition Classes
    ScalaModule → JavaModule
  83. def resolvedAmmoniteReplIvyDeps: Target[Agg[api.PathRef]]
    Definition Classes
    ScalaModule
  84. def resolvedIvyDeps: T[api.Loose.Agg[api.PathRef]]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  85. def resolvedRunIvyDeps: T[api.Loose.Agg[api.PathRef]]
    Definition Classes
    JavaModule
  86. def resources: Sources
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  87. def run(args: String*): Command[Unit]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  88. def runBackground(args: String*): Command[Unit]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  89. def runClasspath: T[Seq[api.PathRef]]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  90. def runIvyDeps: T[api.Loose.Agg[Dep]]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  91. def runLocal(args: String*): Command[Unit]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  92. def runMain(mainClass: String, args: String*): Command[Unit]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  93. def runMainBackground(mainClass: String, args: String*): Command[Unit]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  94. def runMainLocal(mainClass: String, args: String*): Command[Unit]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  95. def runUseArgsFile: T[Boolean]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  96. def scalaCompilerClasspath: T[api.Loose.Agg[api.PathRef]]
    Definition Classes
    ScalaModule
    Annotations
    @Scaladoc()
  97. def scalaDocClasspath: T[api.Loose.Agg[api.PathRef]]
    Definition Classes
    ScalaModule
    Annotations
    @Scaladoc()
  98. def scalaDocOptions: T[Seq[String]]
    Definition Classes
    ScalaModule
  99. def scalaDocPluginClasspath: T[api.Loose.Agg[api.PathRef]]
    Definition Classes
    ScalaModule
    Annotations
    @Scaladoc()
  100. def scalaDocPluginIvyDeps: Target[api.Loose.Agg[Dep]]
    Definition Classes
    ScalaModule
  101. def scalaLibraryIvyDeps: T[api.Loose.Agg[Dep]]
    Definition Classes
    ScalaModule
  102. def scalaOrganization: T[String]
    Definition Classes
    ScalaModule
    Annotations
    @Scaladoc()
  103. def scalacOptions: Target[Seq[String]]
    Definition Classes
    ScalaModule
    Annotations
    @Scaladoc()
  104. def scalacPluginClasspath: T[api.Loose.Agg[api.PathRef]]
    Definition Classes
    ScalaModule
    Annotations
    @Scaladoc()
  105. def scalacPluginIvyDeps: Target[api.Loose.Agg[Dep]]
    Definition Classes
    ScalaModule
    Annotations
    @Scaladoc()
  106. val scoverage: (ScoverageModule.this)#ScoverageData
  107. def scoverageClasspath: T[Agg[api.PathRef]]
  108. def scoveragePluginDep: T[Dep]
  109. def scoverageReportWorkerClasspath: T[Agg[api.PathRef]]
  110. def scoverageRuntimeDep: T[Dep]
  111. def scoverageToolsClasspath: T[Agg[api.PathRef]]
  112. def showModuleDeps(recursive: Boolean): Command[Unit]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  113. def skipIdea: Boolean
    Definition Classes
    GenIdeaModule
    Annotations
    @Scaladoc()
  114. def sourceJar: T[api.PathRef]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  115. def sources: Sources
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  116. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  117. def toString(): String
    Definition Classes
    Module → AnyRef → Any
  118. def transitiveCompileIvyDeps: T[api.Loose.Agg[Dep]]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  119. def transitiveIvyDeps: T[api.Loose.Agg[Dep]]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  120. def transitiveLocalClasspath: T[api.Loose.Agg[api.PathRef]]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  121. def transitiveModuleDeps: Seq[JavaModule]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  122. def unmanagedClasspath: T[api.Loose.Agg[api.PathRef]]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  123. def upstreamAssembly: T[api.PathRef]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  124. def upstreamAssemblyClasspath: T[api.Loose.Agg[api.PathRef]]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  125. def upstreamCompileOutput: T[Seq[CompilationResult]]
    Definition Classes
    JavaModule
    Annotations
    @Scaladoc()
  126. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  127. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  128. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  129. def zincWorker: ZincWorkerModule
    Definition Classes
    JavaModule
  130. object millInternal extends Internal
    Definition Classes
    Module
    Annotations
    @Scaladoc()

Deprecated Value Members

  1. def repositories: Seq[Repository]
    Definition Classes
    CoursierModule
    Annotations
    @Scaladoc() @deprecated
    Deprecated

    (Since version mill after 0.8.0) Use repositoriesTask instead

  2. def toolsClasspath: T[Agg[api.PathRef]]
    Annotations
    @deprecated
    Deprecated

    (Since version mill after 0.10.0-M1) Use scoverageToolsClasspath instead.

Inherited from ScalaModule

Inherited from JavaModule

Inherited from BspModule

Inherited from OfflineSupportModule

Inherited from CoursierModule

Inherited from GenIdeaModule

Inherited from TaskModule

Inherited from define.Module

Inherited from Cacher

Inherited from AnyRef

Inherited from Any

Ungrouped