diff --git a/application/pom.xml b/application/pom.xml index 4241b66634..89a6377bea 100644 --- a/application/pom.xml +++ b/application/pom.xml @@ -417,6 +417,28 @@ + + copy-windows-install + process-resources + + copy-resources + + + ${pkg.win.dist}/install + + + src/main/scripts/install + + logback.xml + + true + + + + src/main/filters/windows.properties + + + copy-data process-resources @@ -503,6 +525,9 @@ org.apache.maven.plugins maven-jar-plugin + + **/logback.xml + ThingsBoard diff --git a/application/src/main/assembly/windows.xml b/application/src/main/assembly/windows.xml index 023c4350a8..5c6e0ee47e 100644 --- a/application/src/main/assembly/windows.xml +++ b/application/src/main/assembly/windows.xml @@ -33,6 +33,11 @@ */** + + ${pkg.win.dist}/install + install + windows + ${pkg.win.dist}/conf conf @@ -75,5 +80,10 @@ windows + + ${pkg.win.dist}/upgrade.bat + + windows + diff --git a/application/src/main/scripts/windows/install.bat b/application/src/main/scripts/windows/install.bat index d124e9a358..c160367486 100644 --- a/application/src/main/scripts/windows/install.bat +++ b/application/src/main/scripts/windows/install.bat @@ -69,9 +69,34 @@ IF "%JRE_PATH2%" == "" GOTO JAVA_NOT_INSTALLED @ECHO Java 1.8 found! @ECHO Installing ${pkg.name} ... -%~dp0${pkg.name}.exe install -@ECHO DONE. +SET loadDemo=false + +if "%1" == "--loadDemo" ( + SET loadDemo=true +) + +SET BASE=%~dp0 +SET LOADER_PATH=%BASE%\conf,%BASE%\extensions +SET jarfile=%BASE%\lib\${pkg.name}.jar +SET installDir=%BASE%\data + +java -cp %jarfile% -Dloader.main=org.thingsboard.server.ThingsboardInstallApplication^ + -Dinstall.data_dir=%installDir%^ + -Dinstall.load_demo=%loadDemo%^ + -Dspring.jpa.hibernate.ddl-auto=none^ + -Dinstall.upgrade=false^ + -Dlogging.config=%BASE%\install\logback.xml^ + org.springframework.boot.loader.PropertiesLauncher + +if errorlevel 1 ( + @echo ThingsBoard installation failed! + exit /b %errorlevel% +) + +%BASE%${pkg.name}.exe install + +@ECHO ThingsBoard installed successfully! GOTO END diff --git a/application/src/main/scripts/windows/upgrade.bat b/application/src/main/scripts/windows/upgrade.bat new file mode 100644 index 0000000000..3e6aed34f0 --- /dev/null +++ b/application/src/main/scripts/windows/upgrade.bat @@ -0,0 +1,45 @@ +@ECHO OFF + +setlocal ENABLEEXTENSIONS + +@ECHO Upgrading ${pkg.name} ... + +SET BASE=%~dp0 + +:loop +IF NOT "%1"=="" ( + IF "%1"=="--fromVersion" ( + SET fromVersion=%2 + ) + SHIFT + GOTO :loop +) + +if not defined fromVersion ( + echo "--fromVersion parameter is invalid or unspecified!" + echo "Usage: upgrade.bat --fromVersion {VERSION}" + exit /b 1 +) + +SET LOADER_PATH=%BASE%\conf,%BASE%\extensions +SET jarfile=%BASE%\lib\${pkg.name}.jar +SET installDir=%BASE%\data + +java -cp %jarfile% -Dloader.main=org.thingsboard.server.ThingsboardInstallApplication^ + -Dinstall.data_dir=%installDir%^ + -Dspring.jpa.hibernate.ddl-auto=none^ + -Dinstall.upgrade=true^ + -Dinstall.upgrade.from_version=%fromVersion%^ + -Dlogging.config=%BASE%\install\logback.xml^ + org.springframework.boot.loader.PropertiesLauncher + +if errorlevel 1 ( + @echo ThingsBoard upgrade failed! + exit /b %errorlevel% +) + +@ECHO ThingsBoard upgraded successfully! + +GOTO END + +:END