| .gitignore | ●●●●● patch | view | raw | blame | history | |
| borgbutler-core/build.gradle | ●●●●● patch | view | raw | blame | history | |
| borgbutler-docker/app/entrypoint.sh | ●●●●● patch | view | raw | blame | history | |
| borgbutler-server/build.gradle | ●●●●● patch | view | raw | blame | history | |
| borgbutler-server/src/main/kotlin/de/micromata/borgbutler/server/BorgButlerApplication.kt | ●●●●● 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