From 274c48211e8870196964161ac903725389f8e301 Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Sat, 17 Apr 2021 08:24:06 +0000
Subject: [PATCH] gradeDist works again (spring boot plugin removed).
---
borgbutler-docker/app/entrypoint.sh | 12 +++---
.gitignore | 3 -
borgbutler-core/build.gradle | 1
borgbutler-server/src/main/kotlin/de/micromata/borgbutler/server/BorgButlerApplication.kt | 20 ++++++++--
borgbutler-server/build.gradle | 50 +++---------------------
5 files changed, 31 insertions(+), 55 deletions(-)
diff --git a/.gitignore b/.gitignore
index 0747909..2397a67 100644
--- a/.gitignore
+++ b/.gitignore
@@ -42,5 +42,4 @@
borgbutler-webapp/build
borgbutler-webapp/node_modules
borgbutler-docker/app/target
-borgbutler-server-0.3-SNAPSHOT
-borgbutler-server-0.4-SNAPSHOT
+borgbutler-server-*
diff --git a/borgbutler-core/build.gradle b/borgbutler-core/build.gradle
index f7a81d5..e16426a 100644
--- a/borgbutler-core/build.gradle
+++ b/borgbutler-core/build.gradle
@@ -32,6 +32,7 @@
sourceSets {
main.java.srcDirs += 'src/main/java'
+ main.java.srcDirs += 'src/main/kotlin'
}
test {
diff --git a/borgbutler-docker/app/entrypoint.sh b/borgbutler-docker/app/entrypoint.sh
index 889bfd7..9f158f1 100644
--- a/borgbutler-docker/app/entrypoint.sh
+++ b/borgbutler-docker/app/entrypoint.sh
@@ -2,14 +2,14 @@
# https://stackoverflow.com/questions/41451159/how-to-execute-a-script-when-i-terminate-a-docker-container
-PROCESS_IDENTIFIER="de.micromata.borgbutler.server.Main"
+JAVA_MAIN="de.micromata.borgbutler.server.BorgButlerApplication"
APP_NAME="BorgButler"
#Define cleanup procedure
cleanup() {
echo "Container stopped, performing cleanup..."
- pid=$(pgrep -f $PROCESS_IDENTIFIER)
+ pid=$(pgrep -f $JAVA_MAIN)
if [[ -z $pid ]]; then
echo "${APP_NAME} process not found."
exit 0
@@ -21,7 +21,7 @@
echo "waiting 5 sec for termination of pid $pid..."
sleep 5
- pid=$(pgrep -f $PROCESS_IDENTIFIER)
+ pid=$(pgrep -f $JAVA_MAIN)
if [[ -z $pid ]]; then
echo "${APP_NAME} stopped"
exit 0
@@ -32,7 +32,7 @@
sleep 0.5
- pid=$(pgrep -f $PROCESS_IDENTIFIER)
+ pid=$(pgrep -f $JAVA_MAIN)
if [[ -z $pid ]]; then
echo "${APP_NAME} killed"
exit 0
@@ -47,9 +47,9 @@
#Trap SIGTERM
trap cleanup INT SIGTERM
-echo "Starting java ${JAVA_OPTS} -cp app/web/*:app/lib/* -DBorgButlerHome=/BorgButler/ -DapplicationHome=/app -DbindAddress=0.0.0.0 -DallowedClientIps=172.17. de.micromata.borgbutler.server.Main -q ${JAVA_ARGS}"
+echo "Starting java ${JAVA_OPTS} -cp app/web/*:app/lib/* -DBorgButlerHome=/BorgButler/ -DapplicationHome=/app -DbindAddress=0.0.0.0 -DallowedClientIps=172.17. ${JAVA_MAIN} -q ${JAVA_ARGS}"
-java $JAVA_OPTS -cp app/web/*:app/lib/* -DborgbutlerHome=/BorgButler/ -DapplicationHome=/app -DbindAddress=0.0.0.0 -DallowedClientIps=172.17. de.micromata.borgbutler.server.Main -q $JAVA_ARGS &
+java $JAVA_OPTS -cp app/web/*:app/lib/* -DborgbutlerHome=/BorgButler/ -DapplicationHome=/app -DbindAddress=0.0.0.0 -DallowedClientIps=172.17. $JAVA_MAIN -q $JAVA_ARGS &
CHILD=$!
wait $CHILD
diff --git a/borgbutler-server/build.gradle b/borgbutler-server/build.gradle
index 49922c7..f146946 100644
--- a/borgbutler-server/build.gradle
+++ b/borgbutler-server/build.gradle
@@ -1,16 +1,5 @@
-buildscript {
- ext.kotlin_version = '1.4.32'
- repositories {
- mavenCentral()
- }
- dependencies {
- classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
- }
-}
-
plugins {
id 'java'
- id 'org.springframework.boot' version '2.4.5'
}
description = 'borgbutler-server'
@@ -35,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'
- implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
+ implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
}
repositories {
@@ -43,16 +32,15 @@
jcenter()
}
+sourceSets {
+ main.java.srcDirs += 'src/main/java'
+ main.java.srcDirs += 'src/main/kotlin'
+}
+
apply plugin: 'application'
-apply plugin: 'kotlin'
-mainClassName = "de.micromata.borgbutler.server.BorgButlerApplication"
+mainClassName = 'de.micromata.borgbutler.server.BorgButlerApplication'
run() {
- doFirst {
- jvmArgs = [
- "-DapplicationHome=${rootDir}"
- ]
- }
}
run.dependsOn ':borgbutler-webapp:npmBuild'
@@ -76,16 +64,6 @@
dependsOn createVersionProperties
}
-// Ugly work arround for getting the applications home dir:
-applicationDefaultJvmArgs = ["-DapplicationHome=MY_APPLICATION_HOME"]
-
-startScripts {
- doLast {
- unixScript.text = unixScript.text.replace('MY_APPLICATION_HOME', '\$APP_HOME')
- windowsScript.text = windowsScript.text.replace('MY_APPLICATION_HOME', '%~dp0..')
- }
-}
-
// Builds the distribution
distributions {
main {
@@ -94,10 +72,6 @@
from ("${project(':borgbutler-webapp').projectDir}/build") {
into 'web'
}
- // Containing test templates and other stuff:
- from ("${rootProject.projectDir}/examples") {
- into 'examples'
- }
}
}
}
@@ -105,13 +79,3 @@
distZip.dependsOn ':borgbutler-webapp:npmBuild'
//distZip.dependsOn ':borgbutler-docs:buildWebDoc'
task(dist).dependsOn distZip
-compileKotlin {
- kotlinOptions {
- jvmTarget = "1.8"
- }
-}
-compileTestKotlin {
- kotlinOptions {
- jvmTarget = "1.9"
- }
-}
diff --git a/borgbutler-server/src/main/kotlin/de/micromata/borgbutler/server/BorgButlerApplication.kt b/borgbutler-server/src/main/kotlin/de/micromata/borgbutler/server/BorgButlerApplication.kt
index f41eefa..e90f96c 100644
--- a/borgbutler-server/src/main/kotlin/de/micromata/borgbutler/server/BorgButlerApplication.kt
+++ b/borgbutler-server/src/main/kotlin/de/micromata/borgbutler/server/BorgButlerApplication.kt
@@ -102,14 +102,26 @@
// 0.0.0.0 for Docker installations.
val url = "http://$serverAddress:$serverPort/".replace("0.0.0.0", "127.0.0.1")
- if (!line.hasOption('q')) {
+ val uri = URI.create(url)
+ val quietMode = line.hasOption('q')
+ val desktopSupportsBrowse = Desktop.isDesktopSupported() && Desktop.getDesktop().isSupported(Desktop.Action.BROWSE)
+ val headlessMode = System.getProperty("java.awt.headless") == "true"
+ if (!quietMode && desktopSupportsBrowse && headlessMode) {
try {
- Desktop.getDesktop().browse(URI.create(url))
+ log.info { "Trying to open your local web browser: $uri" }
+ Desktop.getDesktop().browse(uri)
} catch (ex: Exception) {
- log.info("Can't open web browser: " + ex.message)
+ log.info("Can't open web browser: " + ex.message, ex)
+ log.info("Desktop not available. Please open your browser manually: $uri")
}
} else {
- log.info("Please open your browser: $url")
+ if (quietMode) {
+ log.info("Server started in quiet mode (option -q). Please open your browser manually: $uri")
+ } else if (!desktopSupportsBrowse) {
+ log.info("Desktop not available. Please open your browser manually: $uri")
+ } else if (headlessMode) {
+ log.info("Desktop not available in headless mode. Please open your browser manually: $uri")
+ }
}
} catch (ex: ParseException) {
// oops, something went wrong
--
Gitblit v1.10.0