From 44e725655c0cf53978fa20715b015a57769a574b Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Sat, 17 Apr 2021 23:57:33 +0000
Subject: [PATCH] WIP

---
 borgbutler-server/src/main/kotlin/de/micromata/borgbutler/server/RunningMode.kt |    2 +-
 borgbutler-server/src/main/kotlin/de/micromata/borgbutler/server/WebConfig.kt   |   14 +++++++++++++-
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/borgbutler-server/src/main/kotlin/de/micromata/borgbutler/server/RunningMode.kt b/borgbutler-server/src/main/kotlin/de/micromata/borgbutler/server/RunningMode.kt
index 9d169f2..3de994d 100644
--- a/borgbutler-server/src/main/kotlin/de/micromata/borgbutler/server/RunningMode.kt
+++ b/borgbutler-server/src/main/kotlin/de/micromata/borgbutler/server/RunningMode.kt
@@ -41,9 +41,9 @@
     val runningInIDE: Boolean
         get() {
             if (!webBundled()) {
+                log.warn("*** BorgButler seems to run inside an IDE. ***")
                 return true
             } else {
-                log.warn("*** BorgButler seems to run inside an IDE. ***")
                 return false
             }
         }
diff --git a/borgbutler-server/src/main/kotlin/de/micromata/borgbutler/server/WebConfig.kt b/borgbutler-server/src/main/kotlin/de/micromata/borgbutler/server/WebConfig.kt
index d500794..8dccf14 100644
--- a/borgbutler-server/src/main/kotlin/de/micromata/borgbutler/server/WebConfig.kt
+++ b/borgbutler-server/src/main/kotlin/de/micromata/borgbutler/server/WebConfig.kt
@@ -6,6 +6,9 @@
 import org.springframework.web.servlet.ViewResolver
 import org.springframework.web.servlet.config.annotation.*
 import org.springframework.web.servlet.view.InternalResourceViewResolver
+import java.io.File
+import java.nio.file.Paths
+import kotlin.io.path.Path
 
 
 private val log = KotlinLogging.logger {}
@@ -15,7 +18,16 @@
 open class WebConfig : WebMvcConfigurer {
 
     override fun addResourceHandlers(registry: ResourceHandlerRegistry) {
-        registry.addResourceHandler("/**").addResourceLocations(*CLASSPATH_RESOURCE_LOCATIONS);
+        if (RunningMode.webBundled()) {
+            registry.addResourceHandler("/**").addResourceLocations(*CLASSPATH_RESOURCE_LOCATIONS);
+        } else {
+            val localWebDir = Paths.get(".", "borgbutler-webapp", "build").toFile()
+            if (localWebDir.isDirectory) {
+                registry.addResourceHandler("/**").addResourceLocations(localWebDir.toURI().toString());
+            } else {
+                log.warn { "*** Can't locate React application. You should run npm/yarn build/start and/or check this path: ${localWebDir.absolutePath}" }
+            }
+        }
     }
 
     @Bean

--
Gitblit v1.10.0