dump a bit less state on cycles

This commit is contained in:
Mark Harrah 2011-06-12 21:32:51 -04:00
parent 4f2490d124
commit 4af89d51e1
3 changed files with 4 additions and 3 deletions

View File

@ -5,5 +5,5 @@ object ParentTest extends Build
lazy val parent: Project = Project("Flowmodel", file(".")) aggregate(core, reporters)
lazy val core: Project = Project("Flowmodel core", file("core"), delegates = parent :: Nil)
lazy val reporters: Project = Project("Extra reporters", file("reporters"), delegates = parent :: Nil) aggregate(jfreechart) dependsOn(jfreechart)
lazy val jfreechart: Project = Project("JFreeChart reporters", file("jfreechart"), delegates = reporters :: Nil) dependsOn(core)
lazy val jfreechart: Project = Project("JFreeChart reporters", file("jfreechart")/*, delegates = reporters :: Nil*/) dependsOn(core)
}

View File

@ -67,7 +67,7 @@ final class Execute[A[_] <: AnyRef](checkCycles: Boolean, triggers: Triggers[A])
assert( !reverse.isEmpty, "Nothing to process." )
if( !state.values.exists( _ == Running ) ) {
snapshotCycleCheck()
assert(false, "Internal task engine error: nothing running. This usually indicates a cycle in tasks.\n Dumping state:\n" + state.mkString("\n\t"))
assert(false, "Internal task engine error: nothing running. This usually indicates a cycle in tasks.\n Calling tasks (internal task engine state):\n" + dumpCalling)
}
}
@ -81,6 +81,7 @@ final class Execute[A[_] <: AnyRef](checkCycles: Boolean, triggers: Triggers[A])
assert( complete, "Not all state was Done." )
}
}
def dumpCalling: String = state.filter(_._2 == Calling).mkString("\n\t")
def call[T](node: A[T], target: A[T])(implicit strategy: Strategy)
{

View File

@ -25,7 +25,7 @@ object Task
final case class Task[T](info: Info[T], work: Action[T])
{
def original = info.original getOrElse this
override def toString = info.name orElse original.info.name getOrElse ("Task(" + info + ", " + work + ")")
override def toString = info.name orElse original.info.name getOrElse ("Task(" + info + ")")
}
/** `original` is used during transformation only.*/
final case class Info[T](attributes: AttributeMap = AttributeMap.empty, original: Option[Task[T]] = None)