diff --git a/application/pom.xml b/application/pom.xml index 5f1db818ea..15d1d314dc 100644 --- a/application/pom.xml +++ b/application/pom.xml @@ -34,14 +34,13 @@ UTF-8 ${basedir}/.. + java false process-resources package thingsboard - /var/log/${pkg.name} - /usr/share/${pkg.name} - true ${project.build.directory}/windows + true ThingsBoard org.thingsboard.server.ThingsboardServerApplication diff --git a/msa/js-executor/build.gradle b/msa/js-executor/build.gradle deleted file mode 100644 index dd972b0ca6..0000000000 --- a/msa/js-executor/build.gradle +++ /dev/null @@ -1,139 +0,0 @@ -/** - * Copyright © 2016-2020 The Thingsboard Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import org.apache.tools.ant.filters.ReplaceTokens - -buildscript { - ext { - osPackageVersion = "8.3.0" - } - repositories { - jcenter() - } - dependencies { - classpath("com.netflix.nebula:gradle-ospackage-plugin:${osPackageVersion}") - } -} - -apply plugin: "nebula.ospackage" - -buildDir = projectBuildDir -version = projectVersion -distsDirName = "./" - -// OS Package plugin configuration -ospackage { - packageName = pkgName - version = "${project.version}" - release = 1 - os = LINUX - type = BINARY - - into pkgInstallFolder - - user pkgUser - permissionGroup pkgUser - - // Copy the executable file - from("target/package/linux/bin/${pkgName}") { - fileMode 0500 - into "bin" - } - - // Copy the init file - from("target/package/linux/init/${pkgName}") { - fileMode 0500 - into "init" - } - - // Copy the config files - from("target/package/linux/conf") { - fileType CONFIG | NOREPLACE - fileMode 0754 - into "conf" - } - -} - -// Configure our RPM build task -buildRpm { - - arch = X86_64 - - archiveVersion = projectVersion.replace('-', '') - archiveFileName = "${pkgName}.rpm" - - preInstall file("${buildDir}/control/rpm/preinst") - postInstall file("${buildDir}/control/rpm/postinst") - preUninstall file("${buildDir}/control/rpm/prerm") - postUninstall file("${buildDir}/control/rpm/postrm") - - user pkgUser - permissionGroup pkgUser - - // Copy the system unit files - from("${buildDir}/control/${pkgName}.service") { - addParentDirs = false - fileMode 0644 - into "/usr/lib/systemd/system" - } - - link("/etc/${pkgName}/conf", "${pkgInstallFolder}/conf") -} - -// Same as the buildRpm task -buildDeb { - - arch = "amd64" - - archiveFileName = "${pkgName}.deb" - - configurationFile("${pkgInstallFolder}/conf/${pkgName}.conf") - configurationFile("${pkgInstallFolder}/conf/custom-environment-variables.yml") - configurationFile("${pkgInstallFolder}/conf/default.yml") - configurationFile("${pkgInstallFolder}/conf/logger.js") - - preInstall file("${buildDir}/control/deb/preinst") - postInstall file("${buildDir}/control/deb/postinst") - preUninstall file("${buildDir}/control/deb/prerm") - postUninstall file("${buildDir}/control/deb/postrm") - - user pkgUser - permissionGroup pkgUser - - link("/etc/init.d/${pkgName}", "${pkgInstallFolder}/init/${pkgName}") - link("/etc/${pkgName}/conf", "${pkgInstallFolder}/conf") -} - -task renameDeb(type: Copy) { - from("${buildDir}/") { - include '*.deb' - destinationDir file("${buildDir}/") - rename { String filename -> - "${pkgName}.deb" - } - } -} - -task renameRpm(type: Copy) { - from("${buildDir}/") { - include '*.rpm' - destinationDir file("${buildDir}/") - rename { String filename -> - "${pkgName}.rpm" - } - } -} - diff --git a/msa/js-executor/pom.xml b/msa/js-executor/pom.xml index 28c4909a8e..3aedead07e 100644 --- a/msa/js-executor/pom.xml +++ b/msa/js-executor/pom.xml @@ -34,10 +34,12 @@ UTF-8 ${basedir}/../.. - tb-js-executor tb-js-executor - /var/log/${pkg.name} - /usr/share/${pkg.name} + tb-js-executor + js + false + process-resources + package ${project.build.directory}/package/linux ${project.build.directory}/package/windows @@ -87,197 +89,18 @@ org.apache.maven.plugins maven-dependency-plugin - - - copy-winsw-service - package - - copy - - - - - com.sun.winsw - winsw - bin - exe - service.exe - - - ${pkg.win.dist} - - - org.apache.maven.plugins maven-resources-plugin - - - copy-linux-conf - process-resources - - copy-resources - - - ${pkg.linux.dist}/conf - - - config - true - - - - src/main/filters/unix.properties - - - - - copy-linux-init - process-resources - - copy-resources - - - ${pkg.linux.dist}/init - - - src/main/scripts/init - true - - - - src/main/filters/unix.properties - - - - - copy-win-conf - process-resources - - copy-resources - - - ${pkg.win.dist}/conf - - - config - - tb-js-executor.conf - - true - - - - src/main/filters/windows.properties - - - - - copy-control - process-resources - - copy-resources - - - ${project.build.directory}/control - - - src/main/scripts/control - true - - - - src/main/filters/unix.properties - - - - - copy-windows-control - process-resources - - copy-resources - - - ${pkg.win.dist} - - - src/main/scripts/windows - true - - - - src/main/filters/windows.properties - - - - - copy-docker-config - process-resources - - copy-resources - - - ${project.build.directory} - - - docker - true - - - - - org.thingsboard gradle-maven-plugin - - ${basedir} - - build - buildDeb - buildRpm - renameDeb - renameRpm - - - -PprojectBuildDir=${project.build.directory} - -PprojectVersion=${project.version} - -PpkgName=${pkg.name} - -PpkgUser=${pkg.user} - -PpkgInstallFolder=${pkg.installFolder} - -PpkgLogFolder=${pkg.unixLogFolder} - - - - - package - - invoke - - - org.apache.maven.plugins maven-assembly-plugin - 3.0.0 - - ${pkg.name} - - src/main/assembly/windows.xml - - - - - assembly - package - - single - - - com.spotify diff --git a/msa/js-executor/src/main/assembly/windows.xml b/msa/js-executor/src/main/assembly/windows.xml deleted file mode 100644 index 2cf7265fa4..0000000000 --- a/msa/js-executor/src/main/assembly/windows.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - windows - - - zip - - - - - - ${pkg.win.dist} - logs - - */** - - - - ${pkg.win.dist}/conf - conf - windows - - - - - - ${pkg.win.dist}/bin/${pkg.name}.exe - bin - ${pkg.name}.exe - - - ${pkg.win.dist}/service.exe - - ${pkg.name}.exe - - - ${pkg.win.dist}/service.xml - - ${pkg.name}.xml - windows - - - ${pkg.win.dist}/install.bat - - windows - - - ${pkg.win.dist}/uninstall.bat - - windows - - - diff --git a/msa/js-executor/src/main/scripts/init/tb-js-executor b/msa/js-executor/src/main/scripts/init/tb-js-executor deleted file mode 100644 index 6e8fa52cd3..0000000000 --- a/msa/js-executor/src/main/scripts/init/tb-js-executor +++ /dev/null @@ -1,233 +0,0 @@ -#!/bin/bash -# - - -### BEGIN INIT INFO -# Provides: tb-js-executor -# Required-Start: $remote_fs $syslog $network -# Required-Stop: $remote_fs $syslog $network -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: ${project.name} -# Description: ${project.description} -# chkconfig: 2345 99 01 -### END INIT INFO - -[[ -n "$DEBUG" ]] && set -x - -# Initialize variables that cannot be provided by a .conf file -WORKING_DIR="$(pwd)" -# shellcheck disable=SC2153 - -mainfile=${pkg.installFolder}/bin/${pkg.name} -configfile=${pkg.name}.conf - -# Follow symlinks to find the real script and detect init.d script -cd "$(dirname "$0")" || exit 1 -[[ -z "$initfile" ]] && initfile=$(pwd)/$(basename "$0") -while [[ -L "$initfile" ]]; do - [[ "$initfile" =~ init\.d ]] && init_script=$(basename "$initfile") - initfile=$(readlink "$initfile") - cd "$(dirname "$initfile")" || exit 1 - initfile=$(pwd)/$(basename "$initfile") -done -initfolder="$( (cd "$(dirname "initfile")" && pwd -P) )" -cd "$WORKING_DIR" || exit 1 - -# Initialize CONF_FOLDER location -[[ -z "$CONF_FOLDER" ]] && CONF_FOLDER="${pkg.installFolder}/conf" - -# shellcheck source=/dev/null -[[ -r "${CONF_FOLDER}/${configfile}" ]] && source "${CONF_FOLDER}/${configfile}" - -# Initialize PID/LOG locations if they weren't provided by the config file -[[ -z "$PID_FOLDER" ]] && PID_FOLDER="/var/run" -[[ -z "$LOG_FOLDER" ]] && LOG_FOLDER="${pkg.unixLogFolder}" -! [[ "$PID_FOLDER" == /* ]] && PID_FOLDER="$(dirname "$mainfile")"/"$PID_FOLDER" -! [[ "$LOG_FOLDER" == /* ]] && LOG_FOLDER="$(dirname "$mainfile")"/"$LOG_FOLDER" -! [[ -x "$PID_FOLDER" ]] && PID_FOLDER="/tmp" -! [[ -x "$LOG_FOLDER" ]] && LOG_FOLDER="/tmp" - -# Set up defaults -[[ -z "$MODE" ]] && MODE="auto" # modes are "auto", "service" or "run" -[[ -z "$USE_START_STOP_DAEMON" ]] && USE_START_STOP_DAEMON="true" - -# Create an identity for log/pid files -if [[ -z "$identity" ]]; then - if [[ -n "$init_script" ]]; then - identity="${init_script}" - else - identity=$(basename "${initfile%.*}")_${initfolder//\//} - fi -fi - -# Initialize log file name if not provided by the config file -[[ -z "$LOG_FILENAME" ]] && LOG_FILENAME="${identity}.log" - -# ANSI Colors -echoRed() { echo $'\e[0;31m'"$1"$'\e[0m'; } -echoGreen() { echo $'\e[0;32m'"$1"$'\e[0m'; } -echoYellow() { echo $'\e[0;33m'"$1"$'\e[0m'; } - -# Utility functions -checkPermissions() { - touch "$pid_file" &> /dev/null || { echoRed "Operation not permitted (cannot access pid file)"; return 4; } - touch "$log_file" &> /dev/null || { echoRed "Operation not permitted (cannot access log file)"; return 4; } -} - -isRunning() { - ps -p "$1" &> /dev/null -} - -await_file() { - end=$(date +%s) - let "end+=10" - while [[ ! -s "$1" ]] - do - now=$(date +%s) - if [[ $now -ge $end ]]; then - break - fi - sleep 1 - done -} - -# Determine the script mode -action="run" -if [[ "$MODE" == "auto" && -n "$init_script" ]] || [[ "$MODE" == "service" ]]; then - action="$1" - shift -fi - -# Build the pid and log filenames -if [[ "$identity" == "$init_script" ]] || [[ "$identity" == "$APP_NAME" ]]; then - PID_FOLDER="$PID_FOLDER/${identity}" - pid_subfolder=$PID_FOLDER -fi -pid_file="$PID_FOLDER/${identity}.pid" -log_file="$LOG_FOLDER/$LOG_FILENAME" - -# Determine the user to run as if we are root -# shellcheck disable=SC2012 -[[ $(id -u) == "0" ]] && run_user=$(ls -ld "$mainfile" | awk '{print $3}') - -arguments=($RUN_ARGS "$@") - -# Action functions -start() { - if [[ -f "$pid_file" ]]; then - pid=$(cat "$pid_file") - isRunning "$pid" && { echoYellow "Already running [$pid]"; return 0; } - fi - do_start "$@" -} - -do_start() { - working_dir=$(dirname "$mainfile") - pushd "$working_dir" > /dev/null - mkdir -p "$PID_FOLDER" &> /dev/null - if [[ -n "$run_user" ]]; then - checkPermissions || return $? - if [[ -z "$pid_subfolder" ]]; then - chown "$run_user" "$pid_subfolder" - fi - chown "$run_user" "$pid_file" - chown "$run_user" "$log_file" - if [ $USE_START_STOP_DAEMON = true ] && type start-stop-daemon > /dev/null 2>&1; then - start-stop-daemon --start --quiet \ - --chuid "$run_user" \ - --name "$identity" \ - --make-pidfile --pidfile "$pid_file" \ - --background --no-close \ - --startas "$mainfile" \ - --chdir "$working_dir" \ - -- "${arguments[@]}" \ - >> "$log_file" 2>&1 - await_file "$pid_file" - else - su -s /bin/sh -c "$mainfile $(printf "\"%s\" " "${arguments[@]}") >> \"$log_file\" 2>&1 & echo \$!" "$run_user" > "$pid_file" - fi - pid=$(cat "$pid_file") - else - checkPermissions || return $? - "$mainfile" "${arguments[@]}" >> "$log_file" 2>&1 & - pid=$! - disown $pid - echo "$pid" > "$pid_file" - fi - [[ -z $pid ]] && { echoRed "Failed to start"; return 1; } - echoGreen "Started [$pid]" -} - -stop() { - working_dir=$(dirname "$mainfile") - pushd "$working_dir" > /dev/null - [[ -f $pid_file ]] || { echoYellow "Not running (pidfile not found)"; return 0; } - pid=$(cat "$pid_file") - isRunning "$pid" || { echoYellow "Not running (process ${pid}). Removing stale pid file."; rm -f "$pid_file"; return 0; } - do_stop "$pid" "$pid_file" -} - -do_stop() { - kill -2 "$1" &> /dev/null || { echoRed "Unable to kill process $1"; return 1; } - for i in $(seq 1 60); do - isRunning "$1" || { echoGreen "Stopped [$1]"; rm -f "$2"; return 0; } - [[ $i -eq 30 ]] && kill -9 "$1" &> /dev/null - sleep 1 - done - echoRed "Unable to kill process $1"; - return 1; -} - -restart() { - stop && start -} - -orce_reload() { - working_dir=$(dirname "$mainfile") - pushd "$working_dir" > /dev/null - [[ -f $pid_file ]] || { echoRed "Not running (pidfile not found)"; return 7; } - pid=$(cat "$pid_file") - rm -f "$pid_file" - isRunning "$pid" || { echoRed "Not running (process ${pid} not found)"; return 7; } - do_stop "$pid" "$pid_file" - do_start -} - -status() { - working_dir=$(dirname "$mainfile") - pushd "$working_dir" > /dev/null - [[ -f "$pid_file" ]] || { echoRed "Not running"; return 3; } - pid=$(cat "$pid_file") - isRunning "$pid" || { echoRed "Not running (process ${pid} not found)"; return 1; } - echoGreen "Running [$pid]" - return 0 -} - -run() { - pushd "$(dirname "$mainfile")" > /dev/null - "$mainfile" "${arguments[@]}" - result=$? - popd > /dev/null - return "$result" -} - -# Call the appropriate action function -case "$action" in -start) - start "$@"; exit $?;; -stop) - stop "$@"; exit $?;; -restart) - restart "$@"; exit $?;; -force-reload) - force_reload "$@"; exit $?;; -status) - status "$@"; exit $?;; -run) - run "$@"; exit $?;; -*) - echo "Usage: $0 {start|stop|restart|force-reload|status|run}"; exit 1; -esac - -exit 0 diff --git a/msa/js-executor/src/main/scripts/windows/service.xml b/msa/js-executor/src/main/scripts/windows/service.xml deleted file mode 100644 index bb91111586..0000000000 --- a/msa/js-executor/src/main/scripts/windows/service.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - ${pkg.name} - ${project.name} - ${project.description} - %BASE%\bin - ${pkg.winWrapperLogFolder} - rotate - - - - %BASE%\bin\${pkg.name}.exe - diff --git a/msa/web-ui/pom.xml b/msa/web-ui/pom.xml index b1c611106a..853dd6e3ad 100644 --- a/msa/web-ui/pom.xml +++ b/msa/web-ui/pom.xml @@ -35,9 +35,13 @@ UTF-8 ${basedir}/../.. tb-web-ui + js tb-web-ui - /var/log/${pkg.name} - /usr/share/${pkg.name} + tb-web-ui + js + false + process-resources + package ${project.build.directory}/package/linux ${project.build.directory}/package/windows @@ -133,176 +137,192 @@ + + org.apache.maven.plugins + maven-dependency-plugin + org.apache.maven.plugins maven-resources-plugin - - - copy-linux-conf - process-resources - - copy-resources - - - ${pkg.linux.dist}/conf - - - config - true - - - - src/main/filters/unix.properties - - - - - copy-linux-init - process-resources - - copy-resources - - - ${pkg.linux.dist}/init - - - src/main/scripts/init - true - - - - src/main/filters/unix.properties - - - - - copy-win-conf - process-resources - - copy-resources - - - ${pkg.win.dist}/conf - - - config - - tb-web-ui.conf - - true - - - - src/main/filters/windows.properties - - - - - copy-control - process-resources - - copy-resources - - - ${project.build.directory}/control - - - src/main/scripts/control - true - - - - src/main/filters/unix.properties - - - - - copy-windows-control - process-resources - - copy-resources - - - ${pkg.win.dist} - - - src/main/scripts/windows - true - - - - src/main/filters/windows.properties - - - - - copy-docker-config - process-resources - - copy-resources - - - ${project.build.directory} - - - docker - true - - - - - org.thingsboard gradle-maven-plugin - - ${basedir} - - build - buildDeb - buildRpm - renameDeb - renameRpm - - - -PprojectBuildDir=${project.build.directory} - -PprojectVersion=${project.version} - -PpkgName=${pkg.name} - -PpkgUser=${pkg.user} - -PpkgInstallFolder=${pkg.installFolder} - -PpkgLogFolder=${pkg.unixLogFolder} - - - - - package - - invoke - - - org.apache.maven.plugins maven-assembly-plugin - 3.0.0 - - ${pkg.name} - - src/main/assembly/windows.xml - - - - - assembly - package - - single - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + com.spotify dockerfile-maven-plugin diff --git a/msa/web-ui/src/main/scripts/control/deb/postinst b/msa/web-ui/src/main/scripts/control/deb/postinst deleted file mode 100644 index 0767d3f2c7..0000000000 --- a/msa/web-ui/src/main/scripts/control/deb/postinst +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -chown -R ${pkg.user}: ${pkg.logFolder} -chown -R ${pkg.user}: ${pkg.installFolder} -update-rc.d ${pkg.name} defaults - diff --git a/msa/web-ui/src/main/scripts/control/deb/postrm b/msa/web-ui/src/main/scripts/control/deb/postrm deleted file mode 100644 index 61865803c3..0000000000 --- a/msa/web-ui/src/main/scripts/control/deb/postrm +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -update-rc.d -f ${pkg.name} remove diff --git a/msa/web-ui/src/main/scripts/control/deb/preinst b/msa/web-ui/src/main/scripts/control/deb/preinst deleted file mode 100644 index d2ebea46d7..0000000000 --- a/msa/web-ui/src/main/scripts/control/deb/preinst +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh - -if ! getent group ${pkg.user} >/dev/null; then - addgroup --system ${pkg.user} -fi - -if ! getent passwd ${pkg.user} >/dev/null; then - adduser --quiet \ - --system \ - --ingroup ${pkg.user} \ - --quiet \ - --disabled-login \ - --disabled-password \ - --home ${pkg.installFolder} \ - --no-create-home \ - -gecos "Thingsboard application" \ - ${pkg.user} -fi diff --git a/msa/web-ui/src/main/scripts/control/deb/prerm b/msa/web-ui/src/main/scripts/control/deb/prerm deleted file mode 100644 index 898d3efd5c..0000000000 --- a/msa/web-ui/src/main/scripts/control/deb/prerm +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -if [ -e /var/run/${pkg.name}/${pkg.name}.pid ]; then - service ${pkg.name} stop -fi diff --git a/msa/web-ui/src/main/scripts/control/rpm/postinst b/msa/web-ui/src/main/scripts/control/rpm/postinst deleted file mode 100644 index d8021e2dd9..0000000000 --- a/msa/web-ui/src/main/scripts/control/rpm/postinst +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh - -chown -R ${pkg.user}: ${pkg.logFolder} -chown -R ${pkg.user}: ${pkg.installFolder} - -if [ $1 -eq 1 ] ; then - # Initial installation - systemctl --no-reload enable ${pkg.name}.service >/dev/null 2>&1 || : -fi diff --git a/msa/web-ui/src/main/scripts/control/tb-web-ui.service b/msa/web-ui/src/main/scripts/control/tb-web-ui.service deleted file mode 100644 index f542dd0f92..0000000000 --- a/msa/web-ui/src/main/scripts/control/tb-web-ui.service +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=${pkg.name} -After=syslog.target - -[Service] -User=${pkg.user} -ExecStart=${pkg.installFolder}/init/${pkg.name} -SuccessExitStatus=143 - -[Install] -WantedBy=multi-user.target diff --git a/msa/web-ui/src/main/scripts/windows/install.bat b/msa/web-ui/src/main/scripts/windows/install.bat deleted file mode 100644 index 9f257eba79..0000000000 --- a/msa/web-ui/src/main/scripts/windows/install.bat +++ /dev/null @@ -1,31 +0,0 @@ -@REM -@REM Copyright © 2016-2018 The Thingsboard Authors -@REM -@REM Licensed under the Apache License, Version 2.0 (the "License"); -@REM you may not use this file except in compliance with the License. -@REM You may obtain a copy of the License at -@REM -@REM http://www.apache.org/licenses/LICENSE-2.0 -@REM -@REM Unless required by applicable law or agreed to in writing, software -@REM distributed under the License is distributed on an "AS IS" BASIS, -@REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@REM See the License for the specific language governing permissions and -@REM limitations under the License. -@REM - -@ECHO OFF - -setlocal ENABLEEXTENSIONS - -@ECHO Installing ${pkg.name} ... - -SET BASE=%~dp0 - -"%BASE%"${pkg.name}.exe install - -@ECHO ${pkg.name} installed successfully! - -GOTO END - -:END diff --git a/msa/web-ui/src/main/scripts/windows/uninstall.bat b/msa/web-ui/src/main/scripts/windows/uninstall.bat deleted file mode 100644 index 6d6f5be1b4..0000000000 --- a/msa/web-ui/src/main/scripts/windows/uninstall.bat +++ /dev/null @@ -1,25 +0,0 @@ -@REM -@REM Copyright © 2016-2018 The Thingsboard Authors -@REM -@REM Licensed under the Apache License, Version 2.0 (the "License"); -@REM you may not use this file except in compliance with the License. -@REM You may obtain a copy of the License at -@REM -@REM http://www.apache.org/licenses/LICENSE-2.0 -@REM -@REM Unless required by applicable law or agreed to in writing, software -@REM distributed under the License is distributed on an "AS IS" BASIS, -@REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@REM See the License for the specific language governing permissions and -@REM limitations under the License. -@REM - -@ECHO OFF - -@ECHO Stopping ${pkg.name} ... -net stop ${pkg.name} - -@ECHO Uninstalling ${pkg.name} ... -"%~dp0"${pkg.name}.exe uninstall - -@ECHO DONE. \ No newline at end of file diff --git a/packaging/filters/unix.properties b/packaging/filters/unix.properties deleted file mode 100644 index 8967278673..0000000000 --- a/packaging/filters/unix.properties +++ /dev/null @@ -1 +0,0 @@ -pkg.logFolder=${pkg.unixLogFolder} \ No newline at end of file diff --git a/packaging/filters/windows.properties b/packaging/filters/windows.properties deleted file mode 100644 index a6e48d91ba..0000000000 --- a/packaging/filters/windows.properties +++ /dev/null @@ -1,2 +0,0 @@ -pkg.logFolder=${BASE}\\logs -pkg.winWrapperLogFolder=%BASE%\\logs diff --git a/packaging/assembly/windows.xml b/packaging/java/assembly/windows.xml similarity index 100% rename from packaging/assembly/windows.xml rename to packaging/java/assembly/windows.xml diff --git a/packaging/build.gradle b/packaging/java/build.gradle similarity index 100% rename from packaging/build.gradle rename to packaging/java/build.gradle diff --git a/msa/js-executor/src/main/filters/unix.properties b/packaging/java/filters/unix.properties similarity index 100% rename from msa/js-executor/src/main/filters/unix.properties rename to packaging/java/filters/unix.properties diff --git a/msa/js-executor/src/main/filters/windows.properties b/packaging/java/filters/windows.properties similarity index 100% rename from msa/js-executor/src/main/filters/windows.properties rename to packaging/java/filters/windows.properties diff --git a/packaging/scripts/control/deb/postinst b/packaging/java/scripts/control/deb/postinst similarity index 100% rename from packaging/scripts/control/deb/postinst rename to packaging/java/scripts/control/deb/postinst diff --git a/packaging/scripts/control/deb/postrm b/packaging/java/scripts/control/deb/postrm similarity index 100% rename from packaging/scripts/control/deb/postrm rename to packaging/java/scripts/control/deb/postrm diff --git a/packaging/scripts/control/deb/preinst b/packaging/java/scripts/control/deb/preinst similarity index 100% rename from packaging/scripts/control/deb/preinst rename to packaging/java/scripts/control/deb/preinst diff --git a/packaging/scripts/control/deb/prerm b/packaging/java/scripts/control/deb/prerm similarity index 100% rename from packaging/scripts/control/deb/prerm rename to packaging/java/scripts/control/deb/prerm diff --git a/msa/js-executor/src/main/scripts/control/rpm/postinst b/packaging/java/scripts/control/rpm/postinst similarity index 100% rename from msa/js-executor/src/main/scripts/control/rpm/postinst rename to packaging/java/scripts/control/rpm/postinst diff --git a/msa/js-executor/src/main/scripts/control/rpm/postrm b/packaging/java/scripts/control/rpm/postrm similarity index 100% rename from msa/js-executor/src/main/scripts/control/rpm/postrm rename to packaging/java/scripts/control/rpm/postrm diff --git a/msa/js-executor/src/main/scripts/control/rpm/preinst b/packaging/java/scripts/control/rpm/preinst similarity index 100% rename from msa/js-executor/src/main/scripts/control/rpm/preinst rename to packaging/java/scripts/control/rpm/preinst diff --git a/msa/js-executor/src/main/scripts/control/rpm/prerm b/packaging/java/scripts/control/rpm/prerm similarity index 100% rename from msa/js-executor/src/main/scripts/control/rpm/prerm rename to packaging/java/scripts/control/rpm/prerm diff --git a/packaging/scripts/control/template.service b/packaging/java/scripts/control/template.service similarity index 100% rename from packaging/scripts/control/template.service rename to packaging/java/scripts/control/template.service diff --git a/packaging/scripts/install/install.sh b/packaging/java/scripts/install/install.sh similarity index 100% rename from packaging/scripts/install/install.sh rename to packaging/java/scripts/install/install.sh diff --git a/packaging/scripts/install/install_dev_db.sh b/packaging/java/scripts/install/install_dev_db.sh similarity index 100% rename from packaging/scripts/install/install_dev_db.sh rename to packaging/java/scripts/install/install_dev_db.sh diff --git a/packaging/scripts/install/logback.xml b/packaging/java/scripts/install/logback.xml similarity index 100% rename from packaging/scripts/install/logback.xml rename to packaging/java/scripts/install/logback.xml diff --git a/packaging/scripts/install/upgrade.sh b/packaging/java/scripts/install/upgrade.sh similarity index 100% rename from packaging/scripts/install/upgrade.sh rename to packaging/java/scripts/install/upgrade.sh diff --git a/packaging/scripts/install/upgrade_dev_db.sh b/packaging/java/scripts/install/upgrade_dev_db.sh similarity index 100% rename from packaging/scripts/install/upgrade_dev_db.sh rename to packaging/java/scripts/install/upgrade_dev_db.sh diff --git a/packaging/scripts/windows/install.bat b/packaging/java/scripts/windows/install.bat similarity index 100% rename from packaging/scripts/windows/install.bat rename to packaging/java/scripts/windows/install.bat diff --git a/packaging/scripts/windows/install_dev_db.bat b/packaging/java/scripts/windows/install_dev_db.bat similarity index 100% rename from packaging/scripts/windows/install_dev_db.bat rename to packaging/java/scripts/windows/install_dev_db.bat diff --git a/packaging/scripts/windows/service.xml b/packaging/java/scripts/windows/service.xml similarity index 100% rename from packaging/scripts/windows/service.xml rename to packaging/java/scripts/windows/service.xml diff --git a/packaging/scripts/windows/uninstall.bat b/packaging/java/scripts/windows/uninstall.bat similarity index 100% rename from packaging/scripts/windows/uninstall.bat rename to packaging/java/scripts/windows/uninstall.bat diff --git a/packaging/scripts/windows/upgrade.bat b/packaging/java/scripts/windows/upgrade.bat similarity index 100% rename from packaging/scripts/windows/upgrade.bat rename to packaging/java/scripts/windows/upgrade.bat diff --git a/msa/web-ui/src/main/assembly/windows.xml b/packaging/js/assembly/windows.xml similarity index 100% rename from msa/web-ui/src/main/assembly/windows.xml rename to packaging/js/assembly/windows.xml diff --git a/msa/web-ui/build.gradle b/packaging/js/build.gradle similarity index 93% rename from msa/web-ui/build.gradle rename to packaging/js/build.gradle index 42cc38b72e..34399ae5ea 100644 --- a/msa/web-ui/build.gradle +++ b/packaging/js/build.gradle @@ -47,26 +47,29 @@ ospackage { permissionGroup pkgUser // Copy the executable file - from("target/package/linux/bin/${pkgName}") { + from("${buildDir}/package/linux/bin/${pkgName}") { fileMode 0500 into "bin" } // Copy the init file - from("target/package/linux/init/${pkgName}") { + from("${buildDir}/package/linux/init/template") { fileMode 0500 into "init" + rename { String filename -> + "${pkgName}" + } } // Copy the config files - from("target/package/linux/conf") { + from("${buildDir}/package/linux/conf") { fileType CONFIG | NOREPLACE fileMode 0754 into "conf" } // Copy web files - from("target/web") { + from("${buildDir}/web") { into "web" } diff --git a/msa/web-ui/src/main/filters/unix.properties b/packaging/js/filters/unix.properties similarity index 100% rename from msa/web-ui/src/main/filters/unix.properties rename to packaging/js/filters/unix.properties diff --git a/msa/web-ui/src/main/filters/windows.properties b/packaging/js/filters/windows.properties similarity index 100% rename from msa/web-ui/src/main/filters/windows.properties rename to packaging/js/filters/windows.properties diff --git a/msa/js-executor/src/main/scripts/control/deb/postinst b/packaging/js/scripts/control/deb/postinst similarity index 100% rename from msa/js-executor/src/main/scripts/control/deb/postinst rename to packaging/js/scripts/control/deb/postinst diff --git a/msa/js-executor/src/main/scripts/control/deb/postrm b/packaging/js/scripts/control/deb/postrm similarity index 100% rename from msa/js-executor/src/main/scripts/control/deb/postrm rename to packaging/js/scripts/control/deb/postrm diff --git a/msa/js-executor/src/main/scripts/control/deb/preinst b/packaging/js/scripts/control/deb/preinst similarity index 100% rename from msa/js-executor/src/main/scripts/control/deb/preinst rename to packaging/js/scripts/control/deb/preinst diff --git a/msa/js-executor/src/main/scripts/control/deb/prerm b/packaging/js/scripts/control/deb/prerm similarity index 100% rename from msa/js-executor/src/main/scripts/control/deb/prerm rename to packaging/js/scripts/control/deb/prerm diff --git a/packaging/scripts/control/rpm/postinst b/packaging/js/scripts/control/rpm/postinst similarity index 100% rename from packaging/scripts/control/rpm/postinst rename to packaging/js/scripts/control/rpm/postinst diff --git a/msa/web-ui/src/main/scripts/control/rpm/postrm b/packaging/js/scripts/control/rpm/postrm similarity index 100% rename from msa/web-ui/src/main/scripts/control/rpm/postrm rename to packaging/js/scripts/control/rpm/postrm diff --git a/msa/web-ui/src/main/scripts/control/rpm/preinst b/packaging/js/scripts/control/rpm/preinst similarity index 100% rename from msa/web-ui/src/main/scripts/control/rpm/preinst rename to packaging/js/scripts/control/rpm/preinst diff --git a/msa/web-ui/src/main/scripts/control/rpm/prerm b/packaging/js/scripts/control/rpm/prerm similarity index 100% rename from msa/web-ui/src/main/scripts/control/rpm/prerm rename to packaging/js/scripts/control/rpm/prerm diff --git a/msa/js-executor/src/main/scripts/control/tb-js-executor.service b/packaging/js/scripts/control/template.service similarity index 100% rename from msa/js-executor/src/main/scripts/control/tb-js-executor.service rename to packaging/js/scripts/control/template.service diff --git a/msa/web-ui/src/main/scripts/init/tb-web-ui b/packaging/js/scripts/init/template similarity index 99% rename from msa/web-ui/src/main/scripts/init/tb-web-ui rename to packaging/js/scripts/init/template index d0d3f95fc9..4a8104ae05 100644 --- a/msa/web-ui/src/main/scripts/init/tb-web-ui +++ b/packaging/js/scripts/init/template @@ -3,7 +3,7 @@ ### BEGIN INIT INFO -# Provides: tb-web-ui +# Provides: ${pkg.name} # Required-Start: $remote_fs $syslog $network # Required-Stop: $remote_fs $syslog $network # Default-Start: 2 3 4 5 diff --git a/msa/js-executor/src/main/scripts/windows/install.bat b/packaging/js/scripts/windows/install.bat similarity index 100% rename from msa/js-executor/src/main/scripts/windows/install.bat rename to packaging/js/scripts/windows/install.bat diff --git a/msa/web-ui/src/main/scripts/windows/service.xml b/packaging/js/scripts/windows/service.xml similarity index 100% rename from msa/web-ui/src/main/scripts/windows/service.xml rename to packaging/js/scripts/windows/service.xml diff --git a/msa/js-executor/src/main/scripts/windows/uninstall.bat b/packaging/js/scripts/windows/uninstall.bat similarity index 100% rename from msa/js-executor/src/main/scripts/windows/uninstall.bat rename to packaging/js/scripts/windows/uninstall.bat diff --git a/packaging/scripts/control/rpm/postrm b/packaging/scripts/control/rpm/postrm deleted file mode 100644 index 8e1f8a2048..0000000000 --- a/packaging/scripts/control/rpm/postrm +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -if [ $1 -ge 1 ] ; then - # Package upgrade, not uninstall - systemctl try-restart ${pkg.name}.service >/dev/null 2>&1 || : -fi diff --git a/packaging/scripts/control/rpm/preinst b/packaging/scripts/control/rpm/preinst deleted file mode 100644 index db6306e4ac..0000000000 --- a/packaging/scripts/control/rpm/preinst +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -getent group ${pkg.user} >/dev/null || groupadd -r ${pkg.user} -getent passwd ${pkg.user} >/dev/null || \ -useradd -d ${pkg.installFolder} -g ${pkg.user} -M -r ${pkg.user} -s /sbin/nologin \ --c "Thingsboard application" diff --git a/packaging/scripts/control/rpm/prerm b/packaging/scripts/control/rpm/prerm deleted file mode 100644 index accb487b8e..0000000000 --- a/packaging/scripts/control/rpm/prerm +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -if [ $1 -eq 0 ] ; then - # Package removal, not upgrade - systemctl --no-reload disable --now ${pkg.name}.service > /dev/null 2>&1 || : -fi diff --git a/pom.xml b/pom.xml index ab9df535b4..b9d9cac3b6 100755 --- a/pom.xml +++ b/pom.xml @@ -34,6 +34,8 @@ none thingsboard ${project.name} + /var/log/${pkg.name} + /usr/share/${pkg.name} 2.2.6.RELEASE 2.1.2.RELEASE 5.2.6.RELEASE @@ -184,7 +186,45 @@ - ${main.dir}/packaging/filters/unix.properties + ${main.dir}/packaging/${pkg.type}/filters/unix.properties + + + + + copy-linux-conf + ${pkg.process-resources.phase} + + copy-resources + + + ${pkg.linux.dist}/conf + + + config + true + + + + ${main.dir}/packaging/${pkg.type}/filters/unix.properties + + + + + copy-linux-init + ${pkg.process-resources.phase} + + copy-resources + + + ${pkg.linux.dist}/init + + + ${main.dir}/packaging/${pkg.type}/scripts/init + true + + + + ${main.dir}/packaging/${pkg.type}/filters/unix.properties @@ -207,13 +247,13 @@ src/main/conf - thingsboard.conf + ${pkg.name}.conf true - ${main.dir}/packaging/filters/windows.properties + ${main.dir}/packaging/${pkg.type}/filters/windows.properties @@ -227,12 +267,12 @@ ${project.build.directory}/control - ${main.dir}/packaging/scripts/control + ${main.dir}/packaging/${pkg.type}/scripts/control true - ${main.dir}/packaging/filters/unix.properties + ${main.dir}/packaging/${pkg.type}/filters/unix.properties @@ -246,7 +286,7 @@ ${project.build.directory}/bin/install - ${main.dir}/packaging/scripts/install + ${main.dir}/packaging/${pkg.type}/scripts/install **/*.sh **/*.xml @@ -255,7 +295,7 @@ - ${main.dir}/packaging/filters/unix.properties + ${main.dir}/packaging/${pkg.type}/filters/unix.properties @@ -269,12 +309,12 @@ ${pkg.win.dist} - ${main.dir}/packaging/scripts/windows + ${main.dir}/packaging/${pkg.type}/scripts/windows true - ${main.dir}/packaging/filters/windows.properties + ${main.dir}/packaging/${pkg.type}/filters/windows.properties @@ -288,7 +328,7 @@ ${pkg.win.dist}/install - ${main.dir}/packaging/scripts/install + ${main.dir}/packaging/${pkg.type}/scripts/install logback.xml @@ -296,7 +336,7 @@ - ${main.dir}/packaging/filters/windows.properties + ${main.dir}/packaging/${pkg.type}/filters/windows.properties @@ -323,6 +363,22 @@ + + copy-docker-config + ${pkg.process-resources.phase} + + copy-resources + + + ${project.build.directory} + + + docker + true + + + + @@ -394,7 +450,7 @@ org.thingsboard gradle-maven-plugin - ${main.dir}/packaging + ${main.dir}/packaging/${pkg.type} build buildDeb @@ -433,7 +489,7 @@ ${pkg.name} - ${main.dir}/packaging/assembly/windows.xml + ${main.dir}/packaging/${pkg.type}/assembly/windows.xml @@ -659,8 +715,12 @@ src/vendor/** src/font/** src/sh/** - packaging/scripts/control/** - packaging/scripts/windows/** + packaging/*/scripts/control/** + packaging/*/scripts/windows/** + packaging/*/scripts/init/** + **/*.log + **/*.current + .instance_id src/main/scripts/control/** src/main/scripts/windows/** src/main/resources/public/static/rulenode/** diff --git a/transport/coap/pom.xml b/transport/coap/pom.xml index 6ca154b882..84b92ba548 100644 --- a/transport/coap/pom.xml +++ b/transport/coap/pom.xml @@ -33,12 +33,11 @@ UTF-8 ${basedir}/../.. + java false process-resources package tb-coap-transport - /var/log/${pkg.name} - /usr/share/${pkg.name} false ${project.build.directory}/windows ThingsBoard CoAP Transport Service diff --git a/transport/http/pom.xml b/transport/http/pom.xml index a1800c4e9f..a5a377555e 100644 --- a/transport/http/pom.xml +++ b/transport/http/pom.xml @@ -33,12 +33,11 @@ UTF-8 ${basedir}/../.. + java false process-resources package tb-http-transport - /var/log/${pkg.name} - /usr/share/${pkg.name} false ${project.build.directory}/windows ThingsBoard HTTP Transport Service diff --git a/transport/mqtt/pom.xml b/transport/mqtt/pom.xml index 084dbc3679..c447f8e8d2 100644 --- a/transport/mqtt/pom.xml +++ b/transport/mqtt/pom.xml @@ -33,12 +33,11 @@ UTF-8 ${basedir}/../.. + java false process-resources package tb-mqtt-transport - /var/log/${pkg.name} - /usr/share/${pkg.name} false ${project.build.directory}/windows ThingsBoard MQTT Transport Service