From 6d56424f36c8eb2bdf2976fa405a8c3f544e1d44 Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Sat, 17 Apr 2021 23:44:52 +0000
Subject: [PATCH] Spring boot and React works now
---
/dev/null | 15 -------
borgbutler-server/build.gradle | 7 +--
build.gradle | 2 -
borgbutler-webapp/build.gradle | 9 ++--
borgbutler-server/src/main/kotlin/de/micromata/borgbutler/server/RunningMode.kt | 2
borgbutler-server/src/main/kotlin/de/micromata/borgbutler/server/WebConfig.kt | 41 +++++++++++---------
6 files changed, 31 insertions(+), 45 deletions(-)
diff --git a/borgbutler-server/build.gradle b/borgbutler-server/build.gradle
index 9792c70..ea18ddc 100644
--- a/borgbutler-server/build.gradle
+++ b/borgbutler-server/build.gradle
@@ -5,8 +5,8 @@
description = 'borgbutler-server'
dependencies {
- compile project(':borgbutler-core')
- compile project(':borgbutler-webapp')
+ implementation project(':borgbutler-core')
+ implementation project(':borgbutler-webapp')
// https://mvnrepository.com/artifact/org.apache.commons/commons-text
implementation group: 'org.apache.commons', name: 'commons-text', version: '1.6'
implementation group: 'org.apache.commons', name: 'commons-collections4', version: '4.2'
@@ -24,7 +24,7 @@
// https://mvnrepository.com/artifact/commons-cli/commons-cli
implementation group: 'commons-cli', name: 'commons-cli', version: '1.4'
- testCompile group: 'org.mockito', name: 'mockito-core', version: '2.21.0'
+ testImplementation group: 'org.mockito', name: 'mockito-core', version: '2.21.0'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
}
@@ -60,5 +60,4 @@
}
distZip.dependsOn ':borgbutler-webapp:packageWebApp'
-//distZip.dependsOn ':borgbutler-docs:buildWebDoc'
task(dist).dependsOn distZip
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 6c64fb3..9d169f2 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
@@ -40,7 +40,7 @@
val runningInIDE: Boolean
get() {
- if (webBundled()) {
+ if (!webBundled()) {
return true
} else {
log.warn("*** BorgButler seems to run inside an IDE. ***")
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 ba36c17..d500794 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
@@ -4,10 +4,7 @@
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import org.springframework.web.servlet.ViewResolver
-import org.springframework.web.servlet.config.annotation.CorsRegistry
-import org.springframework.web.servlet.config.annotation.EnableWebMvc
-import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurer
+import org.springframework.web.servlet.config.annotation.*
import org.springframework.web.servlet.view.InternalResourceViewResolver
@@ -16,23 +13,25 @@
@Configuration
@EnableWebMvc
open class WebConfig : WebMvcConfigurer {
- @Bean
- open fun internalResourceViewResolver(): ViewResolver {
- val bean = InternalResourceViewResolver()
- if (RunningMode.webBundled()) {
- bean.setPrefix("/webapp/")
- } else {
- bean.setPrefix("borgbutler-webapp/build/")
- }
- bean.setSuffix(".html")
- return bean
- }
override fun addResourceHandlers(registry: ResourceHandlerRegistry) {
- registry.addResourceHandler("/static/**")
- .addResourceLocations("/webapp/static/")
- registry.addResourceHandler("/**")
- .addResourceLocations("/webapp/")
+ registry.addResourceHandler("/**").addResourceLocations(*CLASSPATH_RESOURCE_LOCATIONS);
+ }
+
+ @Bean
+ open fun getViewResolver(): ViewResolver? {
+ val resolver = InternalResourceViewResolver()
+ resolver.setSuffix(".html")
+ return resolver
+ }
+
+ override fun configurePathMatch(configurer: PathMatchConfigurer) {
+ configurer.isUseTrailingSlashMatch = true
+ }
+
+ override fun addViewControllers(registry: ViewControllerRegistry) {
+ registry.addViewController("/")
+ .setViewName("forward:/index.html")
}
override fun addCorsMappings(registry: CorsRegistry) {
@@ -49,4 +48,8 @@
registry.addMapping("/**")
}
}
+
+ companion object {
+ private val CLASSPATH_RESOURCE_LOCATIONS = arrayOf("classpath:/webapp/static/", "classpath:/webapp/")
+ }
}
diff --git a/borgbutler-server/src/main/kotlin/de/micromata/borgbutler/server/WebController.kt b/borgbutler-server/src/main/kotlin/de/micromata/borgbutler/server/WebController.kt
deleted file mode 100644
index 53956e4..0000000
--- a/borgbutler-server/src/main/kotlin/de/micromata/borgbutler/server/WebController.kt
+++ /dev/null
@@ -1,15 +0,0 @@
-package de.micromata.borgbutler.server
-
-import mu.KotlinLogging
-import org.springframework.stereotype.Controller
-import org.springframework.web.bind.annotation.RequestMapping
-
-private val log = KotlinLogging.logger {}
-
-@Controller
-open class WebConntroller {
- @RequestMapping("/")
- fun index(): String {
- return "index"
- }
-}
diff --git a/borgbutler-webapp/build.gradle b/borgbutler-webapp/build.gradle
index f6485c3..7dbe97f 100644
--- a/borgbutler-webapp/build.gradle
+++ b/borgbutler-webapp/build.gradle
@@ -7,10 +7,11 @@
}
task packageWebApp(type: Zip) {
+ outputs.upToDateWhen { false } // It's never up-to-date (otherwise borgbutler-webapp.jar is missed).
dependsOn npmBuild
- baseName 'borgbutler-webapp'
- extension 'jar'
- destinationDir file("${projectDir}")
+ archiveBaseName.set('borgbutler-webapp')
+ archiveExtension.set('jar')
+ destinationDirectory.set(file("${projectDir}"))
from('build') {
// optional path under which output will be visible in Java classpath, e.g. static resources path
into 'webapp'
@@ -21,7 +22,7 @@
def jarFile = archiveFileName.get()
ant.move file: "${projectDir}/${jarFile}",
toDir: "${buildDir}/libs"
+ println("*** packageWebApp finished.")
}
}
-task(dist).dependsOn packageWebApp
diff --git a/build.gradle b/build.gradle
index 5141f59..443a1a7 100644
--- a/build.gradle
+++ b/build.gradle
@@ -11,8 +11,6 @@
}
allprojects {
- apply plugin: 'maven'
-
group = 'de.micromata.borgbutler'
version = '0.5-SNAPSHOT'
}
--
Gitblit v1.10.0