object Kover extends ExternalModule with KoverReportBaseModule
Allows the aggregation of coverage reports across multi-module projects.
Once tests have been run across all modules, this collects reports from all modules that extend KoverModule.
- ./mill .test # run tests for all modules - ./mill mill.kotlinlib.kover.Kover/htmlReportAll # generates report in html format for all modules - ./mill mill.kotlinlib.kover.Kover/xmlReportAll # generates report in xml format for all modules
The aggregated report will be available at either out/mill/kotlinlib/contrib/kover/Kover/htmlReportAll.dest/
for html reports or out/mill/kotlinlib/contrib/kover/Kover/xmlReportAll.dest/
for xml reports.
- Source
- KoverModule.scala
- Alphabetic
- By Inheritance
- Kover
- KoverReportBaseModule
- CoursierModule
- ExternalModule
- BaseModule
- BaseModule0
- Module
- BaseClass
- Cacher
- Cacher
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- class Interp extends AnyRef
- Definition Classes
- BaseModule0
Value Members
- object millInternal extends Internal
Miscellaneous machinery around traversing & querying the build hierarchy, that should not be needed by normal users of Mill
- 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
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def bindDependency: define.Task[(scalalib.Dep) => BoundDep]
Bind a dependency (Dep) to the actual module context (e.g.
Bind a dependency (Dep) to the actual module context (e.g. the scala version and the platform suffix)
- returns
The BoundDep
- Definition Classes
- CoursierModule
- def cachedTarget[T](t: => T)(implicit c: Enclosing): T
- Attributes
- protected[this]
- Definition Classes
- Cacher → Cacher
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
- def coursierCacheCustomizer: define.Task[Option[(FileCache[coursier.util.Task]) => FileCache[coursier.util.Task]]]
Customize the coursier file cache.
Customize the coursier file cache.
This is rarely needed to be changed, but sometimes e.g. you want to load a coursier plugin. Doing so requires adding to coursier's classpath. To do this you could use the following:
override def coursierCacheCustomizer = Task.Anon { Some( (fc: coursier.cache.FileCache[Task]) => fc.withClassLoaders(Seq(classOf[coursier.cache.protocol.S3Handler].getClassLoader)) ) }
- Definition Classes
- CoursierModule
- def defaultResolver: define.Task[Resolver]
- Definition Classes
- CoursierModule
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- val evalWatchedValues: Buffer[Watchable]
- Attributes
- protected[mill]
- Definition Classes
- BaseModule0
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def htmlReportAll(evaluator: Evaluator): Command[api.PathRef]
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def koverCliClasspath: T[api.Loose.Agg[api.PathRef]]
Classpath for running Kover.
Classpath for running Kover.
- Definition Classes
- KoverReportBaseModule
- def koverCliDep: Target[Agg[Dep]]
- Definition Classes
- KoverReportBaseModule
- def koverVersion: T[String]
Reads the Kover version from system environment variable
KOVER_VERSION
or defaults to a hardcoded version.Reads the Kover version from system environment variable
KOVER_VERSION
or defaults to a hardcoded version.- Definition Classes
- KoverReportBaseModule
- def mapDependencies: define.Task[(Dependency) => Dependency]
Map dependencies before resolving them.
Map dependencies before resolving them. Override this to customize the set of dependencies.
- Definition Classes
- CoursierModule
- lazy val millDiscover: Discover
- Definition Classes
- Kover → BaseModule → BaseModule0
- implicit def millDiscoverImplicit: Discover
- Definition Classes
- ExternalModule
- implicit def millImplicitBaseModule: Implicit
- Definition Classes
- BaseModule
- implicit def millModuleBasePath: BasePath
- Definition Classes
- BaseModule → Module
- def millModuleDirectChildren: Seq[define.Module]
- Definition Classes
- Module
- implicit def millModuleExternal: External
- Definition Classes
- Module
- implicit def millModuleSegments: Segments
- Definition Classes
- ExternalModule → BaseModule → Module
- implicit def millModuleShared: Foreign
- Definition Classes
- Module
- def millOuterCtx: Ctx
- Definition Classes
- BaseClass
- def millSourcePath: Path
- Definition Classes
- BaseModule → Module
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def repositoriesTask: define.Task[Seq[Repository]]
The repositories used to resolved dependencies with resolveDeps().
The repositories used to resolved dependencies with resolveDeps().
- Definition Classes
- CoursierModule
- def resolutionCustomizer: define.Task[Option[(Resolution) => Resolution]]
Customize the coursier resolution process.
Customize the coursier resolution process. This is rarely needed to changed, as the default try to provide a highly reproducible resolution process. But sometime, you need more control, e.g. you want to add some OS or JDK specific resolution properties which are sometimes used by Maven and therefore found in dependency artifact metadata. For example, the JavaFX artifacts are known to use OS specific properties. To fix resolution for JavaFX, you could override this task like the following:
override def resolutionCustomizer = Task.Anon { Some( (r: coursier.core.Resolution) => r.withOsInfo(coursier.core.Activation.Os.fromProperties(sys.props.toMap)) ) }
- Definition Classes
- CoursierModule
- def resolutionParams: define.Task[ResolutionParams]
Resolution parameters, allowing to customize resolution internals
Resolution parameters, allowing to customize resolution internals
This rarely needs to be changed. This allows to disable the new way coursier handles BOMs since coursier 2.1.17 (used in Mill since 0.12.3) for example, with:
def resolutionParams = super.resolutionParams() .withEnableDependencyOverrides(Some(false))
Note that versions forced with
Dep#forceVersion()
take over forced versions manually set inresolutionParams
. The former should be favored to force versions in dependency resolution.The Scala version set via
ScalaModule#scalaVersion
also takes over any Scala version provided viaResolutionParams#scalaVersionOpt
.The default configuration set in
ResolutionParams#defaultConfiguration
is ignored when Mill fetches dependencies to be passed to the compiler (equivalent to Maven "compile scope"). In that case, it forces the default configuration to be "compile". On the other hand, when fetching dependencies for runtime (equivalent to Maven "runtime scope"), the value inResolutionParams#defaultConfiguration
is used.- Definition Classes
- CoursierModule
- def resolveDeps(deps: define.Task[Agg[BoundDep]], sources: Boolean = false, artifactTypes: Option[Set[Type]] = None): define.Task[Agg[api.PathRef]]
Task that resolves the given dependencies using the repositories defined with repositoriesTask.
Task that resolves the given dependencies using the repositories defined with repositoriesTask.
- deps
The dependencies to resolve.
- sources
If
true
, resolve source dependencies instead of binary dependencies (JARs).- artifactTypes
If non-empty, pull the passed artifact types rather than the default ones from coursier
- returns
The PathRefs to the resolved files.
- Definition Classes
- CoursierModule
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- Module → AnyRef → Any
- 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()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- val watchedValues: Buffer[Watchable]
- Attributes
- protected[mill]
- Definition Classes
- BaseModule0
- def xmlReportAll(evaluator: Evaluator): Command[api.PathRef]
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)
- def resolveCoursierDependency: define.Task[(scalalib.Dep) => Dependency]
- Definition Classes
- CoursierModule
- Annotations
- @deprecated
- Deprecated
(Since version Mill after 0.11.0-M0) To be replaced by bindDependency
- def resolveDeps(deps: define.Task[Agg[BoundDep]], sources: Boolean): define.Task[Agg[api.PathRef]]
- Definition Classes
- CoursierModule
- Annotations
- @deprecated
- Deprecated
(Since version Mill after 0.12.0-RC3) Use the override accepting artifactTypes