mirror of
https://github.com/ethauvin/kobalt.git
synced 2025-04-26 16:28:12 -07:00
GH-393: run now runs from the project's directory.
Fixes https://github.com/cbeust/kobalt/issues/393
This commit is contained in:
parent
a50d349fd6
commit
cb7a8a5fb8
2 changed files with 19 additions and 16 deletions
|
@ -93,10 +93,12 @@ class KFiles {
|
||||||
*/
|
*/
|
||||||
fun joinDir(vararg ts: String): String = ts.toMutableList().joinToString(File.separator)
|
fun joinDir(vararg ts: String): String = ts.toMutableList().joinToString(File.separator)
|
||||||
|
|
||||||
|
val LIBS_DIR = "libs"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Where assemblies get generated ("kobaltBuild/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
|
* The paths elements are expected to be a directory. Make that directory and join the
|
||||||
|
|
|
@ -10,8 +10,8 @@ import com.beust.kobalt.maven.DependencyManager
|
||||||
import com.beust.kobalt.maven.aether.Scope
|
import com.beust.kobalt.maven.aether.Scope
|
||||||
import com.beust.kobalt.misc.KFiles
|
import com.beust.kobalt.misc.KFiles
|
||||||
import com.beust.kobalt.misc.KobaltExecutors
|
import com.beust.kobalt.misc.KobaltExecutors
|
||||||
import com.beust.kobalt.misc.RunCommand
|
|
||||||
import com.beust.kobalt.misc.kobaltLog
|
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.PackageConfig
|
||||||
import com.beust.kobalt.plugin.packaging.PackagingPlugin
|
import com.beust.kobalt.plugin.packaging.PackagingPlugin
|
||||||
import com.google.inject.Inject
|
import com.google.inject.Inject
|
||||||
|
@ -106,10 +106,8 @@ class ApplicationPlugin @Inject constructor(val configActor: ConfigActor<Applica
|
||||||
?: project.projectProperties.get(Archives.JAR_NAME)?.toString()
|
?: project.projectProperties.get(Archives.JAR_NAME)?.toString()
|
||||||
?: throw KobaltException("Couldn't find any jar file with a main class in it")
|
?: throw KobaltException("Couldn't find any jar file with a main class in it")
|
||||||
|
|
||||||
val jarFileName = KFiles.joinDir(KFiles.libsDir(project), fileName)
|
// The application will run in the project's directory, so we don't need to add project.directory here
|
||||||
val jarName = (jarFileName ?: KFiles.joinDir(KFiles.libsDir(project),
|
val jarName = KFiles.joinDir(project.buildDirectory, KFiles.LIBS_DIR, fileName)
|
||||||
context.variant.archiveName(project, null, ".jar")))
|
|
||||||
as String
|
|
||||||
@Suppress("UNCHECKED_CAST")
|
@Suppress("UNCHECKED_CAST")
|
||||||
val packages = project.projectProperties.get(PackagingPlugin.PACKAGES) as List<PackageConfig>
|
val packages = project.projectProperties.get(PackagingPlugin.PACKAGES) as List<PackageConfig>
|
||||||
val allDeps = arrayListOf(jarName)
|
val allDeps = arrayListOf(jarName)
|
||||||
|
@ -131,16 +129,19 @@ class ApplicationPlugin @Inject constructor(val configActor: ConfigActor<Applica
|
||||||
val contributorFlags = context.pluginInfo.jvmFlagContributors.flatMap {
|
val contributorFlags = context.pluginInfo.jvmFlagContributors.flatMap {
|
||||||
it.jvmFlagsFor(project, context, initialArgs)
|
it.jvmFlagsFor(project, context, initialArgs)
|
||||||
}
|
}
|
||||||
val args = contributorFlags + initialArgs + config.args
|
val allArgs = contributorFlags + initialArgs + config.args
|
||||||
val exitCode = RunCommand(java.absolutePath).run(args,
|
val exitCode = runCommand {
|
||||||
|
command = "java"
|
||||||
|
args = allArgs
|
||||||
|
directory = File(project.directory)
|
||||||
successCallback = { output: List<String> ->
|
successCallback = { output: List<String> ->
|
||||||
kobaltLog(1, output.joinToString("\n"))
|
kobaltLog(1, output.joinToString("\n"))
|
||||||
},
|
}
|
||||||
errorCallback = { output: List<String> ->
|
errorCallback = { output: List<String> ->
|
||||||
kobaltLog(1, "ERROR")
|
kobaltLog(1, "ERROR")
|
||||||
kobaltLog(1, output.joinToString("\n"))
|
kobaltLog(1, output.joinToString("\n"))
|
||||||
}
|
}
|
||||||
)
|
}
|
||||||
return TaskResult(exitCode == 0)
|
return TaskResult(exitCode == 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue