trait ZincWorkerModule extends BaseClass with Module with OfflineSupportModule with CoursierModule
A module managing an in-memory Zinc Scala incremental compiler
- Source
- ZincWorkerModule.scala
- Alphabetic
- By Inheritance
- ZincWorkerModule
- CoursierModule
- OfflineSupportModule
- 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 backgroundWrapperClasspath: T[Agg[api.PathRef]]
- def bindDependency: define.Task[(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 classpath: T[Agg[api.PathRef]]
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
- def compilerInterfaceClasspath(scalaVersion: String, scalaOrganization: String, repositories: Seq[Repository]): Result[Agg[api.PathRef]]
- 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
- 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 javaHome: T[Option[api.PathRef]]
Optional custom Java Home for the ZincWorker to use
Optional custom Java Home for the ZincWorker to use
If this value is None, then the ZincWorker uses the same Java used to run the current mill instance.
- def jvmId: define.Target[String]
- def jvmIndexVersion: define.Target[String]
- 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.
- Definition Classes
- CoursierModule
- 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 overrideScalaLibrary(scalaVersion: String, scalaOrganization: String)(dep: coursier.Dependency): coursier.Dependency
- def prepareOffline(all: Flag): Command[Unit]
Prepare the module for working offline.
Prepare the module for working offline. This should typically fetch (missing) resources like ivy dependencies.
- all
If
true
, it also fetches resources not always needed.
- Definition Classes
- ZincWorkerModule → OfflineSupportModule
- def prepareOfflineCompiler(scalaVersion: String, scalaOrganization: String): Command[Unit]
- 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
.- 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
- def scalaCompilerBridgeJar(scalaVersion: String, scalaOrganization: String, repositories: Seq[Repository]): Result[(Option[Agg[api.PathRef]], api.PathRef)]
- def scalalibClasspath: T[Agg[api.PathRef]]
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def testrunnerEntrypointClasspath: T[Agg[api.PathRef]]
- 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])
- def worker: Worker[ZincWorkerApi]
- def zincLogDebug: T[Boolean]
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]
- 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