From 8a8b5f638dc1181e4d8cb858f91dd15f5895b147 Mon Sep 17 00:00:00 2001 From: Cedric Beust Date: Sat, 25 Mar 2017 07:14:10 -0700 Subject: [PATCH] Make --server work even if there is no Build.kt. Fixes https://github.com/cbeust/kobalt-intellij-plugin/issues/69. --- src/main/kotlin/com/beust/kobalt/Main.kt | 10 +++------- .../kotlin/com/beust/kobalt/app/remote/KobaltServer.kt | 4 +--- .../kotlin/com/beust/kobalt/app/remote/SparkServer.kt | 7 +------ 3 files changed, 5 insertions(+), 16 deletions(-) diff --git a/src/main/kotlin/com/beust/kobalt/Main.kt b/src/main/kotlin/com/beust/kobalt/Main.kt index b209c147..f2d44f0f 100644 --- a/src/main/kotlin/com/beust/kobalt/Main.kt +++ b/src/main/kotlin/com/beust/kobalt/Main.kt @@ -152,6 +152,9 @@ private class Main @Inject constructor( } else if (args.update) { // --update updateKobalt.updateKobalt() + } else if (args.serverMode) { + // --server + val port = serverFactory.create(args.force, args.port, { cleanUp() }).call() } else { // // Everything below requires to parse the build file first @@ -165,13 +168,6 @@ private class Main @Inject constructor( if (args.listTemplates) { // --listTemplates 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) { // --projectInfo allProjects.forEach { diff --git a/src/main/kotlin/com/beust/kobalt/app/remote/KobaltServer.kt b/src/main/kotlin/com/beust/kobalt/app/remote/KobaltServer.kt index 7e91af25..2e068829 100644 --- a/src/main/kotlin/com/beust/kobalt/app/remote/KobaltServer.kt +++ b/src/main/kotlin/com/beust/kobalt/app/remote/KobaltServer.kt @@ -26,13 +26,11 @@ import javax.annotation.Nullable * To enable websocket debugging, uncomment the "debug" tag in logback.xml. */ class KobaltServer @Inject constructor(@Assisted val force: Boolean, @Assisted @Nullable val givenPort: Int?, - @Assisted val initCallback: (String) -> List, @Assisted val cleanUpCallback: () -> Unit, val pluginInfo : PluginInfo) : Callable { interface IFactory { fun create(force: Boolean, givenPort: Int? = null, - initCallback: (String) -> List, cleanUpCallback: () -> Unit) : KobaltServer } @@ -78,7 +76,7 @@ class KobaltServer @Inject constructor(@Assisted val force: Boolean, @Assisted @ kobaltLog(1, "KobaltServer listening on port $port") // OldServer(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) } } catch(ex: Exception) { diff --git a/src/main/kotlin/com/beust/kobalt/app/remote/SparkServer.kt b/src/main/kotlin/com/beust/kobalt/app/remote/SparkServer.kt index cd028f6e..5aaf90fb 100644 --- a/src/main/kotlin/com/beust/kobalt/app/remote/SparkServer.kt +++ b/src/main/kotlin/com/beust/kobalt/app/remote/SparkServer.kt @@ -3,7 +3,6 @@ package com.beust.kobalt.app.remote import com.beust.kobalt.Args import com.beust.kobalt.api.ITemplate import com.beust.kobalt.api.Kobalt -import com.beust.kobalt.api.Project import com.beust.kobalt.app.ProjectFinder import com.beust.kobalt.app.Templates import com.beust.kobalt.internal.PluginInfo @@ -23,16 +22,13 @@ import spark.Spark import java.nio.file.Paths import java.util.concurrent.Executors -class SparkServer(val initCallback: (String) -> List, val cleanUpCallback: () -> Unit, - val pluginInfo : PluginInfo) : KobaltServer.IServer { +class SparkServer(val cleanUpCallback: () -> Unit, val pluginInfo : PluginInfo) : KobaltServer.IServer { companion object { - lateinit var initCallback: (String) -> List lateinit var cleanUpCallback: () -> Unit } init { - SparkServer.initCallback = initCallback SparkServer.cleanUpCallback = cleanUpCallback } @@ -72,7 +68,6 @@ class SparkServer(val initCallback: (String) -> List, val cleanUpCallba // (replaced by /v1 which uses WebSockets jsonRoute("/v0/getDependencies", Route { request, response -> val buildFile = request.queryParams("buildFile") - initCallback(buildFile) val result = if (buildFile != null) { try {