mirror of https://github.com/sbt/sbt.git
dump a bit less state on cycles
This commit is contained in:
parent
4f2490d124
commit
4af89d51e1
|
|
@ -5,5 +5,5 @@ object ParentTest extends Build
|
||||||
lazy val parent: Project = Project("Flowmodel", file(".")) aggregate(core, reporters)
|
lazy val parent: Project = Project("Flowmodel", file(".")) aggregate(core, reporters)
|
||||||
lazy val core: Project = Project("Flowmodel core", file("core"), delegates = parent :: Nil)
|
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 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)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -67,7 +67,7 @@ final class Execute[A[_] <: AnyRef](checkCycles: Boolean, triggers: Triggers[A])
|
||||||
assert( !reverse.isEmpty, "Nothing to process." )
|
assert( !reverse.isEmpty, "Nothing to process." )
|
||||||
if( !state.values.exists( _ == Running ) ) {
|
if( !state.values.exists( _ == Running ) ) {
|
||||||
snapshotCycleCheck()
|
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." )
|
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)
|
def call[T](node: A[T], target: A[T])(implicit strategy: Strategy)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ object Task
|
||||||
final case class Task[T](info: Info[T], work: Action[T])
|
final case class Task[T](info: Info[T], work: Action[T])
|
||||||
{
|
{
|
||||||
def original = info.original getOrElse this
|
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.*/
|
/** `original` is used during transformation only.*/
|
||||||
final case class Info[T](attributes: AttributeMap = AttributeMap.empty, original: Option[Task[T]] = None)
|
final case class Info[T](attributes: AttributeMap = AttributeMap.empty, original: Option[Task[T]] = None)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue