1
0
Fork 0
mirror of https://github.com/ethauvin/kobalt.git synced 2025-04-27 08:38:13 -07:00

Handle build errors better.

This commit is contained in:
Cedric Beust 2016-04-01 02:31:51 -08:00
parent f7b92c4787
commit 182a9c09e2

View file

@ -1,5 +1,6 @@
package com.beust.kobalt.app package com.beust.kobalt.app
import com.beust.kobalt.KobaltException
import com.beust.kobalt.Plugins import com.beust.kobalt.Plugins
import com.beust.kobalt.api.KobaltContext import com.beust.kobalt.api.KobaltContext
import com.beust.kobalt.api.Project import com.beust.kobalt.api.Project
@ -108,7 +109,7 @@ class ParsedBuildFile(val buildFile: BuildFile, val context: KobaltContext, val
if (! buildScriptUtil.isUpToDate(buildFile, File(buildScriptJar))) { if (! buildScriptUtil.isUpToDate(buildFile, File(buildScriptJar))) {
buildScriptJarFile.parentFile.mkdirs() buildScriptJarFile.parentFile.mkdirs()
generateJarFile(context, BuildFile(Paths.get(pluginSourceFile.path), "Plugins", generateJarFile(context, BuildFile(Paths.get(pluginSourceFile.path), "Plugins",
Paths.get(buildScriptJar)), buildScriptJarFile) Paths.get(buildScriptJar)), buildScriptJarFile, buildFile)
VersionFile.generateVersionFile(buildScriptJarFile.parentFile) VersionFile.generateVersionFile(buildScriptJarFile.parentFile)
} }
@ -125,15 +126,20 @@ class ParsedBuildFile(val buildFile: BuildFile, val context: KobaltContext, val
} }
} }
private fun generateJarFile(context: KobaltContext, buildFile: BuildFile, buildScriptJarFile: File) { private fun generateJarFile(context: KobaltContext, buildFile: BuildFile, buildScriptJarFile: File,
originalFile: BuildFile) {
val kotlintDeps = dependencyManager.calculateDependencies(null, context) val kotlintDeps = dependencyManager.calculateDependencies(null, context)
val deps: List<String> = kotlintDeps.map { it.jarFile.get().absolutePath } val deps: List<String> = kotlintDeps.map { it.jarFile.get().absolutePath }
kotlinCompilePrivate { val result = kotlinCompilePrivate {
classpath(files.kobaltJar) classpath(files.kobaltJar)
classpath(deps) classpath(deps)
sourceFiles(buildFile.path.toFile().absolutePath) sourceFiles(buildFile.path.toFile().absolutePath)
output = File(buildScriptJarFile.absolutePath) output = File(buildScriptJarFile.absolutePath)
}.compile(context = context) }.compile(context = context)
if (! result.success) {
throw KobaltException("Couldn't compile ${originalFile.realPath}:\n"
+ result.errorMessage)
}
} }
} }