From 2048834c35b4db865da8027a68a112607a4f41c4 Mon Sep 17 00:00:00 2001 From: qianmoQ Date: Sat, 17 Sep 2022 17:28:21 +0800 Subject: [PATCH] feature: Add program entry configuration --- .gitignore | 1 + configure/assembly/assembly.xml | 62 +++++++++++++++++++ dist/README.md | 0 pom.xml | 28 +++++++++ server/pom.xml | 51 +++++++++++++++ server/src/main/bin/debug.sh | 48 ++++++++++++++ server/src/main/bin/shutdown.sh | 38 ++++++++++++ server/src/main/bin/startup.sh | 58 +++++++++++++++++ .../src/main/etc/conf/application.properties | 1 + .../java/io/edurt/datacap/server/DataCap.java | 18 ++++++ server/src/main/resources/banner.txt | 5 ++ 11 files changed, 310 insertions(+) create mode 100644 configure/assembly/assembly.xml create mode 100644 dist/README.md create mode 100644 server/pom.xml create mode 100644 server/src/main/bin/debug.sh create mode 100644 server/src/main/bin/shutdown.sh create mode 100644 server/src/main/bin/startup.sh create mode 100644 server/src/main/etc/conf/application.properties create mode 100644 server/src/main/java/io/edurt/datacap/server/DataCap.java create mode 100644 server/src/main/resources/banner.txt diff --git a/.gitignore b/.gitignore index 67a5890f..e2b7e642 100644 --- a/.gitignore +++ b/.gitignore @@ -39,3 +39,4 @@ tmp/ # vscode # .vscode +dist/datacap/ diff --git a/configure/assembly/assembly.xml b/configure/assembly/assembly.xml new file mode 100644 index 00000000..6b48b143 --- /dev/null +++ b/configure/assembly/assembly.xml @@ -0,0 +1,62 @@ + + release + + + tar.gz + + + true + + + + false + lib + false + + + + + + src/main/bin + bin + 0755 + unix + true + + + src/main/etc/conf + configure + + **/*.xml + **/*.properties + **/*.yml + + true + + + target + lib + + *.jar + + + + . + docs + + *.md + + 0644 + + + docs + docs + 0644 + + + src/main/assembly/docs + docs + 0644 + + + diff --git a/dist/README.md b/dist/README.md new file mode 100644 index 00000000..e69de29b diff --git a/pom.xml b/pom.xml index 237e2b2c..636bc6b8 100644 --- a/pom.xml +++ b/pom.xml @@ -8,12 +8,16 @@ configure + server DataCap(Incubator) DataCap is integrated software for data transformation, integration and visualization. + 2.7.3 + 1.18.24 + 4.13.2 3.0.0 3.0.5 3.3 @@ -21,6 +25,30 @@ 1.8 + + + junit + junit + ${junit.version} + test + + + org.projectlombok + lombok + ${lombok.version} + + + + + + + org.springframework.boot + spring-boot-starter-web + ${springboot.version} + + + + diff --git a/server/pom.xml b/server/pom.xml new file mode 100644 index 00000000..5292a122 --- /dev/null +++ b/server/pom.xml @@ -0,0 +1,51 @@ + + + + incubator-datacap + io.edurt.datacap + 1.0.0.20221015 + + 4.0.0 + + datacap-server + DataCap for server + + + 3.1.1 + + + + + org.springframework.boot + spring-boot-starter-web + + + + + + + maven-assembly-plugin + ${assembly-plugin.version} + + datacap + + ../configure/assembly/assembly.xml + + ../dist + + + + make-assembly + package + + single + + + + + + + + diff --git a/server/src/main/bin/debug.sh b/server/src/main/bin/debug.sh new file mode 100644 index 00000000..228d2a3f --- /dev/null +++ b/server/src/main/bin/debug.sh @@ -0,0 +1,48 @@ +#!/bin/sh + +HOME=$(pwd) +JAVA_HOME=${JAVA_HOME:-/opt/jdk} +APPLICATION_NAME='io.edurt.datacap.server.DataCap' +APPLICATION_PID= + +job_before_echo_basic() { + printf "\n\tJob before echo basic \n" + printf "============================================\n" + printf "Runtime home | %s\n" "$HOME" + printf "Runtime java home | %s\n" "$JAVA_HOME" + printf "Runtime application name | %s\n" "$APPLICATION_NAME" + printf "============================================\n\n" +} + +job_before_apply_server() { + APPLICATION_PID=$(pgrep -f "$APPLICATION_NAME" | awk '{print $1}') +} + +job_runner_checker_server() { + printf "\n\tJob runner check server \n" + printf "============================================\n" + job_before_apply_server + printf "Runtime process | %s\n" "$APPLICATION_PID" + if test -z "$APPLICATION_PID"; then + printf "Server status | %s\n" "stopped" + printf "============================================\n\n" + else + printf "Server status | %s\n" "running" + printf "============================================\n\n" + exit + fi +} + +job_runner_debug_server() { + printf "\n\tJob runner server \n" + printf "============================================\n" + printf "Server starting | %s\n" "$APPLICATION_NAME" + cd "$HOME" + "$JAVA_HOME"/bin/java -classpath 'lib/*' "$APPLICATION_NAME" \ + --spring.config.location="$HOME/configure/" +} + +job_before_echo_basic +# shellcheck disable=SC2119 +job_runner_checker_server +job_runner_debug_server diff --git a/server/src/main/bin/shutdown.sh b/server/src/main/bin/shutdown.sh new file mode 100644 index 00000000..58594770 --- /dev/null +++ b/server/src/main/bin/shutdown.sh @@ -0,0 +1,38 @@ +#!/bin/sh + +HOME=$(pwd) +APPLICATION_NAME='io.edurt.datacap.server.DataCap' +APPLICATION_PID= + +job_before_echo_basic() { + printf "\n\tJob before echo basic \n" + printf "============================================\n" + printf "Runtime home | %s\n" "$HOME" + printf "Runtime application name | %s\n" "$APPLICATION_NAME" + printf "============================================\n\n" +} + +job_before_apply_server() { + APPLICATION_PID=$(pgrep -f "$APPLICATION_NAME" | awk '{print $1}') +} + +job_runner_stop_server() { + printf "\n\tJob runner check server \n" + printf "============================================\n" + job_before_apply_server + printf "Runtime process | %s\n" "$APPLICATION_PID" + if test -z "$APPLICATION_PID"; then + printf "Server status | %s\n" "stopped" + printf "============================================\n\n" + exit + else + printf "Server stopping | %s\n" "$APPLICATION_NAME" + kill -9 "$APPLICATION_PID" + rm -rf "$HOME/pid" + printf "Server stopped successfully | %s\n" + printf "============================================\n\n" + fi +} + +job_before_echo_basic +job_runner_stop_server diff --git a/server/src/main/bin/startup.sh b/server/src/main/bin/startup.sh new file mode 100644 index 00000000..06252aae --- /dev/null +++ b/server/src/main/bin/startup.sh @@ -0,0 +1,58 @@ +#!/bin/sh + +HOME=$(pwd) +JAVA_HOME=${JAVA_HOME:-/opt/jdk} +APPLICATION_NAME='io.edurt.datacap.server.DataCap' +APPLICATION_PID= + +job_before_echo_basic() { + printf "\n\tJob before echo basic \n" + printf "============================================\n" + printf "Runtime home | %s\n" "$HOME" + printf "Runtime java home | %s\n" "$JAVA_HOME" + printf "Runtime application name | %s\n" "$APPLICATION_NAME" + printf "============================================\n\n" +} + +job_before_apply_server() { + APPLICATION_PID=$(pgrep -f "$APPLICATION_NAME" | awk '{print $1}') +} + +job_runner_checker_server() { + printf "\n\tJob runner check server \n" + printf "============================================\n" + job_before_apply_server + printf "Runtime process | %s\n" "$APPLICATION_PID" + if test -z "$APPLICATION_PID"; then + printf "Server status | %s\n" "stopped" + printf "============================================\n\n" + else + printf "Server status | %s\n" "running" + printf "============================================\n\n" + exit + fi +} + +job_runner_start_server() { + printf "\n\tJob runner server \n" + printf "============================================\n" + printf "Server starting | %s\n" "$APPLICATION_NAME" + cd "$HOME" + nohup "$JAVA_HOME"/bin/java -classpath 'lib/*' "$APPLICATION_NAME" \ + --spring.config.location="$HOME/configure/" > /dev/null 2>&1 & + sleep 5 + job_before_apply_server + if test -z "$APPLICATION_PID"; then + printf "Server start failed | %s\n" + else + echo "$APPLICATION_PID" >pid + printf "Server start successful | %s\n" + fi + printf "============================================\n\n" +} + +job_before_echo_basic +# shellcheck disable=SC2119 +job_runner_checker_server +job_runner_start_server +exit 0 diff --git a/server/src/main/etc/conf/application.properties b/server/src/main/etc/conf/application.properties new file mode 100644 index 00000000..e1f38019 --- /dev/null +++ b/server/src/main/etc/conf/application.properties @@ -0,0 +1 @@ +server.port=9096 diff --git a/server/src/main/java/io/edurt/datacap/server/DataCap.java b/server/src/main/java/io/edurt/datacap/server/DataCap.java new file mode 100644 index 00000000..9b3246cc --- /dev/null +++ b/server/src/main/java/io/edurt/datacap/server/DataCap.java @@ -0,0 +1,18 @@ +package io.edurt.datacap.server; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class DataCap +{ + public void start(String[] args) + { + SpringApplication.run(DataCap.class, args); + } + + public static void main(String[] args) + { + new DataCap().start(args); + } +} diff --git a/server/src/main/resources/banner.txt b/server/src/main/resources/banner.txt new file mode 100644 index 00000000..2de51513 --- /dev/null +++ b/server/src/main/resources/banner.txt @@ -0,0 +1,5 @@ + +8888b. db 888888 db dP""b8 db 88""Yb + 8I Yb dPYb 88 dPYb dP `" dPYb 88__dP + 8I dY dP__Yb 88 dP__Yb Yb dP__Yb 88""" +8888Y" dP""""Yb 88 dP""""Yb YboodP dP""""Yb 88