Packages

  • package root
    Definition Classes
    root
  • package mill
    Definition Classes
    root
  • package kotlinlib
    Definition Classes
    mill
  • package kover
    Definition Classes
    kotlinlib
  • trait KoverModule extends BaseClass with KotlinModule

    Adds targets to a mill.kotlinlib.KotlinModule to create test coverage reports.

    Adds targets to a mill.kotlinlib.KotlinModule to create test coverage reports.

    This module allows you to generate code coverage reports for Kotlin projects with Kover.

    To declare a module for which you want to generate coverage reports you can mix the KoverModule trait when defining your module. Additionally, you must define a submodule that extends the KoverTests trait that belongs to your instance of KoverModule.

    import mill.kotlinlib.KotlinModule
    import mill.kotlinlib.kover.KoverModule
    
    object foo extends KotlinModule with KoverModule {
      def kotlinVersion = "2.0.20"
    
      object test extends KotlinTests with KoverTests
    }

    In addition to the normal tasks available to your Kotlin module, Kover Module introduce a few new tasks and changes the behavior of an existing one.

    - ./mill foo.test # tests your project and collects metrics on code coverage - ./mill foo.kover.htmlReport # uses the metrics collected by a previous test run to generate a coverage report in html format - ./mill foo.kover.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/kover/koverDataDir.dest/, the html report is saved in out/foo/kover/htmlReport.dest/, and the xml report is saved in out/foo/kover/xmlReport.dest/.

    Definition Classes
    kover
  • JavaModuleTests
  • KotlinTests
  • KoverTests
  • kover
  • millInternal

object kover extends BaseClass with Module with KoverReportBaseModule

Source
KoverModule.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. kover
  2. KoverReportBaseModule
  3. CoursierModule
  4. Module
  5. BaseClass
  6. Cacher
  7. Cacher
  8. AnyRef
  9. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. object millInternal extends Internal

    Miscellaneous machinery around traversing & querying the build hierarchy, that should not be needed by normal users of Mill

    Miscellaneous machinery around traversing & querying the build hierarchy, that should not be needed by normal users of Mill

    Definition Classes
    Module
    Annotations
    @internal()
  2. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  3. final def ##: Int
    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. 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
  7. def cachedTarget[T](t: => T)(implicit c: Enclosing): T
    Attributes
    protected[this]
    Definition Classes
    Cacher → Cacher
  8. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
  9. 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
  10. def defaultResolver: define.Task[Resolver]
    Definition Classes
    CoursierModule
  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  13. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  14. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  15. def htmlReport(): Command[api.PathRef]
  16. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  17. def koverCliClasspath: T[api.Loose.Agg[api.PathRef]]

    Classpath for running Kover.

    Classpath for running Kover.

    Definition Classes
    KoverReportBaseModule
  18. def koverCliDep: Target[Agg[Dep]]
    Definition Classes
    KoverReportBaseModule
  19. 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
  20. 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
  21. implicit def millModuleBasePath: BasePath
    Definition Classes
    Module
  22. def millModuleDirectChildren: Seq[define.Module]
    Definition Classes
    Module
  23. implicit def millModuleExternal: External
    Definition Classes
    Module
  24. implicit def millModuleSegments: Segments
    Definition Classes
    Module
  25. implicit def millModuleShared: Foreign
    Definition Classes
    Module
  26. def millOuterCtx: Ctx
    Definition Classes
    BaseClass
  27. def millSourcePath: Path
    Definition Classes
    Module
  28. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  29. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  30. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  31. 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
  32. 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
  33. 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 in resolutionParams. 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 via ResolutionParams#scalaVersionOpt.

    Definition Classes
    CoursierModule
  34. 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
  35. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  36. def toString(): String
    Definition Classes
    Module → AnyRef → Any
  37. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  38. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  39. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  40. def xmlReport(): Command[api.PathRef]

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

  2. 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

  3. 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

Inherited from KoverReportBaseModule

Inherited from CoursierModule

Inherited from define.Module

Inherited from BaseClass

Inherited from Cacher

Inherited from Cacher

Inherited from AnyRef

Inherited from Any

Ungrouped