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 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)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Reference in New Issue