diff --git a/src/main/kotlin/com/beust/kobalt/internal/JvmCompilerPlugin.kt b/src/main/kotlin/com/beust/kobalt/internal/JvmCompilerPlugin.kt index c6713667..e6f69a92 100644 --- a/src/main/kotlin/com/beust/kobalt/internal/JvmCompilerPlugin.kt +++ b/src/main/kotlin/com/beust/kobalt/internal/JvmCompilerPlugin.kt @@ -110,6 +110,14 @@ abstract public class JvmCompilerPlugin @Inject constructor( lp(project, "No resources to copy for ${sourceSet}") } } + + protected fun validateClasspath(cp: List) { + cp.forEach { + if (! File(it).exists()) { + throw KobaltException("Couldn't find $it") + } + } + } } diff --git a/src/main/kotlin/com/beust/kobalt/plugin/java/JavaPlugin.kt b/src/main/kotlin/com/beust/kobalt/plugin/java/JavaPlugin.kt index 39ed8033..a575f653 100644 --- a/src/main/kotlin/com/beust/kobalt/plugin/java/JavaPlugin.kt +++ b/src/main/kotlin/com/beust/kobalt/plugin/java/JavaPlugin.kt @@ -51,8 +51,10 @@ public class JavaPlugin @Inject constructor( javac!!.absolutePath, "-d", outputDirectory.absolutePath) if (cpList.size() > 0) { + val stringClasspath = cpList.map { it.jarFile.get().absolutePath } + validateClasspath(stringClasspath) args.add("-classpath") - args.add(cpList.map { it.jarFile.get().absolutePath }.join(File.pathSeparator)) + args.add(stringClasspath.join(File.pathSeparator)) } args.addAll(sourceFiles) 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 8a8ad72e..069288cd 100644 --- a/src/main/kotlin/com/beust/kobalt/plugin/kotlin/KotlinCompiler.kt +++ b/src/main/kotlin/com/beust/kobalt/plugin/kotlin/KotlinCompiler.kt @@ -48,6 +48,8 @@ class KotlinCompiler @Inject constructor(override val localRepo : LocalRepo, classpathList.addAll(otherClasspath) classpathList.addAll(calculateClasspath(compileDependencies).map { it.id }) + validateClasspath(classpathList) + log(2, "Compiling ${source.size()} files with classpath:\n " + classpathList.join("\n ")) K2JVMCompiler.main(arrayOf( "-d", output,