From cb7a8a5fb88fa7d74a3a3ea93ff9391d0285f1ff Mon Sep 17 00:00:00 2001 From: Cedric Beust Date: Fri, 7 Apr 2017 19:06:48 -0700 Subject: [PATCH] GH-393: run now runs from the project's directory. Fixes https://github.com/cbeust/kobalt/issues/393 --- .../kotlin/com/beust/kobalt/misc/KFiles.kt | 4 ++- .../plugin/application/ApplicationPlugin.kt | 31 ++++++++++--------- 2 files changed, 19 insertions(+), 16 deletions(-) diff --git a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/misc/KFiles.kt b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/misc/KFiles.kt index 4aeafbea..15c2a15d 100644 --- a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/misc/KFiles.kt +++ b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/misc/KFiles.kt @@ -93,10 +93,12 @@ class KFiles { */ fun joinDir(vararg ts: String): String = ts.toMutableList().joinToString(File.separator) + val LIBS_DIR = "libs" + /** * Where assemblies get generated ("kobaltBuild/libs") */ - fun libsDir(project: Project): String = KFiles.makeDir(KFiles.buildDir(project).path, "libs").path + fun libsDir(project: Project): String = KFiles.makeDir(KFiles.buildDir(project).path, LIBS_DIR).path /** * The paths elements are expected to be a directory. Make that directory and join the diff --git a/src/main/kotlin/com/beust/kobalt/plugin/application/ApplicationPlugin.kt b/src/main/kotlin/com/beust/kobalt/plugin/application/ApplicationPlugin.kt index 44a2989b..032c466d 100644 --- a/src/main/kotlin/com/beust/kobalt/plugin/application/ApplicationPlugin.kt +++ b/src/main/kotlin/com/beust/kobalt/plugin/application/ApplicationPlugin.kt @@ -10,8 +10,8 @@ import com.beust.kobalt.maven.DependencyManager import com.beust.kobalt.maven.aether.Scope import com.beust.kobalt.misc.KFiles import com.beust.kobalt.misc.KobaltExecutors -import com.beust.kobalt.misc.RunCommand import com.beust.kobalt.misc.kobaltLog +import com.beust.kobalt.misc.runCommand import com.beust.kobalt.plugin.packaging.PackageConfig import com.beust.kobalt.plugin.packaging.PackagingPlugin import com.google.inject.Inject @@ -106,10 +106,8 @@ class ApplicationPlugin @Inject constructor(val configActor: ConfigActor val allDeps = arrayListOf(jarName) @@ -131,16 +129,19 @@ class ApplicationPlugin @Inject constructor(val configActor: ConfigActor -> - kobaltLog(1, output.joinToString("\n")) - }, - errorCallback = { output: List -> - kobaltLog(1, "ERROR") - kobaltLog(1, output.joinToString("\n")) - } - ) + val allArgs = contributorFlags + initialArgs + config.args + val exitCode = runCommand { + command = "java" + args = allArgs + directory = File(project.directory) + successCallback = { output: List -> + kobaltLog(1, output.joinToString("\n")) + } + errorCallback = { output: List -> + kobaltLog(1, "ERROR") + kobaltLog(1, output.joinToString("\n")) + } + } return TaskResult(exitCode == 0) }