From e1c4f7331639d6789fd44e569c5fba011116a6dc Mon Sep 17 00:00:00 2001 From: Yair Levi Date: Sun, 28 Jan 2024 21:08:27 +0200 Subject: [PATCH] add build flag on production - a resource that when present, signals that we are in production. delete after build. --- cli/coffee/build.go | 15 +++++++++++++++ src/main/kotlin/org/levi/coffee/Window.kt | 3 ++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/cli/coffee/build.go b/cli/coffee/build.go index 4796702..6a07a97 100644 --- a/cli/coffee/build.go +++ b/cli/coffee/build.go @@ -47,6 +47,13 @@ func Build() { return } + log.Info("Preparing for bundle") + _, err = os.Create("src/main/resources/__jar__") + if err != nil { + log.Errorf("Unexpected error: production flag was not able to set. %v", err) + return + } + _, err = RunCommand(CmdProps{ Cmd: BundleApp, LogBefore: "Bundling to JAR", @@ -57,5 +64,13 @@ func Build() { log.Errorf("Failed to build app into JAR. %v", err) return } + + log.Info("Post bundle cleanup") + err = os.Remove("src/main/resources/__jar__") + if err != nil { + log.Errorf("Unexpected error: was not able to delete temporary production flag. %v", err) + return + } + log.Info("Done. your JAR is located at `./target") } diff --git a/src/main/kotlin/org/levi/coffee/Window.kt b/src/main/kotlin/org/levi/coffee/Window.kt index d55ae0e..e040446 100644 --- a/src/main/kotlin/org/levi/coffee/Window.kt +++ b/src/main/kotlin/org/levi/coffee/Window.kt @@ -19,11 +19,12 @@ import kotlin.system.exitProcess class Window(val args: Array) { private val log: Logger = LoggerFactory.getLogger(this::class.java) private val _beforeStartCallbacks: MutableList = ArrayList() - private val dev = Thread.currentThread().contextClassLoader.getResource("__jar__") == null private val _onCloseCallbacks: MutableList = ArrayList() private val _bindObjects = ArrayList() private val _webviewInitFunctions: MutableList<(wv: Webview) -> Unit> = ArrayList() + private val dev = Thread.currentThread().contextClassLoader.getResource("__jar__") == null + fun setURL(url: String) { _webviewInitFunctions.add { it.loadURL(url) } }