62 changed files with 436 additions and 2061 deletions
@ -1,140 +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 = "3.8.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 pkgName |
|
||||
permissionGroup pkgName |
|
||||
|
|
||||
// Copy the actual .jar file |
|
||||
from(mainJar) { |
|
||||
// Strip the version from the jar filename |
|
||||
rename { String fileName -> |
|
||||
"${pkgName}.jar" |
|
||||
} |
|
||||
fileMode 0500 |
|
||||
into "bin" |
|
||||
} |
|
||||
|
|
||||
// Copy the config files |
|
||||
from("target/conf") { |
|
||||
exclude "${pkgName}.conf" |
|
||||
fileType CONFIG | NOREPLACE |
|
||||
fileMode 0754 |
|
||||
into "conf" |
|
||||
} |
|
||||
|
|
||||
} |
|
||||
|
|
||||
// Configure our RPM build task |
|
||||
buildRpm { |
|
||||
|
|
||||
arch = NOARCH |
|
||||
|
|
||||
version = projectVersion.replace('-', '') |
|
||||
archiveName = "${pkgName}.rpm" |
|
||||
|
|
||||
requires("java-1.8.0") |
|
||||
|
|
||||
from("target/conf") { |
|
||||
include "${pkgName}.conf" |
|
||||
filter(ReplaceTokens, tokens: ['pkg.platform': 'rpm']) |
|
||||
fileType CONFIG | NOREPLACE |
|
||||
fileMode 0754 |
|
||||
into "${pkgInstallFolder}/conf" |
|
||||
} |
|
||||
|
|
||||
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 pkgName |
|
||||
permissionGroup pkgName |
|
||||
|
|
||||
// Copy the system unit files |
|
||||
from("${buildDir}/control/${pkgName}.service") { |
|
||||
addParentDirs = false |
|
||||
fileMode 0644 |
|
||||
into "/usr/lib/systemd/system" |
|
||||
} |
|
||||
|
|
||||
directory(pkgLogFolder, 0755) |
|
||||
link("${pkgInstallFolder}/bin/${pkgName}.yml", "${pkgInstallFolder}/conf/${pkgName}.yml") |
|
||||
link("/etc/${pkgName}/conf", "${pkgInstallFolder}/conf") |
|
||||
} |
|
||||
|
|
||||
// Same as the buildRpm task |
|
||||
buildDeb { |
|
||||
|
|
||||
arch = "all" |
|
||||
|
|
||||
archiveName = "${pkgName}.deb" |
|
||||
|
|
||||
requires("openjdk-8-jre").or("java8-runtime").or("oracle-java8-installer").or("openjdk-8-jre-headless") |
|
||||
|
|
||||
from("target/conf") { |
|
||||
include "${pkgName}.conf" |
|
||||
filter(ReplaceTokens, tokens: ['pkg.platform': 'deb']) |
|
||||
fileType CONFIG | NOREPLACE |
|
||||
fileMode 0754 |
|
||||
into "${pkgInstallFolder}/conf" |
|
||||
} |
|
||||
|
|
||||
configurationFile("${pkgInstallFolder}/conf/${pkgName}.conf") |
|
||||
configurationFile("${pkgInstallFolder}/conf/${pkgName}.yml") |
|
||||
configurationFile("${pkgInstallFolder}/conf/logback.xml") |
|
||||
|
|
||||
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 pkgName |
|
||||
permissionGroup pkgName |
|
||||
|
|
||||
directory(pkgLogFolder, 0755) |
|
||||
link("/etc/init.d/${pkgName}", "${pkgInstallFolder}/bin/${pkgName}.jar") |
|
||||
link("${pkgInstallFolder}/bin/${pkgName}.yml", "${pkgInstallFolder}/conf/${pkgName}.yml") |
|
||||
link("/etc/${pkgName}/conf", "${pkgInstallFolder}/conf") |
|
||||
} |
|
||||
@ -1,71 +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. |
|
||||
|
|
||||
--> |
|
||||
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3" |
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
|
||||
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd"> |
|
||||
<id>windows</id> |
|
||||
|
|
||||
<formats> |
|
||||
<format>zip</format> |
|
||||
</formats> |
|
||||
|
|
||||
<!-- Workaround to create logs directory --> |
|
||||
<fileSets> |
|
||||
<fileSet> |
|
||||
<directory>${pkg.win.dist}</directory> |
|
||||
<outputDirectory>logs</outputDirectory> |
|
||||
<excludes> |
|
||||
<exclude>*/**</exclude> |
|
||||
</excludes> |
|
||||
</fileSet> |
|
||||
<fileSet> |
|
||||
<directory>${pkg.win.dist}/conf</directory> |
|
||||
<outputDirectory>conf</outputDirectory> |
|
||||
<lineEnding>windows</lineEnding> |
|
||||
</fileSet> |
|
||||
</fileSets> |
|
||||
|
|
||||
<files> |
|
||||
<file> |
|
||||
<source>${project.build.directory}/${project.build.finalName}-boot.${project.packaging}</source> |
|
||||
<outputDirectory>lib</outputDirectory> |
|
||||
<destName>${pkg.name}.jar</destName> |
|
||||
</file> |
|
||||
<file> |
|
||||
<source>${pkg.win.dist}/service.exe</source> |
|
||||
<outputDirectory/> |
|
||||
<destName>${pkg.name}.exe</destName> |
|
||||
</file> |
|
||||
<file> |
|
||||
<source>${pkg.win.dist}/service.xml</source> |
|
||||
<outputDirectory/> |
|
||||
<destName>${pkg.name}.xml</destName> |
|
||||
<lineEnding>windows</lineEnding> |
|
||||
</file> |
|
||||
<file> |
|
||||
<source>${pkg.win.dist}/install.bat</source> |
|
||||
<outputDirectory/> |
|
||||
<lineEnding>windows</lineEnding> |
|
||||
</file> |
|
||||
<file> |
|
||||
<source>${pkg.win.dist}/uninstall.bat</source> |
|
||||
<outputDirectory/> |
|
||||
<lineEnding>windows</lineEnding> |
|
||||
</file> |
|
||||
</files> |
|
||||
</assembly> |
|
||||
@ -1 +0,0 @@ |
|||||
pkg.logFolder=${pkg.unixLogFolder} |
|
||||
@ -1,2 +0,0 @@ |
|||||
pkg.logFolder=${BASE}\\logs |
|
||||
pkg.winWrapperLogFolder=%BASE%\\logs |
|
||||
@ -1,6 +0,0 @@ |
|||||
#!/bin/sh |
|
||||
|
|
||||
chown -R ${pkg.user}: ${pkg.logFolder} |
|
||||
chown -R ${pkg.user}: ${pkg.installFolder} |
|
||||
update-rc.d ${pkg.name} defaults |
|
||||
|
|
||||
@ -1,3 +0,0 @@ |
|||||
#!/bin/sh |
|
||||
|
|
||||
update-rc.d -f ${pkg.name} remove |
|
||||
@ -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 |
|
||||
@ -1,5 +0,0 @@ |
|||||
#!/bin/sh |
|
||||
|
|
||||
if [ -e /var/run/${pkg.name}/${pkg.name}.pid ]; then |
|
||||
service ${pkg.name} stop |
|
||||
fi |
|
||||
@ -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 |
|
||||
@ -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 |
|
||||
@ -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" |
|
||||
@ -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 |
|
||||
@ -1,11 +0,0 @@ |
|||||
[Unit] |
|
||||
Description=${pkg.name} |
|
||||
After=syslog.target |
|
||||
|
|
||||
[Service] |
|
||||
User=${pkg.user} |
|
||||
ExecStart=${pkg.installFolder}/bin/${pkg.name}.jar |
|
||||
SuccessExitStatus=143 |
|
||||
|
|
||||
[Install] |
|
||||
WantedBy=multi-user.target |
|
||||
@ -1,31 +0,0 @@ |
|||||
@ECHO OFF |
|
||||
|
|
||||
setlocal ENABLEEXTENSIONS |
|
||||
|
|
||||
@ECHO Detecting Java version installed. |
|
||||
:CHECK_JAVA |
|
||||
for /f tokens^=2-5^ delims^=.-_^" %%j in ('java -fullversion 2^>^&1') do set "jver=%%j%%k" |
|
||||
@ECHO CurrentVersion %jver% |
|
||||
|
|
||||
if %jver% NEQ 18 GOTO JAVA_NOT_INSTALLED |
|
||||
|
|
||||
:JAVA_INSTALLED |
|
||||
|
|
||||
@ECHO Java 1.8 found! |
|
||||
@ECHO Installing ${pkg.name} ... |
|
||||
|
|
||||
"%BASE%"${pkg.name}.exe install |
|
||||
|
|
||||
@ECHO ${pkg.name} installed successfully! |
|
||||
|
|
||||
GOTO END |
|
||||
|
|
||||
:JAVA_NOT_INSTALLED |
|
||||
@ECHO Java 1.8 is not installed. Only Java 1.8 is supported |
|
||||
@ECHO Please go to https://adoptopenjdk.net/index.html and install Java 1.8. Then retry installation. |
|
||||
PAUSE |
|
||||
GOTO END |
|
||||
|
|
||||
:END |
|
||||
|
|
||||
|
|
||||
@ -1,36 +0,0 @@ |
|||||
<service> |
|
||||
<id>${pkg.name}</id> |
|
||||
<name>${project.name}</name> |
|
||||
<description>${project.description}</description> |
|
||||
<workingdirectory>%BASE%\conf</workingdirectory> |
|
||||
<logpath>${pkg.winWrapperLogFolder}</logpath> |
|
||||
<logmode>rotate</logmode> |
|
||||
<env name="LOADER_PATH" value="%BASE%\conf" /> |
|
||||
<executable>java</executable> |
|
||||
<startargument>-Xloggc:%BASE%\logs\gc.log</startargument> |
|
||||
<startargument>-XX:+HeapDumpOnOutOfMemoryError</startargument> |
|
||||
<startargument>-XX:+PrintGCDetails</startargument> |
|
||||
<startargument>-XX:+PrintGCDateStamps</startargument> |
|
||||
<startargument>-XX:+PrintHeapAtGC</startargument> |
|
||||
<startargument>-XX:+PrintTenuringDistribution</startargument> |
|
||||
<startargument>-XX:+PrintGCApplicationStoppedTime</startargument> |
|
||||
<startargument>-XX:+UseGCLogFileRotation</startargument> |
|
||||
<startargument>-XX:NumberOfGCLogFiles=10</startargument> |
|
||||
<startargument>-XX:GCLogFileSize=10M</startargument> |
|
||||
<startargument>-XX:-UseBiasedLocking</startargument> |
|
||||
<startargument>-XX:+UseTLAB</startargument> |
|
||||
<startargument>-XX:+ResizeTLAB</startargument> |
|
||||
<startargument>-XX:+PerfDisableSharedMem</startargument> |
|
||||
<startargument>-XX:+UseCondCardMark</startargument> |
|
||||
<startargument>-XX:CMSWaitDuration=10000</startargument> |
|
||||
<startargument>-XX:+UseParNewGC</startargument> |
|
||||
<startargument>-XX:+UseConcMarkSweepGC</startargument> |
|
||||
<startargument>-XX:+CMSParallelRemarkEnabled</startargument> |
|
||||
<startargument>-XX:+CMSParallelInitialMarkEnabled</startargument> |
|
||||
<startargument>-XX:+CMSEdenChunksRecordAlways</startargument> |
|
||||
<startargument>-XX:CMSInitiatingOccupancyFraction=75</startargument> |
|
||||
<startargument>-XX:+UseCMSInitiatingOccupancyOnly</startargument> |
|
||||
<startargument>-jar</startargument> |
|
||||
<startargument>%BASE%\lib\${pkg.name}.jar</startargument> |
|
||||
|
|
||||
</service> |
|
||||
@ -1,9 +0,0 @@ |
|||||
@ECHO OFF |
|
||||
|
|
||||
@ECHO Stopping ${pkg.name} ... |
|
||||
net stop ${pkg.name} |
|
||||
|
|
||||
@ECHO Uninstalling ${pkg.name} ... |
|
||||
"%~dp0"${pkg.name}.exe uninstall |
|
||||
|
|
||||
@ECHO DONE. |
|
||||
@ -1,140 +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 = "3.8.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 pkgName |
|
||||
permissionGroup pkgName |
|
||||
|
|
||||
// Copy the actual .jar file |
|
||||
from(mainJar) { |
|
||||
// Strip the version from the jar filename |
|
||||
rename { String fileName -> |
|
||||
"${pkgName}.jar" |
|
||||
} |
|
||||
fileMode 0500 |
|
||||
into "bin" |
|
||||
} |
|
||||
|
|
||||
// Copy the config files |
|
||||
from("target/conf") { |
|
||||
exclude "${pkgName}.conf" |
|
||||
fileType CONFIG | NOREPLACE |
|
||||
fileMode 0754 |
|
||||
into "conf" |
|
||||
} |
|
||||
|
|
||||
} |
|
||||
|
|
||||
// Configure our RPM build task |
|
||||
buildRpm { |
|
||||
|
|
||||
arch = NOARCH |
|
||||
|
|
||||
version = projectVersion.replace('-', '') |
|
||||
archiveName = "${pkgName}.rpm" |
|
||||
|
|
||||
requires("java-1.8.0") |
|
||||
|
|
||||
from("target/conf") { |
|
||||
include "${pkgName}.conf" |
|
||||
filter(ReplaceTokens, tokens: ['pkg.platform': 'rpm']) |
|
||||
fileType CONFIG | NOREPLACE |
|
||||
fileMode 0754 |
|
||||
into "${pkgInstallFolder}/conf" |
|
||||
} |
|
||||
|
|
||||
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 pkgName |
|
||||
permissionGroup pkgName |
|
||||
|
|
||||
// Copy the system unit files |
|
||||
from("${buildDir}/control/${pkgName}.service") { |
|
||||
addParentDirs = false |
|
||||
fileMode 0644 |
|
||||
into "/usr/lib/systemd/system" |
|
||||
} |
|
||||
|
|
||||
directory(pkgLogFolder, 0755) |
|
||||
link("${pkgInstallFolder}/bin/${pkgName}.yml", "${pkgInstallFolder}/conf/${pkgName}.yml") |
|
||||
link("/etc/${pkgName}/conf", "${pkgInstallFolder}/conf") |
|
||||
} |
|
||||
|
|
||||
// Same as the buildRpm task |
|
||||
buildDeb { |
|
||||
|
|
||||
arch = "all" |
|
||||
|
|
||||
archiveName = "${pkgName}.deb" |
|
||||
|
|
||||
requires("openjdk-8-jre").or("java8-runtime").or("oracle-java8-installer").or("openjdk-8-jre-headless") |
|
||||
|
|
||||
from("target/conf") { |
|
||||
include "${pkgName}.conf" |
|
||||
filter(ReplaceTokens, tokens: ['pkg.platform': 'deb']) |
|
||||
fileType CONFIG | NOREPLACE |
|
||||
fileMode 0754 |
|
||||
into "${pkgInstallFolder}/conf" |
|
||||
} |
|
||||
|
|
||||
configurationFile("${pkgInstallFolder}/conf/${pkgName}.conf") |
|
||||
configurationFile("${pkgInstallFolder}/conf/${pkgName}.yml") |
|
||||
configurationFile("${pkgInstallFolder}/conf/logback.xml") |
|
||||
|
|
||||
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 pkgName |
|
||||
permissionGroup pkgName |
|
||||
|
|
||||
directory(pkgLogFolder, 0755) |
|
||||
link("/etc/init.d/${pkgName}", "${pkgInstallFolder}/bin/${pkgName}.jar") |
|
||||
link("${pkgInstallFolder}/bin/${pkgName}.yml", "${pkgInstallFolder}/conf/${pkgName}.yml") |
|
||||
link("/etc/${pkgName}/conf", "${pkgInstallFolder}/conf") |
|
||||
} |
|
||||
@ -1,71 +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. |
|
||||
|
|
||||
--> |
|
||||
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3" |
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
|
||||
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd"> |
|
||||
<id>windows</id> |
|
||||
|
|
||||
<formats> |
|
||||
<format>zip</format> |
|
||||
</formats> |
|
||||
|
|
||||
<!-- Workaround to create logs directory --> |
|
||||
<fileSets> |
|
||||
<fileSet> |
|
||||
<directory>${pkg.win.dist}</directory> |
|
||||
<outputDirectory>logs</outputDirectory> |
|
||||
<excludes> |
|
||||
<exclude>*/**</exclude> |
|
||||
</excludes> |
|
||||
</fileSet> |
|
||||
<fileSet> |
|
||||
<directory>${pkg.win.dist}/conf</directory> |
|
||||
<outputDirectory>conf</outputDirectory> |
|
||||
<lineEnding>windows</lineEnding> |
|
||||
</fileSet> |
|
||||
</fileSets> |
|
||||
|
|
||||
<files> |
|
||||
<file> |
|
||||
<source>${project.build.directory}/${project.build.finalName}-boot.${project.packaging}</source> |
|
||||
<outputDirectory>lib</outputDirectory> |
|
||||
<destName>${pkg.name}.jar</destName> |
|
||||
</file> |
|
||||
<file> |
|
||||
<source>${pkg.win.dist}/service.exe</source> |
|
||||
<outputDirectory/> |
|
||||
<destName>${pkg.name}.exe</destName> |
|
||||
</file> |
|
||||
<file> |
|
||||
<source>${pkg.win.dist}/service.xml</source> |
|
||||
<outputDirectory/> |
|
||||
<destName>${pkg.name}.xml</destName> |
|
||||
<lineEnding>windows</lineEnding> |
|
||||
</file> |
|
||||
<file> |
|
||||
<source>${pkg.win.dist}/install.bat</source> |
|
||||
<outputDirectory/> |
|
||||
<lineEnding>windows</lineEnding> |
|
||||
</file> |
|
||||
<file> |
|
||||
<source>${pkg.win.dist}/uninstall.bat</source> |
|
||||
<outputDirectory/> |
|
||||
<lineEnding>windows</lineEnding> |
|
||||
</file> |
|
||||
</files> |
|
||||
</assembly> |
|
||||
@ -1 +0,0 @@ |
|||||
pkg.logFolder=${pkg.unixLogFolder} |
|
||||
@ -1,2 +0,0 @@ |
|||||
pkg.logFolder=${BASE}\\logs |
|
||||
pkg.winWrapperLogFolder=%BASE%\\logs |
|
||||
@ -1,6 +0,0 @@ |
|||||
#!/bin/sh |
|
||||
|
|
||||
chown -R ${pkg.user}: ${pkg.logFolder} |
|
||||
chown -R ${pkg.user}: ${pkg.installFolder} |
|
||||
update-rc.d ${pkg.name} defaults |
|
||||
|
|
||||
@ -1,3 +0,0 @@ |
|||||
#!/bin/sh |
|
||||
|
|
||||
update-rc.d -f ${pkg.name} remove |
|
||||
@ -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 |
|
||||
@ -1,5 +0,0 @@ |
|||||
#!/bin/sh |
|
||||
|
|
||||
if [ -e /var/run/${pkg.name}/${pkg.name}.pid ]; then |
|
||||
service ${pkg.name} stop |
|
||||
fi |
|
||||
@ -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 |
|
||||
@ -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 |
|
||||
@ -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" |
|
||||
@ -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 |
|
||||
@ -1,11 +0,0 @@ |
|||||
[Unit] |
|
||||
Description=${pkg.name} |
|
||||
After=syslog.target |
|
||||
|
|
||||
[Service] |
|
||||
User=${pkg.user} |
|
||||
ExecStart=${pkg.installFolder}/bin/${pkg.name}.jar |
|
||||
SuccessExitStatus=143 |
|
||||
|
|
||||
[Install] |
|
||||
WantedBy=multi-user.target |
|
||||
@ -1,31 +0,0 @@ |
|||||
@ECHO OFF |
|
||||
|
|
||||
setlocal ENABLEEXTENSIONS |
|
||||
|
|
||||
@ECHO Detecting Java version installed. |
|
||||
:CHECK_JAVA |
|
||||
for /f tokens^=2-5^ delims^=.-_^" %%j in ('java -fullversion 2^>^&1') do set "jver=%%j%%k" |
|
||||
@ECHO CurrentVersion %jver% |
|
||||
|
|
||||
if %jver% NEQ 18 GOTO JAVA_NOT_INSTALLED |
|
||||
|
|
||||
:JAVA_INSTALLED |
|
||||
|
|
||||
@ECHO Java 1.8 found! |
|
||||
@ECHO Installing ${pkg.name} ... |
|
||||
|
|
||||
"%BASE%"${pkg.name}.exe install |
|
||||
|
|
||||
@ECHO ${pkg.name} installed successfully! |
|
||||
|
|
||||
GOTO END |
|
||||
|
|
||||
:JAVA_NOT_INSTALLED |
|
||||
@ECHO Java 1.8 is not installed. Only Java 1.8 is supported |
|
||||
@ECHO Please go to https://adoptopenjdk.net/index.html and install Java 1.8. Then retry installation. |
|
||||
PAUSE |
|
||||
GOTO END |
|
||||
|
|
||||
:END |
|
||||
|
|
||||
|
|
||||
@ -1,36 +0,0 @@ |
|||||
<service> |
|
||||
<id>${pkg.name}</id> |
|
||||
<name>${project.name}</name> |
|
||||
<description>${project.description}</description> |
|
||||
<workingdirectory>%BASE%\conf</workingdirectory> |
|
||||
<logpath>${pkg.winWrapperLogFolder}</logpath> |
|
||||
<logmode>rotate</logmode> |
|
||||
<env name="LOADER_PATH" value="%BASE%\conf" /> |
|
||||
<executable>java</executable> |
|
||||
<startargument>-Xloggc:%BASE%\logs\gc.log</startargument> |
|
||||
<startargument>-XX:+HeapDumpOnOutOfMemoryError</startargument> |
|
||||
<startargument>-XX:+PrintGCDetails</startargument> |
|
||||
<startargument>-XX:+PrintGCDateStamps</startargument> |
|
||||
<startargument>-XX:+PrintHeapAtGC</startargument> |
|
||||
<startargument>-XX:+PrintTenuringDistribution</startargument> |
|
||||
<startargument>-XX:+PrintGCApplicationStoppedTime</startargument> |
|
||||
<startargument>-XX:+UseGCLogFileRotation</startargument> |
|
||||
<startargument>-XX:NumberOfGCLogFiles=10</startargument> |
|
||||
<startargument>-XX:GCLogFileSize=10M</startargument> |
|
||||
<startargument>-XX:-UseBiasedLocking</startargument> |
|
||||
<startargument>-XX:+UseTLAB</startargument> |
|
||||
<startargument>-XX:+ResizeTLAB</startargument> |
|
||||
<startargument>-XX:+PerfDisableSharedMem</startargument> |
|
||||
<startargument>-XX:+UseCondCardMark</startargument> |
|
||||
<startargument>-XX:CMSWaitDuration=10000</startargument> |
|
||||
<startargument>-XX:+UseParNewGC</startargument> |
|
||||
<startargument>-XX:+UseConcMarkSweepGC</startargument> |
|
||||
<startargument>-XX:+CMSParallelRemarkEnabled</startargument> |
|
||||
<startargument>-XX:+CMSParallelInitialMarkEnabled</startargument> |
|
||||
<startargument>-XX:+CMSEdenChunksRecordAlways</startargument> |
|
||||
<startargument>-XX:CMSInitiatingOccupancyFraction=75</startargument> |
|
||||
<startargument>-XX:+UseCMSInitiatingOccupancyOnly</startargument> |
|
||||
<startargument>-jar</startargument> |
|
||||
<startargument>%BASE%\lib\${pkg.name}.jar</startargument> |
|
||||
|
|
||||
</service> |
|
||||
@ -1,9 +0,0 @@ |
|||||
@ECHO OFF |
|
||||
|
|
||||
@ECHO Stopping ${pkg.name} ... |
|
||||
net stop ${pkg.name} |
|
||||
|
|
||||
@ECHO Uninstalling ${pkg.name} ... |
|
||||
"%~dp0"${pkg.name}.exe uninstall |
|
||||
|
|
||||
@ECHO DONE. |
|
||||
@ -1,140 +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 = "3.8.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 pkgName |
|
||||
permissionGroup pkgName |
|
||||
|
|
||||
// Copy the actual .jar file |
|
||||
from(mainJar) { |
|
||||
// Strip the version from the jar filename |
|
||||
rename { String fileName -> |
|
||||
"${pkgName}.jar" |
|
||||
} |
|
||||
fileMode 0500 |
|
||||
into "bin" |
|
||||
} |
|
||||
|
|
||||
// Copy the config files |
|
||||
from("target/conf") { |
|
||||
exclude "${pkgName}.conf" |
|
||||
fileType CONFIG | NOREPLACE |
|
||||
fileMode 0754 |
|
||||
into "conf" |
|
||||
} |
|
||||
|
|
||||
} |
|
||||
|
|
||||
// Configure our RPM build task |
|
||||
buildRpm { |
|
||||
|
|
||||
arch = NOARCH |
|
||||
|
|
||||
version = projectVersion.replace('-', '') |
|
||||
archiveName = "${pkgName}.rpm" |
|
||||
|
|
||||
requires("java-1.8.0") |
|
||||
|
|
||||
from("target/conf") { |
|
||||
include "${pkgName}.conf" |
|
||||
filter(ReplaceTokens, tokens: ['pkg.platform': 'rpm']) |
|
||||
fileType CONFIG | NOREPLACE |
|
||||
fileMode 0754 |
|
||||
into "${pkgInstallFolder}/conf" |
|
||||
} |
|
||||
|
|
||||
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 pkgName |
|
||||
permissionGroup pkgName |
|
||||
|
|
||||
// Copy the system unit files |
|
||||
from("${buildDir}/control/${pkgName}.service") { |
|
||||
addParentDirs = false |
|
||||
fileMode 0644 |
|
||||
into "/usr/lib/systemd/system" |
|
||||
} |
|
||||
|
|
||||
directory(pkgLogFolder, 0755) |
|
||||
link("${pkgInstallFolder}/bin/${pkgName}.yml", "${pkgInstallFolder}/conf/${pkgName}.yml") |
|
||||
link("/etc/${pkgName}/conf", "${pkgInstallFolder}/conf") |
|
||||
} |
|
||||
|
|
||||
// Same as the buildRpm task |
|
||||
buildDeb { |
|
||||
|
|
||||
arch = "all" |
|
||||
|
|
||||
archiveName = "${pkgName}.deb" |
|
||||
|
|
||||
requires("openjdk-8-jre").or("java8-runtime").or("oracle-java8-installer").or("openjdk-8-jre-headless") |
|
||||
|
|
||||
from("target/conf") { |
|
||||
include "${pkgName}.conf" |
|
||||
filter(ReplaceTokens, tokens: ['pkg.platform': 'deb']) |
|
||||
fileType CONFIG | NOREPLACE |
|
||||
fileMode 0754 |
|
||||
into "${pkgInstallFolder}/conf" |
|
||||
} |
|
||||
|
|
||||
configurationFile("${pkgInstallFolder}/conf/${pkgName}.conf") |
|
||||
configurationFile("${pkgInstallFolder}/conf/${pkgName}.yml") |
|
||||
configurationFile("${pkgInstallFolder}/conf/logback.xml") |
|
||||
|
|
||||
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 pkgName |
|
||||
permissionGroup pkgName |
|
||||
|
|
||||
directory(pkgLogFolder, 0755) |
|
||||
link("/etc/init.d/${pkgName}", "${pkgInstallFolder}/bin/${pkgName}.jar") |
|
||||
link("${pkgInstallFolder}/bin/${pkgName}.yml", "${pkgInstallFolder}/conf/${pkgName}.yml") |
|
||||
link("/etc/${pkgName}/conf", "${pkgInstallFolder}/conf") |
|
||||
} |
|
||||
@ -1,71 +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. |
|
||||
|
|
||||
--> |
|
||||
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3" |
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
|
||||
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd"> |
|
||||
<id>windows</id> |
|
||||
|
|
||||
<formats> |
|
||||
<format>zip</format> |
|
||||
</formats> |
|
||||
|
|
||||
<!-- Workaround to create logs directory --> |
|
||||
<fileSets> |
|
||||
<fileSet> |
|
||||
<directory>${pkg.win.dist}</directory> |
|
||||
<outputDirectory>logs</outputDirectory> |
|
||||
<excludes> |
|
||||
<exclude>*/**</exclude> |
|
||||
</excludes> |
|
||||
</fileSet> |
|
||||
<fileSet> |
|
||||
<directory>${pkg.win.dist}/conf</directory> |
|
||||
<outputDirectory>conf</outputDirectory> |
|
||||
<lineEnding>windows</lineEnding> |
|
||||
</fileSet> |
|
||||
</fileSets> |
|
||||
|
|
||||
<files> |
|
||||
<file> |
|
||||
<source>${project.build.directory}/${project.build.finalName}-boot.${project.packaging}</source> |
|
||||
<outputDirectory>lib</outputDirectory> |
|
||||
<destName>${pkg.name}.jar</destName> |
|
||||
</file> |
|
||||
<file> |
|
||||
<source>${pkg.win.dist}/service.exe</source> |
|
||||
<outputDirectory/> |
|
||||
<destName>${pkg.name}.exe</destName> |
|
||||
</file> |
|
||||
<file> |
|
||||
<source>${pkg.win.dist}/service.xml</source> |
|
||||
<outputDirectory/> |
|
||||
<destName>${pkg.name}.xml</destName> |
|
||||
<lineEnding>windows</lineEnding> |
|
||||
</file> |
|
||||
<file> |
|
||||
<source>${pkg.win.dist}/install.bat</source> |
|
||||
<outputDirectory/> |
|
||||
<lineEnding>windows</lineEnding> |
|
||||
</file> |
|
||||
<file> |
|
||||
<source>${pkg.win.dist}/uninstall.bat</source> |
|
||||
<outputDirectory/> |
|
||||
<lineEnding>windows</lineEnding> |
|
||||
</file> |
|
||||
</files> |
|
||||
</assembly> |
|
||||
@ -1 +0,0 @@ |
|||||
pkg.logFolder=${pkg.unixLogFolder} |
|
||||
@ -1,2 +0,0 @@ |
|||||
pkg.logFolder=${BASE}\\logs |
|
||||
pkg.winWrapperLogFolder=%BASE%\\logs |
|
||||
@ -1,6 +0,0 @@ |
|||||
#!/bin/sh |
|
||||
|
|
||||
chown -R ${pkg.user}: ${pkg.logFolder} |
|
||||
chown -R ${pkg.user}: ${pkg.installFolder} |
|
||||
update-rc.d ${pkg.name} defaults |
|
||||
|
|
||||
@ -1,3 +0,0 @@ |
|||||
#!/bin/sh |
|
||||
|
|
||||
update-rc.d -f ${pkg.name} remove |
|
||||
@ -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 |
|
||||
@ -1,5 +0,0 @@ |
|||||
#!/bin/sh |
|
||||
|
|
||||
if [ -e /var/run/${pkg.name}/${pkg.name}.pid ]; then |
|
||||
service ${pkg.name} stop |
|
||||
fi |
|
||||
@ -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 |
|
||||
@ -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 |
|
||||
@ -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" |
|
||||
@ -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 |
|
||||
@ -1,11 +0,0 @@ |
|||||
[Unit] |
|
||||
Description=${pkg.name} |
|
||||
After=syslog.target |
|
||||
|
|
||||
[Service] |
|
||||
User=${pkg.user} |
|
||||
ExecStart=${pkg.installFolder}/bin/${pkg.name}.jar |
|
||||
SuccessExitStatus=143 |
|
||||
|
|
||||
[Install] |
|
||||
WantedBy=multi-user.target |
|
||||
@ -1,31 +0,0 @@ |
|||||
@ECHO OFF |
|
||||
|
|
||||
setlocal ENABLEEXTENSIONS |
|
||||
|
|
||||
@ECHO Detecting Java version installed. |
|
||||
:CHECK_JAVA |
|
||||
for /f tokens^=2-5^ delims^=.-_^" %%j in ('java -fullversion 2^>^&1') do set "jver=%%j%%k" |
|
||||
@ECHO CurrentVersion %jver% |
|
||||
|
|
||||
if %jver% NEQ 18 GOTO JAVA_NOT_INSTALLED |
|
||||
|
|
||||
:JAVA_INSTALLED |
|
||||
|
|
||||
@ECHO Java 1.8 found! |
|
||||
@ECHO Installing ${pkg.name} ... |
|
||||
|
|
||||
"%BASE%"${pkg.name}.exe install |
|
||||
|
|
||||
@ECHO ${pkg.name} installed successfully! |
|
||||
|
|
||||
GOTO END |
|
||||
|
|
||||
:JAVA_NOT_INSTALLED |
|
||||
@ECHO Java 1.8 is not installed. Only Java 1.8 is supported |
|
||||
@ECHO Please go to https://adoptopenjdk.net/index.html and install Java 1.8. Then retry installation. |
|
||||
PAUSE |
|
||||
GOTO END |
|
||||
|
|
||||
:END |
|
||||
|
|
||||
|
|
||||
@ -1,36 +0,0 @@ |
|||||
<service> |
|
||||
<id>${pkg.name}</id> |
|
||||
<name>${project.name}</name> |
|
||||
<description>${project.description}</description> |
|
||||
<workingdirectory>%BASE%\conf</workingdirectory> |
|
||||
<logpath>${pkg.winWrapperLogFolder}</logpath> |
|
||||
<logmode>rotate</logmode> |
|
||||
<env name="LOADER_PATH" value="%BASE%\conf" /> |
|
||||
<executable>java</executable> |
|
||||
<startargument>-Xloggc:%BASE%\logs\gc.log</startargument> |
|
||||
<startargument>-XX:+HeapDumpOnOutOfMemoryError</startargument> |
|
||||
<startargument>-XX:+PrintGCDetails</startargument> |
|
||||
<startargument>-XX:+PrintGCDateStamps</startargument> |
|
||||
<startargument>-XX:+PrintHeapAtGC</startargument> |
|
||||
<startargument>-XX:+PrintTenuringDistribution</startargument> |
|
||||
<startargument>-XX:+PrintGCApplicationStoppedTime</startargument> |
|
||||
<startargument>-XX:+UseGCLogFileRotation</startargument> |
|
||||
<startargument>-XX:NumberOfGCLogFiles=10</startargument> |
|
||||
<startargument>-XX:GCLogFileSize=10M</startargument> |
|
||||
<startargument>-XX:-UseBiasedLocking</startargument> |
|
||||
<startargument>-XX:+UseTLAB</startargument> |
|
||||
<startargument>-XX:+ResizeTLAB</startargument> |
|
||||
<startargument>-XX:+PerfDisableSharedMem</startargument> |
|
||||
<startargument>-XX:+UseCondCardMark</startargument> |
|
||||
<startargument>-XX:CMSWaitDuration=10000</startargument> |
|
||||
<startargument>-XX:+UseParNewGC</startargument> |
|
||||
<startargument>-XX:+UseConcMarkSweepGC</startargument> |
|
||||
<startargument>-XX:+CMSParallelRemarkEnabled</startargument> |
|
||||
<startargument>-XX:+CMSParallelInitialMarkEnabled</startargument> |
|
||||
<startargument>-XX:+CMSEdenChunksRecordAlways</startargument> |
|
||||
<startargument>-XX:CMSInitiatingOccupancyFraction=75</startargument> |
|
||||
<startargument>-XX:+UseCMSInitiatingOccupancyOnly</startargument> |
|
||||
<startargument>-jar</startargument> |
|
||||
<startargument>%BASE%\lib\${pkg.name}.jar</startargument> |
|
||||
|
|
||||
</service> |
|
||||
@ -1,9 +0,0 @@ |
|||||
@ECHO OFF |
|
||||
|
|
||||
@ECHO Stopping ${pkg.name} ... |
|
||||
net stop ${pkg.name} |
|
||||
|
|
||||
@ECHO Uninstalling ${pkg.name} ... |
|
||||
"%~dp0"${pkg.name}.exe uninstall |
|
||||
|
|
||||
@ECHO DONE. |
|
||||
Loading…
Reference in new issue