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

Carry over the error messages.

This commit is contained in:
Cedric Beust 2015-12-11 04:48:53 +04:00
parent 1b4abd102c
commit 79401556bf
3 changed files with 6 additions and 4 deletions

View file

@ -10,7 +10,7 @@ import com.google.common.collect.HashMultimap
import java.lang.reflect.InvocationTargetException import java.lang.reflect.InvocationTargetException
import java.util.concurrent.* import java.util.concurrent.*
open class TaskResult2<T>(success: Boolean, val value: T) : TaskResult(success) { open class TaskResult2<T>(success: Boolean, errorMessage: String?, val value: T) : TaskResult(success, errorMessage) {
override fun toString() = toString("TaskResult", "value", value, "success", success) override fun toString() = toString("TaskResult", "value", value, "success", success)
} }

View file

@ -281,7 +281,7 @@ public class TaskManager @Inject constructor(val args: Args) {
object : BasePluginTask(plugin, name, description, project) { object : BasePluginTask(plugin, name, description, project) {
override fun call(): TaskResult2<PluginTask> { override fun call(): TaskResult2<PluginTask> {
val taskResult = task(project) val taskResult = task(project)
return TaskResult2(taskResult.success, this) return TaskResult2(taskResult.success, taskResult.errorMessage, this)
} }
}) })
runBefore.forEach { runBefore(it, name) } runBefore.forEach { runBefore(it, name) }
@ -307,11 +307,13 @@ class TaskWorker(val tasks: List<PluginTask>, val dryRun: Boolean) : IWorker<Plu
} }
} }
var success = true var success = true
val errorMessages = arrayListOf<String>()
tasks.forEach { tasks.forEach {
val tr = if (dryRun) TaskResult() else it.call() val tr = if (dryRun) TaskResult() else it.call()
success = success and tr.success success = success and tr.success
if (tr.errorMessage != null) errorMessages.add(tr.errorMessage)
} }
return TaskResult2(success, tasks[0]) return TaskResult2(success, errorMessages.joinToString("\n"), tasks[0])
} }
// override val timeOut : Long = 10000 // override val timeOut : Long = 10000

View file

@ -31,7 +31,7 @@ public class DynamicGraphTest {
override fun call() : TaskResult2<T> { override fun call() : TaskResult2<T> {
log(2, "Running node $n") log(2, "Running node $n")
runNodes.add(n) runNodes.add(n)
return TaskResult2(errorFunction(n), n) return TaskResult2(errorFunction(n), null, n)
} }
} }