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
- Annotations
- @Scaladoc()
- Alphabetic
- By Inheritance
- ScoverageModule
- ScalaModule
- JavaModule
- BspModule
- OfflineSupportModule
- CoursierModule
- GenIdeaModule
- TaskModule
- Module
- Cacher
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- trait JavaModuleTests extends Module with TestModule
- Definition Classes
- JavaModule
- trait ScalaModuleTests extends Module with scalalib.ScalaModule.JavaModuleTests with ScalaModule
- Definition Classes
- ScalaModule
- class ScoverageData extends Module with ScalaModule
- trait ScoverageTests extends Module with (ScoverageModule.this)#Tests
- trait Tests extends Module with ScalaModuleTests
- Definition Classes
- ScalaModule
Abstract Value Members
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def allIvyDeps: T[api.Loose.Agg[Dep]]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def allScalacOptions: Target[Seq[String]]
- Definition Classes
- ScalaModule
- Annotations
- @Scaladoc()
- def allSourceFiles: T[Seq[api.PathRef]]
- Definition Classes
- ScalaModule → JavaModule
- Annotations
- @Scaladoc()
- def allSources: T[Seq[api.PathRef]]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def ammoniteReplClasspath: T[Seq[api.PathRef]]
- Definition Classes
- ScalaModule
- Annotations
- @Scaladoc()
- def ammoniteVersion: T[String]
- Definition Classes
- ScalaModule
- Annotations
- @Scaladoc()
- def artifactId: T[String]
- Definition Classes
- ScalaModule → JavaModule
- def artifactName: T[String]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def artifactScalaVersion: T[String]
- Definition Classes
- ScalaModule
- Annotations
- @Scaladoc()
- def artifactSuffix: T[String]
- Definition Classes
- ScalaModule
- Annotations
- @Scaladoc()
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def assembly: T[api.PathRef]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def assemblyRules: Seq[Rule]
- Definition Classes
- JavaModule
- def bspBuildTarget: BspBuildTarget
- Definition Classes
- ScalaModule → JavaModule → BspModule
- Annotations
- @internal()
- def bspBuildTargetData: Task[Option[(String, AnyRef)]]
- Definition Classes
- ScalaModule → BspModule
- Annotations
- @internal()
- def bspCompileClassesPath: Target[UnresolvedPath]
- Definition Classes
- ScalaModule → JavaModule
- Annotations
- @Scaladoc() @internal()
- def bspCompileClasspath: Target[api.Loose.Agg[UnresolvedPath]]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc() @internal()
- def bspLocalClasspath: Target[api.Loose.Agg[UnresolvedPath]]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc() @internal()
- def bspTransitiveLocalClasspath: Target[api.Loose.Agg[UnresolvedPath]]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc() @internal()
- def cachedTarget[T](t: => T)(implicit c: Enclosing): T
- Attributes
- protected[this]
- Definition Classes
- Cacher
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def compile: T[CompilationResult]
- Definition Classes
- ScalaModule → JavaModule
- def compileClasspath: T[api.Loose.Agg[api.PathRef]]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def compileIvyDeps: Target[api.Loose.Agg[Dep]]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def compileModuleDeps: Seq[JavaModule]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def console(): Command[Unit]
- Definition Classes
- ScalaModule
- Annotations
- @Scaladoc()
- def coursierCacheCustomizer: Task[Option[(FileCache[Task]) => FileCache[Task]]]
- Definition Classes
- CoursierModule
- Annotations
- @Scaladoc()
- def crossFullScalaVersion: T[Boolean]
- Definition Classes
- ScalaModule
- Annotations
- @Scaladoc()
- def defaultCommandName(): String
- Definition Classes
- JavaModule → TaskModule
- def docJar: T[api.PathRef]
- Definition Classes
- ScalaModule → JavaModule
- def docJarUseArgsFile: T[Boolean]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def docResources: Sources
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def docSources: Sources
- Definition Classes
- ScalaModule → JavaModule
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalMainClass: T[String]
- Definition Classes
- JavaModule
- def finalMainClassOpt: T[Either[String, String]]
- Definition Classes
- JavaModule
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def forkArgs: Target[Seq[String]]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def forkEnv: Target[Map[String, String]]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def forkWorkingDir: Target[Path]
- Definition Classes
- JavaModule
- def generatedSources: T[Seq[api.PathRef]]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def ideaCompileOutput: T[PathRef]
- Definition Classes
- GenIdeaModule
- def ideaConfigFiles(ideaConfigVersion: Int): Command[Seq[IdeaConfigFile]]
- Definition Classes
- GenIdeaModule
- Annotations
- @Scaladoc()
- def ideaJavaModuleFacets(ideaConfigVersion: Int): Command[Seq[JavaFacet]]
- Definition Classes
- GenIdeaModule
- Annotations
- @Scaladoc()
- def intellijModulePath: Path
- Definition Classes
- GenIdeaModule
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def ivyDeps: T[api.Loose.Agg[Dep]]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def ivyDepsTree(inverse: Boolean, withCompile: Boolean, withRuntime: Boolean): Command[Unit]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def jar: T[api.PathRef]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def javacOptions: T[Seq[String]]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def javadocOptions: T[Seq[String]]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def launcher: Target[api.PathRef]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def localClasspath: T[Seq[api.PathRef]]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def mainClass: T[Option[String]]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def mandatoryIvyDeps: T[api.Loose.Agg[Dep]]
- Definition Classes
- ScalaModule → JavaModule
- Annotations
- @Scaladoc()
- def mandatoryScalacOptions: Target[Seq[String]]
- Attributes
- protected
- Definition Classes
- ScalaModule
- Annotations
- @Scaladoc()
- def manifest: T[JarManifest]
- Definition Classes
- ScalaModule → JavaModule
- def mapDependencies: Task[(Dependency) => Dependency]
- Definition Classes
- ScalaModule → CoursierModule
- implicit def millModuleBasePath: BasePath
- Definition Classes
- Module
- lazy val millModuleDirectChildren: Seq[define.Module]
- Definition Classes
- Module
- implicit def millModuleExternal: External
- Definition Classes
- Module
- implicit def millModuleSegments: Segments
- Definition Classes
- Module
- implicit def millModuleShared: Foreign
- Definition Classes
- Module
- def millOuterCtx: Ctx
- Definition Classes
- Module
- def millSourcePath: Path
- Definition Classes
- Module
- def moduleDeps: Seq[JavaModule]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def platformSuffix: T[String]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def prepareOffline(all: Flag): Command[Unit]
- Definition Classes
- ScalaModule → JavaModule → OfflineSupportModule
- Annotations
- @Scaladoc()
- def prependShellScript: T[String]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def printDepsTree(inverse: Boolean, additionalDeps: Task[api.Loose.Agg[Dep]]): Task[Unit]
- Attributes
- protected
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def recursiveModuleDeps: Seq[JavaModule]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def repl(replOptions: String*): Command[Unit]
- Definition Classes
- ScalaModule
- Annotations
- @Scaladoc()
- def repositoriesTask: Task[Seq[Repository]]
- Definition Classes
- CoursierModule
- Annotations
- @Scaladoc()
- def resolutionCustomizer: Task[Option[(Resolution) => Resolution]]
- Definition Classes
- CoursierModule
- Annotations
- @Scaladoc()
- def resolveCoursierDependency: Task[(Dep) => Dependency]
- Definition Classes
- ScalaModule → CoursierModule
- def resolveDeps(deps: Task[Agg[Dep]], sources: Boolean): Task[Agg[api.PathRef]]
- Definition Classes
- CoursierModule
- Annotations
- @Scaladoc()
- def resolvePublishDependency: Task[(Dep) => Dependency]
- Definition Classes
- ScalaModule → JavaModule
- def resolvedAmmoniteReplIvyDeps: Target[Agg[api.PathRef]]
- Definition Classes
- ScalaModule
- def resolvedIvyDeps: T[api.Loose.Agg[api.PathRef]]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def resolvedRunIvyDeps: T[api.Loose.Agg[api.PathRef]]
- Definition Classes
- JavaModule
- def resources: Sources
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def run(args: String*): Command[Unit]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def runBackground(args: String*): Command[Unit]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def runClasspath: T[Seq[api.PathRef]]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def runIvyDeps: T[api.Loose.Agg[Dep]]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def runLocal(args: String*): Command[Unit]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def runMain(mainClass: String, args: String*): Command[Unit]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def runMainBackground(mainClass: String, args: String*): Command[Unit]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def runMainLocal(mainClass: String, args: String*): Command[Unit]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def runUseArgsFile: T[Boolean]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def scalaCompilerClasspath: T[api.Loose.Agg[api.PathRef]]
- Definition Classes
- ScalaModule
- Annotations
- @Scaladoc()
- def scalaDocClasspath: T[api.Loose.Agg[api.PathRef]]
- Definition Classes
- ScalaModule
- Annotations
- @Scaladoc()
- def scalaDocOptions: T[Seq[String]]
- Definition Classes
- ScalaModule
- def scalaDocPluginClasspath: T[api.Loose.Agg[api.PathRef]]
- Definition Classes
- ScalaModule
- Annotations
- @Scaladoc()
- def scalaDocPluginIvyDeps: Target[api.Loose.Agg[Dep]]
- Definition Classes
- ScalaModule
- def scalaLibraryIvyDeps: T[api.Loose.Agg[Dep]]
- Definition Classes
- ScalaModule
- def scalaOrganization: T[String]
- Definition Classes
- ScalaModule
- Annotations
- @Scaladoc()
- def scalacOptions: Target[Seq[String]]
- Definition Classes
- ScalaModule
- Annotations
- @Scaladoc()
- def scalacPluginClasspath: T[api.Loose.Agg[api.PathRef]]
- Definition Classes
- ScalaModule
- Annotations
- @Scaladoc()
- def scalacPluginIvyDeps: Target[api.Loose.Agg[Dep]]
- Definition Classes
- ScalaModule
- Annotations
- @Scaladoc()
- val scoverage: (ScoverageModule.this)#ScoverageData
- def scoverageClasspath: T[Agg[api.PathRef]]
- def scoveragePluginDep: T[Dep]
- def scoverageReportWorkerClasspath: T[Agg[api.PathRef]]
- def scoverageRuntimeDep: T[Dep]
- def scoverageToolsClasspath: T[Agg[api.PathRef]]
- def showModuleDeps(recursive: Boolean): Command[Unit]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def skipIdea: Boolean
- Definition Classes
- GenIdeaModule
- Annotations
- @Scaladoc()
- def sourceJar: Target[api.PathRef]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def sources: Sources
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- Module → AnyRef → Any
- def transitiveCompileIvyDeps: T[api.Loose.Agg[Dep]]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def transitiveIvyDeps: T[api.Loose.Agg[Dep]]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def transitiveLocalClasspath: T[api.Loose.Agg[api.PathRef]]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def transitiveModuleDeps: Seq[JavaModule]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def unmanagedClasspath: T[api.Loose.Agg[api.PathRef]]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def upstreamAssembly: T[api.PathRef]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def upstreamAssemblyClasspath: T[api.Loose.Agg[api.PathRef]]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def upstreamCompileOutput: T[Seq[CompilationResult]]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- def zincWorker: ZincWorkerModule
- Definition Classes
- JavaModule
- object millInternal extends Internal
- Definition Classes
- Module
- Annotations
- @Scaladoc()
Deprecated Value Members
- def repositories: Seq[Repository]
- Definition Classes
- CoursierModule
- Annotations
- @Scaladoc() @deprecated
- Deprecated
(Since version mill after 0.8.0) Use repositoriesTask instead
- def toolsClasspath: T[Agg[api.PathRef]]
- Annotations
- @deprecated
- Deprecated
(Since version mill after 0.10.0-M1) Use scoverageToolsClasspath instead.