sbt/tasks/Node.scala

21 lines
462 B
Scala

/* sbt -- Simple Build Tool
* Copyright 2010 Mark Harrah
*/
package sbt
import Types._
/** Represents a task node in a format understood by the task evaluation engine Execute.
*
* @tparam A the task type constructor
* @tparam T the type computed by this node */
trait Node[A[_], T]
{
type K[L[x]]
val in: K[A]
val alist: AList[K]
/** Computes the result of this task given the results from the inputs. */
def work(inputs: K[Result]): Either[A[T], T]
}