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

solved problem with reversed references in graph

This commit is contained in:
Kevin Mas Ruiz 2016-05-03 18:38:10 +02:00
parent 9436ad1b88
commit 6614bb203c
4 changed files with 28 additions and 15 deletions

9
.idea/libraries/kobalt_jar.xml generated Normal file
View 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.

View file

@ -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)

View file

@ -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