thingsboard-aplcache

Merge pull request #198 from thingsboard/feature/TB-65 TB-65:

7/5/2017 5:15:48 AM

Details

application/pom.xml 25(+25 -0)

diff --git a/application/pom.xml b/application/pom.xml
index 4241b66..89a6377 100644
--- a/application/pom.xml
+++ b/application/pom.xml
@@ -418,6 +418,28 @@
                         </configuration>
                     </execution>
                     <execution>
+                        <id>copy-windows-install</id>
+                        <phase>process-resources</phase>
+                        <goals>
+                            <goal>copy-resources</goal>
+                        </goals>
+                        <configuration>
+                            <outputDirectory>${pkg.win.dist}/install</outputDirectory>
+                            <resources>
+                                <resource>
+                                    <directory>src/main/scripts/install</directory>
+                                    <includes>
+                                        <include>logback.xml</include>
+                                    </includes>
+                                    <filtering>true</filtering>
+                                </resource>
+                            </resources>
+                            <filters>
+                                <filter>src/main/filters/windows.properties</filter>
+                            </filters>
+                        </configuration>
+                    </execution>
+                    <execution>
                         <id>copy-data</id>
                         <phase>process-resources</phase>
                         <goals>
@@ -503,6 +525,9 @@
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-jar-plugin</artifactId>
                 <configuration>
+                    <excludes>
+                        <exclude>**/logback.xml</exclude>
+                    </excludes>
                     <archive>
                         <manifestEntries>
                             <Implementation-Title>ThingsBoard</Implementation-Title>
diff --git a/application/src/main/assembly/windows.xml b/application/src/main/assembly/windows.xml
index 023c435..5c6e0ee 100644
--- a/application/src/main/assembly/windows.xml
+++ b/application/src/main/assembly/windows.xml
@@ -34,6 +34,11 @@
             </excludes>
         </fileSet>
         <fileSet>
+            <directory>${pkg.win.dist}/install</directory>
+            <outputDirectory>install</outputDirectory>
+            <lineEnding>windows</lineEnding>
+        </fileSet>
+        <fileSet>
             <directory>${pkg.win.dist}/conf</directory>
             <outputDirectory>conf</outputDirectory>
             <lineEnding>windows</lineEnding>
@@ -75,5 +80,10 @@
             <outputDirectory/>
             <lineEnding>windows</lineEnding>
         </file>
+        <file>
+            <source>${pkg.win.dist}/upgrade.bat</source>
+            <outputDirectory/>
+            <lineEnding>windows</lineEnding>
+        </file>
     </files>
 </assembly>
diff --git a/application/src/main/scripts/windows/install.bat b/application/src/main/scripts/windows/install.bat
index d124e9a..c160367 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 0000000..3e6aed3
--- /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