class TaskBase extends Applyer[Task, Task, Result, api.Ctx] with TraverseCtxHolder
The mill.define.Target companion object, usually aliased as T,
provides most of the helper methods and macros used to build task graphs.
methods like T.
apply, T.
sources, T.
command allow you to
define the tasks, while methods like T.
dest, T.
log or
T.
env provide the core APIs that are provided to a task implementation
- Source
- Task.scala
- Alphabetic
- By Inheritance
- TaskBase
- TraverseCtxHolder
- Applyer
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new TaskBase()
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 args(implicit ctx: api.Ctx.Args): IndexedSeq[_]
Returns the implicit mill.api.Ctx.Args.args in scope.
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
- def ctx()(implicit c: api.Ctx): api.Ctx
- Definition Classes
- Applyer
- def dest(implicit ctx: Dest): Path
T.dest
is a uniqueos.Path
(e.g.T.dest
is a uniqueos.Path
(e.g.out/classFiles.dest/
orout/run.dest/
) that is assigned to every Target or Command. It is cleared before your task runs, and you can use it as a scratch space for temporary files or a place to put returned artifacts. This is guaranteed to be unique for every Target or Command, so you can be sure that you will not collide or interfere with anyone else writing to those same paths. - def env(implicit ctx: Env): Map[String, String]
T.env
is the environment variable map passed to the Mill command when it is run; typically used inside aTask.Input
to ensure any changes in the env vars are properly detected.T.env
is the environment variable map passed to the Mill command when it is run; typically used inside aTask.Input
to ensure any changes in the env vars are properly detected.Note that you should not use
sys.env
, as Mill's long-lived server process means thatsys.env
variables may not be up to date. - final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def fork(implicit ctx: api.Ctx): Api
Provides the
.fork.async
and.fork.await
APIs for spawning and joining async futures within your task in a Mill-friendly manner. - final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def home(implicit ctx: Home): Path
Returns the implicit mill.api.Ctx.Home.home in scope.
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def log(implicit ctx: Log): Logger
T.log
is the default logger provided for every task.T.log
is the default logger provided for every task. While your task is running,System.out
andSystem.in
are also redirected to this logger. The logs for a task are streamed to standard out/error as you would expect, but each task's specific output is also streamed to a log file on disk, e.g.out/run.log
orout/classFiles.log
for you to inspect later.Messages logged with
log.debug
appear by default only in the log files. You can use the--debug
option when running mill to show them on the console too. - 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 reporter(implicit ctx: api.Ctx): (Int) => Option[CompileProblemReporter]
Report build results to BSP for IDE integration
- def sequence[T](source: Seq[Task[T]]): Task[Seq[T]]
Converts a
Seq[Task[T]]
into aTask[Seq[T]]
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def testReporter(implicit ctx: api.Ctx): TestReporter
Report test results to BSP for IDE integration
- def toString(): String
- Definition Classes
- AnyRef → Any
- def traverse[T, V](source: Seq[T])(f: (T) => Task[V]): Task[Seq[V]]
Converts a
Seq[T]
into aTask[Seq[V]]
using the givenf: T => Task[V]
- def traverseCtx[I, R](xs: Seq[Task[I]])(f: (IndexedSeq[I], api.Ctx) => Result[R]): Task[R]
A variant of traverse that also provides the mill.api.Ctx to the function f
A variant of traverse that also provides the mill.api.Ctx to the function f
- Definition Classes
- TraverseCtxHolder
- 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 workspace(implicit ctx: api.Ctx): Path
This is the
os.Path
pointing to the project root directory.This is the
os.Path
pointing to the project root directory.This is the preferred access to the project directory, and should always be preferred over
os.pwd
* (which might also point to the project directory in classic cli scenarios, but might not in other use cases like BSP or LSP server usage).
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)