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
- Alphabetic
- By Inheritance
- ScoverageModule
- ScalaModule
- JavaModule
- CoursierModule
- GenIdeaModule
- TaskModule
- Module
- Cacher
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- class ScoverageData extends Module with ScalaModule
- trait ScoverageTests extends Module with (ScoverageModule.this)#Tests
- trait Tests extends Module with scalalib.ScalaModule.Tests with ScalaModule
- 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 allSourceFiles: Target[Seq[api.PathRef]]
- Definition Classes
- ScalaModule → JavaModule
- Annotations
- @Scaladoc()
- def allSources: Target[Seq[eval.PathRef]]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def ammoniteReplClasspath: Target[Seq[eval.PathRef]]
- Definition Classes
- ScalaModule
- Annotations
- @Scaladoc()
- def ammoniteVersion: Target[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: Target[eval.PathRef]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def assemblyRules: Seq[Rule]
- Definition Classes
- JavaModule
- 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() @HotSpotIntrinsicCandidate()
- def compile: T[CompilationResult]
- Definition Classes
- ScalaModule → JavaModule
- def compileClasspath: Target[api.Loose.Agg[eval.PathRef]]
- Definition Classes
- ScalaModule → JavaModule
- def compileIvyDeps: Target[api.Loose.Agg[Dep]]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def console(): Command[Unit]
- Definition Classes
- ScalaModule
- Annotations
- @Scaladoc()
- def crossFullScalaVersion: T[Boolean]
- Definition Classes
- ScalaModule
- Annotations
- @Scaladoc()
- def defaultCommandName(): String
- Definition Classes
- JavaModule → TaskModule
- def docJar: Target[eval.PathRef]
- 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 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: Target[Seq[eval.PathRef]]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- 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: Target[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: Target[eval.PathRef]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def javacOptions: Target[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: Target[Seq[eval.PathRef]]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def mainClass: T[Option[String]]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def manifest: T[JarManifest]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- 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() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def platformSuffix: T[String]
- Definition Classes
- JavaModule
- 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 repositories: Seq[Repository]
- Definition Classes
- JavaModule → CoursierModule
- def resolveCoursierDependency: Task[(Dep) => Dependency]
- Definition Classes
- ScalaModule → CoursierModule
- def resolveDeps(deps: Task[Agg[Dep]], sources: Boolean): Task[Agg[eval.PathRef]]
- Definition Classes
- CoursierModule
- Annotations
- @Scaladoc()
- def resolvePublishDependency: Task[(Dep) => Dependency]
- Definition Classes
- ScalaModule → 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: Target[Seq[eval.PathRef]]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def runIvyDeps: Target[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 scalaCompilerClasspath: T[api.Loose.Agg[eval.PathRef]]
- Definition Classes
- ScalaModule
- Annotations
- @Scaladoc()
- def scalaDocOptions: Target[Seq[String]]
- Definition Classes
- ScalaModule
- def scalaDocPluginClasspath: T[api.Loose.Agg[eval.PathRef]]
- Definition Classes
- ScalaModule
- Annotations
- @Scaladoc()
- def scalaDocPluginIvyDeps: Target[api.Loose.Agg[Dep]]
- Definition Classes
- ScalaModule
- def scalaLibraryIvyDeps: Target[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[eval.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: Target[Agg[eval.PathRef]]
- def scoveragePluginDep: Target[Dep]
- def scoverageReportWorkerClasspath: Target[api.Loose.Agg[eval.PathRef]]
- def scoverageRuntimeDep: Target[Dep]
- def skipIdea: Boolean
- Definition Classes
- GenIdeaModule
- Annotations
- @Scaladoc()
- def sourceJar: Target[eval.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 toolsClasspath: Target[api.Loose.Agg[eval.PathRef]]
- def transitiveIvyDeps: T[api.Loose.Agg[Dep]]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def transitiveLocalClasspath: T[api.Loose.Agg[eval.PathRef]]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def transitiveModuleDeps: Seq[JavaModule]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def unmanagedClasspath: Target[api.Loose.Agg[eval.PathRef]]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def upstreamAssembly: Target[eval.PathRef]
- Definition Classes
- JavaModule
- Annotations
- @Scaladoc()
- def upstreamAssemblyClasspath: Target[api.Loose.Agg[eval.PathRef]]
- Definition Classes
- ScalaModule → JavaModule
- def upstreamCompileOutput: Target[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 finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated @deprecated
- Deprecated
(Since version ) see corresponding Javadoc for more information.