mirror of
https://github.com/ethauvin/kobalt.git
synced 2025-04-26 16:28:12 -07:00
Forgot simple case.
This commit is contained in:
parent
e276f3b6d5
commit
cd77dc39a4
2 changed files with 15 additions and 4 deletions
|
@ -187,6 +187,14 @@ class TaskManager @Inject constructor(val args: Args,
|
||||||
val toProcess = ArrayList(allTaskInfos)
|
val toProcess = ArrayList(allTaskInfos)
|
||||||
val seen = HashSet(allTaskInfos)
|
val seen = HashSet(allTaskInfos)
|
||||||
val newTasks = hashSetOf<TaskInfo>()
|
val newTasks = hashSetOf<TaskInfo>()
|
||||||
|
|
||||||
|
fun maybeAdd(taskInfo: TaskInfo) {
|
||||||
|
if (!seen.contains(taskInfo)) {
|
||||||
|
newTasks.add(taskInfo)
|
||||||
|
seen.add(taskInfo)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
while (toProcess.any()) {
|
while (toProcess.any()) {
|
||||||
toProcess.forEach { ti ->
|
toProcess.forEach { ti ->
|
||||||
val project = projectMap[ti.project]
|
val project = projectMap[ti.project]
|
||||||
|
@ -197,15 +205,17 @@ class TaskManager @Inject constructor(val args: Args,
|
||||||
val tiDep = TaskInfo(depProject.name, ti.taskName)
|
val tiDep = TaskInfo(depProject.name, ti.taskName)
|
||||||
allTaskInfos.add(tiDep)
|
allTaskInfos.add(tiDep)
|
||||||
addEdge(ti, tiDep)
|
addEdge(ti, tiDep)
|
||||||
if (!seen.contains(tiDep)) {
|
maybeAdd(tiDep)
|
||||||
newTasks.add(tiDep)
|
|
||||||
seen.add(tiDep)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
allTaskInfos.add(ti)
|
allTaskInfos.add(ti)
|
||||||
addNode(ti)
|
addNode(ti)
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
// No project specified for this task, run that task in all the projects
|
||||||
|
projects.forEach {
|
||||||
|
maybeAdd(TaskInfo(it.name, ti.taskName))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
toProcess.clear()
|
toProcess.clear()
|
||||||
|
|
|
@ -20,6 +20,7 @@ class BuildOrderTest @Inject constructor(val taskManager: TaskManager) {
|
||||||
@DataProvider
|
@DataProvider
|
||||||
fun tasks(): Array<Array<out Any>> {
|
fun tasks(): Array<Array<out Any>> {
|
||||||
return arrayOf(
|
return arrayOf(
|
||||||
|
arrayOf(listOf("assemble"), listOf("p1:assemble", "p2:assemble", "p3:assemble")),
|
||||||
arrayOf(listOf("p1:assemble"), listOf("p1:assemble")),
|
arrayOf(listOf("p1:assemble"), listOf("p1:assemble")),
|
||||||
arrayOf(listOf("p2:assemble"), listOf("p1:assemble", "p2:assemble")),
|
arrayOf(listOf("p2:assemble"), listOf("p1:assemble", "p2:assemble")),
|
||||||
arrayOf(listOf("p3:assemble"), listOf("p1:assemble", "p2:assemble", "p3:assemble"))
|
arrayOf(listOf("p3:assemble"), listOf("p1:assemble", "p2:assemble", "p3:assemble"))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue