diff --git a/src/main/kotlin/com/beust/kobalt/Main.kt b/src/main/kotlin/com/beust/kobalt/Main.kt index e2b7d78e..373a8985 100644 --- a/src/main/kotlin/com/beust/kobalt/Main.kt +++ b/src/main/kotlin/com/beust/kobalt/Main.kt @@ -11,6 +11,7 @@ import com.beust.kobalt.kotlin.BuildFile import com.beust.kobalt.kotlin.BuildFileCompiler import com.beust.kobalt.maven.DepFactory import com.beust.kobalt.maven.Http +import com.beust.kobalt.maven.KobaltException import com.beust.kobalt.maven.LocalRepo import com.beust.kobalt.misc.* import com.beust.kobalt.wrapper.Wrapper @@ -94,6 +95,9 @@ private class Main @Inject constructor( // runTest() try { result = runWithArgs(jc, args) + } catch(ex: KobaltException) { + error(ex.message ?: "", ex) + result = 1 } finally { executors.shutdown() } diff --git a/src/main/kotlin/com/beust/kobalt/kotlin/BuildFileCompiler.kt b/src/main/kotlin/com/beust/kobalt/kotlin/BuildFileCompiler.kt index 23f6e43f..e4df9ee7 100644 --- a/src/main/kotlin/com/beust/kobalt/kotlin/BuildFileCompiler.kt +++ b/src/main/kotlin/com/beust/kobalt/kotlin/BuildFileCompiler.kt @@ -96,12 +96,17 @@ public class BuildFileCompiler @Inject constructor(@Assisted("buildFiles") val b } else { log(2, "Need to recompile ${buildFile.name}") + buildScriptJarFile.delete() kotlinCompilePrivate { classpath(files.kobaltJar) classpath(pluginUrls.map { it.file }) sourceFiles(listOf(buildFile.path.toFile().absolutePath)) output = buildScriptJarFile }.compile(context = context) + + if (! buildScriptJarFile.exists()) { + throw KobaltException("Could not compile ${buildFile.name}") + } } } diff --git a/src/main/kotlin/com/beust/kobalt/misc/KobaltLogger.kt b/src/main/kotlin/com/beust/kobalt/misc/KobaltLogger.kt index a3507f42..6fdd6ef6 100644 --- a/src/main/kotlin/com/beust/kobalt/misc/KobaltLogger.kt +++ b/src/main/kotlin/com/beust/kobalt/misc/KobaltLogger.kt @@ -49,11 +49,12 @@ class Logger(val dev: Boolean) { final fun error(tag: String, message: String, e: Throwable? = null) { println(getPattern("***** E", "***** ERROR ", tag, message) + - if (e != null) " Exception: " + e.message else "") - e?.printStackTrace() + if (e != null && KobaltLogger.LOG_LEVEL > 1) " Exception: " + e.message else "") + if (KobaltLogger.LOG_LEVEL > 1) { + e?.printStackTrace() + } } - final fun warn(tag: String, message: String, e: Throwable? = null) = println(getPattern("W", "***** WARNING ${e?.message}", tag, message))