1
0
Fork 0
mirror of https://github.com/ethauvin/kobalt.git synced 2025-04-26 16:28:12 -07:00

Task management fixes.

This commit is contained in:
Cedric Beust 2016-04-21 01:31:34 -08:00
parent 62ab568bfb
commit 00e6e4c295

View file

@ -162,7 +162,7 @@ class TaskManager @Inject constructor(val args: Args,
val addEdge = isDependency || (!isDependency && taskNames.contains(it))
log(3, " addEdge: $addEdge $taskName")
if (addEdge) {
nodeMap[it].forEach { to ->
nodeMap[it].filter { it != task }.forEach { to ->
if (reverseEdges) {
log(3, " Adding reverse edge $to -> $task")
result.addEdge(to, task)
@ -170,16 +170,22 @@ class TaskManager @Inject constructor(val args: Args,
log(3, " Adding edge $task -> $to")
result.addEdge(task, to)
}
if (!seen.contains(it)) newToProcess.add(to)
}
seen.add(it)
if (!seen.contains(toName(to))) {
log(3, " New node to process: $to")
newToProcess.add(to)
} else {
log(3, " Already seen: $to")
}
}
}
maybeAddEdge(taskName, reverseDependsOn, true, true)
maybeAddEdge(taskName, dependsOn, true, false)
maybeAddEdge(taskName, runBefore, false, false)
maybeAddEdge(taskName, runAfter, false, true)
}
}
toName(current).let { currentName ->
maybeAddEdge(currentName, reverseDependsOn, true, true)
maybeAddEdge(currentName, dependsOn, true, false)
maybeAddEdge(currentName, runBefore, false, false)
maybeAddEdge(currentName, runAfter, false, true)
}
}
toProcess.clear()
toProcess.addAll(newToProcess)