trait CoursierModule extends BaseClass with Module
This module provides the capability to resolve (transitive) dependencies from (remote) repositories.
It's mainly used in JavaModule, but can also be used stand-alone, in which case you must provide repositories by overriding CoursierModule.repositoriesTask.
- Source
- CoursierModule.scala
- Alphabetic
- By Inheritance
- CoursierModule
- Module
- BaseClass
- Cacher
- Cacher
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
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[(Dep) => BoundDep]
Bind a dependency (Dep) to the actual module context (e.g.
- 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)) ) }
- def defaultResolver: define.Task[Resolver]
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def mapDependencies: define.Task[(coursier.Dependency) => coursier.Dependency]
Map dependencies before resolving them.
Map dependencies before resolving them. Override this to customize the set of dependencies.
- implicit def millModuleBasePath: BasePath
- Definition Classes
- Module
- def 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
- BaseClass
- def millSourcePath: Path
- Definition Classes
- 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().
- 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)) ) }
- 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
. - 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.
- 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])
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[(Dep) => coursier.Dependency]
- 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]]
- Annotations
- @deprecated
- Deprecated
(Since version Mill after 0.12.0-RC3) Use the override accepting artifactTypes