mirror of
https://github.com/ethauvin/kobalt.git
synced 2025-04-26 00:17:11 -07:00
solved problem with reversed references in graph
This commit is contained in:
parent
9436ad1b88
commit
6614bb203c
4 changed files with 28 additions and 15 deletions
9
.idea/libraries/kobalt_jar.xml
generated
Normal file
9
.idea/libraries/kobalt_jar.xml
generated
Normal file
|
@ -0,0 +1,9 @@
|
|||
<component name="libraryTable">
|
||||
<library name="kobalt.jar">
|
||||
<CLASSES>
|
||||
<root url="jar://$USER_HOME$/.kobalt/wrapper/dist/kobalt-0.756/kobalt/wrapper/kobalt-0.756.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</component>
|
Binary file not shown.
|
@ -216,22 +216,25 @@ class TaskManager @Inject constructor(val args: Args,
|
|||
|
||||
while (toProcess.size > 0) {
|
||||
log(3, " New batch of nodes to process: $toProcess")
|
||||
toProcess.forEach { current ->
|
||||
toProcess.filter { !seen.contains(toName(it)) }.forEach { current ->
|
||||
result.addNode(current)
|
||||
seen.add(toName(current))
|
||||
|
||||
// if (! maybeAddEdge(current, invertedDependsOn, true, true)) {
|
||||
if (! maybeAddEdge(current, invertedDependsOn, true, true)) {
|
||||
maybeAddEdge(current, dependsOn, true, false)
|
||||
// }
|
||||
// if (! maybeAddEdge(current, invertedRunAfter, false, true)) {
|
||||
}
|
||||
if (! maybeAddEdge(current, invertedRunAfter, false, true)) {
|
||||
maybeAddEdge(current, runAfter, false, false)
|
||||
// }
|
||||
if (! maybeAddEdge(current, invertedReverseDependsOn, true, false)) {
|
||||
maybeAddEdge(current, reverseDependsOn, true, true)
|
||||
}
|
||||
if (! maybeAddEdge(current, invertedRunBefore, false, false)) {
|
||||
maybeAddEdge(current, runBefore, false, true)
|
||||
if (! maybeAddEdge(current, reverseDependsOn, true, true)) {
|
||||
maybeAddEdge(current, invertedReverseDependsOn, true, false)
|
||||
}
|
||||
if (! maybeAddEdge(current, runBefore, false, true)) {
|
||||
maybeAddEdge(current, invertedRunBefore, false, false)
|
||||
}
|
||||
|
||||
newToProcess.addAll(dependsOn[toName(current)].flatMap { nodeMap[it] })
|
||||
return@forEach Unit
|
||||
}
|
||||
toProcess.clear()
|
||||
toProcess.addAll(newToProcess)
|
||||
|
@ -412,4 +415,4 @@ class TaskWorker(val tasks: List<ITask>, val dryRun: Boolean, val messages: Muta
|
|||
// override val timeOut : Long = 10000
|
||||
|
||||
override val priority: Int = 0
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package com.beust.kobalt.internal
|
||||
|
||||
import com.beust.kobalt.TestModule
|
||||
import com.beust.kobalt.misc.KobaltLogger
|
||||
import com.google.common.collect.ArrayListMultimap
|
||||
import com.google.common.collect.Multimap
|
||||
import com.google.common.collect.TreeMultimap
|
||||
|
@ -152,19 +153,19 @@ class TaskManagerTest @Inject constructor(val taskManager: TaskManager) {
|
|||
|
||||
@Test
|
||||
fun jacocoTest() {
|
||||
// KobaltLogger.LOG_LEVEL = 3
|
||||
val runTasks = runTasks(listOf("test"),
|
||||
dependsOn = TreeMultimap.create<String, String>().apply {
|
||||
put("coverage", "test")
|
||||
put("test", "compileTest")
|
||||
put("test", "compile")
|
||||
put("compileTest", "compile")
|
||||
},
|
||||
reverseDependsOn = TreeMultimap.create<String, String>().apply {
|
||||
put("coverage", "test")
|
||||
put("enableJacoco", "test")
|
||||
put("compileTest", "enableJacoco")
|
||||
})
|
||||
Assert.assertTrue(runTasks[0] == "coverage" && runTasks[1] == "compile"
|
||||
|| runTasks[1] == "coverage" && runTasks[0] == "compile")
|
||||
Assert.assertEquals(runTasks[2], "compileTest")
|
||||
Assert.assertEquals(runTasks[3], "test")
|
||||
Assert.assertTrue(runTasks == listOf("compile", "compileTest", "enableJacoco", "test", "coverage"))
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue