mirror of
https://github.com/ethauvin/kobalt.git
synced 2025-04-26 00:17:11 -07:00
Make --server work even if there is no Build.kt.
Fixes https://github.com/cbeust/kobalt-intellij-plugin/issues/69.
This commit is contained in:
parent
4e4c5a7d9e
commit
8a8b5f638d
3 changed files with 5 additions and 16 deletions
|
@ -152,6 +152,9 @@ private class Main @Inject constructor(
|
||||||
} else if (args.update) {
|
} else if (args.update) {
|
||||||
// --update
|
// --update
|
||||||
updateKobalt.updateKobalt()
|
updateKobalt.updateKobalt()
|
||||||
|
} else if (args.serverMode) {
|
||||||
|
// --server
|
||||||
|
val port = serverFactory.create(args.force, args.port, { cleanUp() }).call()
|
||||||
} else {
|
} else {
|
||||||
//
|
//
|
||||||
// Everything below requires to parse the build file first
|
// Everything below requires to parse the build file first
|
||||||
|
@ -165,13 +168,6 @@ private class Main @Inject constructor(
|
||||||
if (args.listTemplates) {
|
if (args.listTemplates) {
|
||||||
// --listTemplates
|
// --listTemplates
|
||||||
Templates().displayTemplates(pluginInfo)
|
Templates().displayTemplates(pluginInfo)
|
||||||
} else if (args.serverMode) {
|
|
||||||
// --server
|
|
||||||
val port = serverFactory.create(args.force, args.port,
|
|
||||||
{ buildFile -> projectFinder.initForBuildFile(BuildFile(Paths.get(buildFile),
|
|
||||||
buildFile), args) },
|
|
||||||
{ cleanUp() })
|
|
||||||
.call()
|
|
||||||
} else if (args.projectInfo) {
|
} else if (args.projectInfo) {
|
||||||
// --projectInfo
|
// --projectInfo
|
||||||
allProjects.forEach {
|
allProjects.forEach {
|
||||||
|
|
|
@ -26,13 +26,11 @@ import javax.annotation.Nullable
|
||||||
* To enable websocket debugging, uncomment the "debug" <root> tag in logback.xml.
|
* To enable websocket debugging, uncomment the "debug" <root> tag in logback.xml.
|
||||||
*/
|
*/
|
||||||
class KobaltServer @Inject constructor(@Assisted val force: Boolean, @Assisted @Nullable val givenPort: Int?,
|
class KobaltServer @Inject constructor(@Assisted val force: Boolean, @Assisted @Nullable val givenPort: Int?,
|
||||||
@Assisted val initCallback: (String) -> List<Project>,
|
|
||||||
@Assisted val cleanUpCallback: () -> Unit,
|
@Assisted val cleanUpCallback: () -> Unit,
|
||||||
val pluginInfo : PluginInfo) : Callable<Int> {
|
val pluginInfo : PluginInfo) : Callable<Int> {
|
||||||
|
|
||||||
interface IFactory {
|
interface IFactory {
|
||||||
fun create(force: Boolean, givenPort: Int? = null,
|
fun create(force: Boolean, givenPort: Int? = null,
|
||||||
initCallback: (String) -> List<Project>,
|
|
||||||
cleanUpCallback: () -> Unit) : KobaltServer
|
cleanUpCallback: () -> Unit) : KobaltServer
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -78,7 +76,7 @@ class KobaltServer @Inject constructor(@Assisted val force: Boolean, @Assisted @
|
||||||
kobaltLog(1, "KobaltServer listening on port $port")
|
kobaltLog(1, "KobaltServer listening on port $port")
|
||||||
// OldServer(initCallback, cleanUpCallback).run(port)
|
// OldServer(initCallback, cleanUpCallback).run(port)
|
||||||
// JerseyServer(initCallback, cleanUpCallback).run(port)
|
// JerseyServer(initCallback, cleanUpCallback).run(port)
|
||||||
SparkServer(initCallback, cleanUpCallback, pluginInfo).run(port)
|
SparkServer(cleanUpCallback, pluginInfo).run(port)
|
||||||
// WasabiServer(initCallback, cleanUpCallback).run(port)
|
// WasabiServer(initCallback, cleanUpCallback).run(port)
|
||||||
}
|
}
|
||||||
} catch(ex: Exception) {
|
} catch(ex: Exception) {
|
||||||
|
|
|
@ -3,7 +3,6 @@ package com.beust.kobalt.app.remote
|
||||||
import com.beust.kobalt.Args
|
import com.beust.kobalt.Args
|
||||||
import com.beust.kobalt.api.ITemplate
|
import com.beust.kobalt.api.ITemplate
|
||||||
import com.beust.kobalt.api.Kobalt
|
import com.beust.kobalt.api.Kobalt
|
||||||
import com.beust.kobalt.api.Project
|
|
||||||
import com.beust.kobalt.app.ProjectFinder
|
import com.beust.kobalt.app.ProjectFinder
|
||||||
import com.beust.kobalt.app.Templates
|
import com.beust.kobalt.app.Templates
|
||||||
import com.beust.kobalt.internal.PluginInfo
|
import com.beust.kobalt.internal.PluginInfo
|
||||||
|
@ -23,16 +22,13 @@ import spark.Spark
|
||||||
import java.nio.file.Paths
|
import java.nio.file.Paths
|
||||||
import java.util.concurrent.Executors
|
import java.util.concurrent.Executors
|
||||||
|
|
||||||
class SparkServer(val initCallback: (String) -> List<Project>, val cleanUpCallback: () -> Unit,
|
class SparkServer(val cleanUpCallback: () -> Unit, val pluginInfo : PluginInfo) : KobaltServer.IServer {
|
||||||
val pluginInfo : PluginInfo) : KobaltServer.IServer {
|
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
lateinit var initCallback: (String) -> List<Project>
|
|
||||||
lateinit var cleanUpCallback: () -> Unit
|
lateinit var cleanUpCallback: () -> Unit
|
||||||
}
|
}
|
||||||
|
|
||||||
init {
|
init {
|
||||||
SparkServer.initCallback = initCallback
|
|
||||||
SparkServer.cleanUpCallback = cleanUpCallback
|
SparkServer.cleanUpCallback = cleanUpCallback
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -72,7 +68,6 @@ class SparkServer(val initCallback: (String) -> List<Project>, val cleanUpCallba
|
||||||
// (replaced by /v1 which uses WebSockets
|
// (replaced by /v1 which uses WebSockets
|
||||||
jsonRoute("/v0/getDependencies", Route { request, response ->
|
jsonRoute("/v0/getDependencies", Route { request, response ->
|
||||||
val buildFile = request.queryParams("buildFile")
|
val buildFile = request.queryParams("buildFile")
|
||||||
initCallback(buildFile)
|
|
||||||
val result =
|
val result =
|
||||||
if (buildFile != null) {
|
if (buildFile != null) {
|
||||||
try {
|
try {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue