From c19f1a4558f4ceac644879c48b297df35c0914cb Mon Sep 17 00:00:00 2001 From: Cedric Beust Date: Thu, 26 Nov 2015 21:09:12 -0800 Subject: [PATCH] Fix bogus output dir. --- .../com/beust/kobalt/plugin/kotlin/KotlinCompiler.kt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/main/kotlin/com/beust/kobalt/plugin/kotlin/KotlinCompiler.kt b/src/main/kotlin/com/beust/kobalt/plugin/kotlin/KotlinCompiler.kt index 174fb089..abf34fa5 100644 --- a/src/main/kotlin/com/beust/kobalt/plugin/kotlin/KotlinCompiler.kt +++ b/src/main/kotlin/com/beust/kobalt/plugin/kotlin/KotlinCompiler.kt @@ -11,7 +11,6 @@ import com.beust.kobalt.maven.DepFactory import com.beust.kobalt.maven.FileDependency import com.beust.kobalt.maven.IClasspathDependency import com.beust.kobalt.maven.LocalRepo -import com.beust.kobalt.misc.KFiles import com.beust.kobalt.misc.KobaltExecutors import com.beust.kobalt.misc.log import com.beust.kobalt.wrapper.ParentLastClassLoader @@ -43,8 +42,14 @@ class KotlinCompiler @Inject constructor(val localRepo : LocalRepo, log(1, " Compiling ${info.sourceFiles.size} files") } val cp = compilerFirst(info.dependencies.map {it.jarFile.get()}) + val outputDir = (info.directory ?: "") + info.outputDir + // kotlinc can accept a jar file as -d (which is super convenient) so only + // create a directory if the output is not a jar file + if (! outputDir.endsWith(".jar")) { + File(outputDir).mkdirs() + } val allArgs : Array = arrayOf( - "-d", KFiles.makeDir(info.directory!!, info.outputDir.path).path, + "-d", outputDir, "-classpath", cp.joinToString(File.pathSeparator), *(info.compilerArgs.toTypedArray()), *(info.sourceFiles.toTypedArray())