mirror of https://github.com/micromata/borgbackup-butler.git

Kai Reinhard
17.24.2021 274c48211e8870196964161ac903725389f8e301
gradeDist works again (spring boot plugin removed).
5 files modified
86 ■■■■■ changed files
.gitignore 3 ●●●● patch | view | raw | blame | history
borgbutler-core/build.gradle 1 ●●●● patch | view | raw | blame | history
borgbutler-docker/app/entrypoint.sh 12 ●●●● patch | view | raw | blame | history
borgbutler-server/build.gradle 50 ●●●● patch | view | raw | blame | history
borgbutler-server/src/main/kotlin/de/micromata/borgbutler/server/BorgButlerApplication.kt 20 ●●●● patch | view | raw | blame | history
.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-*
borgbutler-core/build.gradle
@@ -32,6 +32,7 @@
sourceSets {
    main.java.srcDirs += 'src/main/java'
    main.java.srcDirs += 'src/main/kotlin'
}
test {
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
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"
    }
}
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