case class Evaluator(home: Path, outPath: Path, externalOutPath: Path, rootModule: BaseModule, baseLogger: ColorLogger, classLoaderSig: Seq[(Either[String, URL], Long)] = Evaluator.classLoaderSig, workerCache: Map[Segments, (Int, Any)] = mutable.Map.empty, env: Map[String, String] = Evaluator.defaultEnv, failFast: Boolean = true, threadCount: Option[Int] = Some(1)) extends Product with Serializable
Evaluate tasks.
- outPath
The output base path.
- externalOutPath
The output base path to use for external modules.
- rootModule
The projects root module.
- workerCache
Mutable worker cache.
- failFast
If
true
the first failing task will fail the evaluation. Iffalse
, it tries to evaluate all tasks, running longer and reporting possibly more than one failure.- threadCount
If a Some the explicit number of threads to use for parallel task evaluation, or None to use n threads where n is the number of available logical processors.
- Alphabetic
- By Inheritance
- Evaluator
- Serializable
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new Evaluator(home: Path, outPath: Path, externalOutPath: Path, rootModule: BaseModule, baseLogger: ColorLogger, classLoaderSig: Seq[(Either[String, URL], Long)] = Evaluator.classLoaderSig, workerCache: Map[Segments, (Int, Any)] = mutable.Map.empty, env: Map[String, String] = Evaluator.defaultEnv, failFast: Boolean = true, threadCount: Option[Int] = Some(1))
- outPath
The output base path.
- externalOutPath
The output base path to use for external modules.
- rootModule
The projects root module.
- workerCache
Mutable worker cache.
- failFast
If
true
the first failing task will fail the evaluation. Iffalse
, it tries to evaluate all tasks, running longer and reporting possibly more than one failure.- threadCount
If a Some the explicit number of threads to use for parallel task evaluation, or None to use n threads where n is the number of available logical processors.
Type Members
- type Terminal = Either[Task[_], Labelled[Any]]
A terminal or terminal target is some important work unit, that in most cases has a name (Right[Labelled]) or was directly called by the user (Left[Task]).
A terminal or terminal target is some important work unit, that in most cases has a name (Right[Labelled]) or was directly called by the user (Left[Task]). It's a T, T.worker, T.input, T.source, T.sources, T.persistent
- type TerminalGroup = (Terminal, api.Strict.Agg[Task[_]])
A terminal target with all it's inner tasks.
A terminal target with all it's inner tasks. To implement a terminal target, one can delegate to other/inner tasks (T.task), those are contained in the 2nd parameter of the tuple.
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
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- val baseLogger: ColorLogger
- val classLoaderSig: Seq[(Either[String, URL], Long)]
- val classLoaderSignHash: Int
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- def destSegments(labelledTask: Labelled[_]): Segments
- val effectiveThreadCount: Int
- val env: Map[String, String]
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def evaluate(goals: api.Strict.Agg[Task[_]], reporter: (Int) => Option[BuildProblemReporter] = (int: Int) => Option.empty[BuildProblemReporter], testReporter: TestReporter = DummyTestReporter, logger: ColorLogger = baseLogger): Results
- goals
The tasks that need to be evaluated
- reporter
A function that will accept a module id and provide a listener for build problems in that module
- testReporter
Listener for test events like start, finish with success/error
- def evaluateGroup(group: api.Strict.Agg[Task[_]], results: Map[Task[_], Result[(Any, Int)]], inputsHash: Int, paths: Option[Paths], maybeTargetLabel: Option[String], counterMsg: String, reporter: (Int) => Option[BuildProblemReporter], testReporter: TestReporter, logger: Logger): (LinkedHashMap[Task[_], Result[(Any, Int)]], Buffer[Task[_]])
- Attributes
- protected
- def evaluateGroupCached(terminal: Terminal, group: api.Strict.Agg[Task[_]], results: Map[Task[_], Result[(Any, Int)]], counterMsg: String, zincProblemReporter: (Int) => Option[BuildProblemReporter], testReporter: TestReporter, logger: ColorLogger): Evaluated
- Attributes
- protected
- val externalOutPath: Path
- val failFast: Boolean
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def getFailing(sortedGroups: MultiBiMap[Either[Task[_], Labelled[Any]], Task[_]], results: Map[Task[_], Result[(Any, Int)]]): Mutable[Either[Task[_], Labelled[_]], Failing[_]]
- def handleTaskResult(v: Any, hashCode: Int, metaPath: Path, inputsHash: Int, labelledNamedTask: Labelled[_]): Unit
- val home: Path
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- val outPath: Path
- def parallelEvaluate(goals: api.Strict.Agg[Task[_]], threadCount: Int, logger: ColorLogger, reporter: (Int) => Option[BuildProblemReporter] = (int: Int) => Option.empty[BuildProblemReporter], testReporter: TestReporter = DummyTestReporter): Results
- def printTerm(term: Terminal): String
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- def resolveLogger(logPath: Option[Path], logger: Logger): Logger
- val rootModule: BaseModule
- def sequentialEvaluate(goals: api.Strict.Agg[Task[_]], logger: ColorLogger, reporter: (Int) => Option[BuildProblemReporter] = (int: Int) => Option.empty[BuildProblemReporter], testReporter: TestReporter = DummyTestReporter): Results
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- val threadCount: Option[Int]
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- 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()
- val workerCache: Map[Segments, (Int, Any)]
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated @deprecated
- Deprecated
(Since version ) see corresponding Javadoc for more information.