diff --git a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/internal/DynamicGraph.kt b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/internal/DynamicGraph.kt index 81a50616..75f8403e 100644 --- a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/internal/DynamicGraph.kt +++ b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/internal/DynamicGraph.kt @@ -6,6 +6,7 @@ import com.beust.kobalt.TaskResult import com.beust.kobalt.misc.NamedThreadFactory import com.beust.kobalt.misc.error import com.beust.kobalt.misc.kobaltLog +import com.beust.kobalt.misc.warn import com.google.common.collect.HashMultimap import java.lang.reflect.InvocationTargetException import java.util.* @@ -351,8 +352,13 @@ class DynamicGraphExecutor(val graph : DynamicGraph, val factory: IThreadW if (line.start) { projectStart[line.name] = line.timestamp } else { - duration = " (" + ((line.timestamp - projectStart[line.name]!!) / 1000) - .toInt().toString() + ")" + val projectStart = projectStart[line.name] + if (projectStart != null) { + duration = " (" + ((line.timestamp - projectStart) / 1000) + .toInt().toString() + ")" + } else { + warn("Couldn't determine project start: " + line.name) + } } row.add((line.name + duration)) } else {