EvaluatorImpl

mill.eval.EvaluatorImpl
final class EvaluatorImpl(val allowPositionalCommandArgs: Boolean, val selectiveExecution: Boolean, execution: Execution, val scriptModuleInit: (String, Evaluator) => Seq[Result[ExternalModule]]) extends Evaluator

EvaluatorImpl is the primary API through which a user interacts with the Mill evaluation process. The various phases of evaluation as methods they can call:

  1. resolveSegments/resolveTasks
  2. plan
  3. execute/execute,

As well as evaluate which does all of these phases one after another

Attributes

Source
EvaluatorImpl.scala
Graph
Supertypes
trait Evaluator
trait EvaluatorApi
trait AutoCloseable
class Object
trait Matchable
class Any
Show all

Members list

Value members

Constructors

def this(allowPositionalCommandArgs: Boolean, selectiveExecution: Boolean, execution: Execution)

Attributes

Source
EvaluatorImpl.scala

Concrete methods

override def areAllNonBootstrapped(scriptArgs: Seq[String], selectMode: SelectMode, allowPositionalCommandArgs: Boolean): Result[Boolean]

Resolves tasks using resolveRaw and checks if all of them are marked with @nonBootstrapped annotation. Used by MillBuildBootstrap to determine if we can short-circuit the bootstrap process. Uses resolveRaw instead of resolveTasks to avoid instantiating the tasks.

Resolves tasks using resolveRaw and checks if all of them are marked with @nonBootstrapped annotation. Used by MillBuildBootstrap to determine if we can short-circuit the bootstrap process. Uses resolveRaw instead of resolveTasks to avoid instantiating the tasks.

Returns false if any selector contains wildcards (_ or __) since wildcards could resolve to many tasks and we shouldn't short-circuit for those.

Attributes

Definition Classes
Source
EvaluatorImpl.scala

Attributes

Source
EvaluatorImpl.scala
override def classLoaderSigHash: Int

Attributes

Definition Classes
Source
EvaluatorImpl.scala
def close(): Unit

Attributes

Source
EvaluatorImpl.scala
def codeSignatures: Map[String, Int]

Attributes

Source
EvaluatorImpl.scala

Attributes

Source
EvaluatorImpl.scala
def env: Map[String, String]

Attributes

Source
EvaluatorImpl.scala
def evaluate(scriptArgs: Seq[String], selectMode: SelectMode, reporter: Int => Option[CompileProblemReporter] = ..., selectiveExecution: Boolean = ...): Result[Result[Any]]

Evaluates the given query selector, performing resolveTasks and execute internally, and returning the Evaluator.Result containing the output

Evaluates the given query selector, performing resolveTasks and execute internally, and returning the Evaluator.Result containing the output

Attributes

Source
EvaluatorImpl.scala
def execute[T](tasks: Seq[Task[T]], reporter: Int => Option[CompileProblemReporter] = ..., testReporter: TestReporter = ..., logger: Logger = ..., serialCommandExec: Boolean = ..., selectiveExecution: Boolean = ...): Result[T]

Attributes

Source
EvaluatorImpl.scala
def groupAroundImportantTasks[T](topoSortedTasks: TopoSorted)(important: PartialFunction[Task[_], T]): MultiBiMap[T, Task[_]]

Attributes

Source
EvaluatorImpl.scala
override def offline: Boolean

Attributes

Definition Classes
Source
EvaluatorImpl.scala
def outPath: Path

Attributes

Source
EvaluatorImpl.scala
def plan(tasks: Seq[Task[_]]): Plan

Takes a sequence of Tasks and returns a PlanImpl containing the transitive upstream tasks necessary to evaluate those provided.

Takes a sequence of Tasks and returns a PlanImpl containing the transitive upstream tasks necessary to evaluate those provided.

Attributes

Source
EvaluatorImpl.scala
def resolveModulesOrTasks(scriptArgs: Seq[String], selectMode: SelectMode, allowPositionalCommandArgs: Boolean = ..., resolveToModuleTasks: Boolean = ...): Result[List[Either[Module, Named[_]]]]

Attributes

Source
EvaluatorImpl.scala
override def resolveRaw(scriptArgs: Seq[String], selectMode: SelectMode, allowPositionalCommandArgs: Boolean = ..., resolveToModuleTasks: Boolean = ...): Result[List[Resolved]]

Attributes

Definition Classes
Source
EvaluatorImpl.scala
def resolveSegments(scriptArgs: Seq[String], selectMode: SelectMode, allowPositionalCommandArgs: Boolean = ..., resolveToModuleTasks: Boolean = ...): Result[List[Segments]]

Takes query selector tokens and resolves them to a list of Segments representing concrete tasks or modules that match that selector

Takes query selector tokens and resolves them to a list of Segments representing concrete tasks or modules that match that selector

Attributes

Source
EvaluatorImpl.scala
def resolveTasks(scriptArgs: Seq[String], selectMode: SelectMode, allowPositionalCommandArgs: Boolean = ..., resolveToModuleTasks: Boolean = ...): Result[List[Named[_]]]

Takes query selector tokens and resolves them to a list of Task.Nameds representing concrete tasks or modules that match that selector

Takes query selector tokens and resolves them to a list of Task.Nameds representing concrete tasks or modules that match that selector

Attributes

Source
EvaluatorImpl.scala

Attributes

Source
EvaluatorImpl.scala
override def spanningInvalidationTree: Option[String]

Attributes

Definition Classes
Source
EvaluatorImpl.scala
def topoSorted(transitiveTasks: IndexedSeq[Task[_]]): TopoSorted

Takes the given tasks, finds all the tasks they transitively depend on, and sort them topologically. Fails if there are dependency cycles

Takes the given tasks, finds all the tasks they transitively depend on, and sort them topologically. Fails if there are dependency cycles

Attributes

Source
EvaluatorImpl.scala
def transitiveTasks(sourceTasks: Seq[Task[_]]): IndexedSeq[Task[_]]

Collects all transitive dependencies (tasks) of the given tasks, including the given tasks.

Collects all transitive dependencies (tasks) of the given tasks, including the given tasks.

Attributes

Source
EvaluatorImpl.scala
override def useFileLocks: Boolean

Attributes

Definition Classes
Source
EvaluatorImpl.scala
def validateModuleOverrides(allModules: Seq[Wrapper]): Seq[Failure]

Attributes

Source
EvaluatorImpl.scala
def withBaseLogger(newBaseLogger: Logger): Evaluator

Attributes

Source
EvaluatorImpl.scala
override def withIsFinalDepth(isFinalDepth: Boolean): EvaluatorImpl

Returns a copy of this evaluator with the isFinalDepth flag set to the given value. Used to defer the decision of whether this is the final depth until after determining if we should short-circuit for @nonBootstrapped tasks.

Returns a copy of this evaluator with the isFinalDepth flag set to the given value. Used to defer the decision of whether this is the final depth until after determining if we should short-circuit for @nonBootstrapped tasks.

Attributes

Definition Classes
Source
EvaluatorImpl.scala
def workerCache: Map[String, (Int, Val, TaskApi[_])]

Attributes

Source
EvaluatorImpl.scala
def workspace: Path

Attributes

Source
EvaluatorImpl.scala

Concrete fields

Attributes

Source
EvaluatorImpl.scala
override val scriptModuleInit: (String, Evaluator) => Seq[Result[ExternalModule]]

Attributes

Source
EvaluatorImpl.scala
val selective: SelectiveExecution

APIs related to selective execution

APIs related to selective execution

Attributes

Source
EvaluatorImpl.scala
val selectiveExecution: Boolean

Attributes

Source
EvaluatorImpl.scala
override val staticBuildOverrides: Map[String, Located[Appendable[BufferedValue]]]

Attributes

Source
EvaluatorImpl.scala