Packages

case class Evaluator(home: Path, outPath: Path, externalOutPath: Path, rootModule: BaseModule, log: Logger, 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. If false, 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.

Linear Supertypes
Serializable, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Evaluator
  2. Serializable
  3. Product
  4. Equals
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new Evaluator(home: Path, outPath: Path, externalOutPath: Path, rootModule: BaseModule, log: Logger, 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. If false, 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

  1. class ParallelEvaluator extends AnyRef

    This class encapsulates the whole execution logic of the multi-threaded task evaluator.

  2. 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

  3. 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

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. val classLoaderSig: Seq[(Either[String, URL], Long)]
  6. val classLoaderSignHash: Int
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  8. def destSegments(labelledTask: Labelled[_]): Segments
  9. val effectiveThreadCount: Int
  10. val env: Map[String, String]
  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. def evaluate(goals: api.Strict.Agg[Task[_]], reporter: (Int) => Option[BuildProblemReporter] = (int: Int) => Option.empty[BuildProblemReporter], testReporter: TestReporter = DummyTestReporter, logger: Logger = log): 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

  13. 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
  14. def evaluateGroupCached(terminal: Terminal, group: api.Strict.Agg[Task[_]], results: Map[Task[_], Result[(Any, Int)]], counterMsg: String, zincProblemReporter: (Int) => Option[BuildProblemReporter], testReporter: TestReporter, logger: Logger): Evaluated
    Attributes
    protected
  15. val externalOutPath: Path
  16. val failFast: Boolean
  17. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  18. def handleTaskResult(v: Any, hashCode: Int, metaPath: Path, inputsHash: Int, labelledNamedTask: Labelled[_]): Unit
  19. val home: Path
  20. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  21. val log: Logger
  22. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  23. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  24. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  25. val outPath: Path
  26. def printTerm(term: Terminal): String
  27. def productElementNames: Iterator[String]
    Definition Classes
    Product
  28. def resolveLogger(logPath: Option[Path], logger: Logger): Logger
  29. val rootModule: BaseModule
  30. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  31. val threadCount: Option[Int]
  32. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  33. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  34. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  35. val workerCache: Map[Segments, (Int, Any)]

Deprecated Value Members

  1. 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.

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped