From 3ea881f03b348df8fd05fbaa9b189911d2cf3464 Mon Sep 17 00:00:00 2001 From: Andrii Shvaika Date: Thu, 21 May 2020 11:51:51 +0300 Subject: [PATCH 1/4] Stage 1 refactoring --- application/pom.xml | 31 +++++---- msa/js-executor/package-lock.json | 44 +++++------- .../main => packaging}/assembly/windows.xml | 0 {application => packaging}/build.gradle | 68 +++++++++++++------ .../filters/unix.properties | 0 .../filters/windows.properties | 0 .../scripts/control/deb/postinst | 1 + .../scripts/control/deb/postrm | 0 .../scripts/control/deb/preinst | 0 .../scripts/control/deb/prerm | 0 .../scripts/control/rpm/postinst | 1 + .../scripts/control/rpm/postrm | 0 .../scripts/control/rpm/preinst | 0 .../scripts/control/rpm/prerm | 0 .../scripts/control/template.service | 0 .../scripts/install/install.sh | 0 .../scripts/install/install_dev_db.sh | 0 .../scripts/install/logback.xml | 0 .../scripts/install/upgrade.sh | 0 .../scripts/install/upgrade_dev_db.sh | 0 .../scripts/windows/install.bat | 0 .../scripts/windows/install_dev_db.bat | 0 .../scripts/windows/service.xml | 0 .../scripts/windows/uninstall.bat | 0 .../scripts/windows/upgrade.bat | 0 pom.xml | 4 +- 26 files changed, 87 insertions(+), 62 deletions(-) rename {application/src/main => packaging}/assembly/windows.xml (100%) rename {application => packaging}/build.gradle (75%) rename {application/src/main => packaging}/filters/unix.properties (100%) rename {application/src/main => packaging}/filters/windows.properties (100%) rename {application/src/main => packaging}/scripts/control/deb/postinst (84%) rename {application/src/main => packaging}/scripts/control/deb/postrm (100%) rename {application/src/main => packaging}/scripts/control/deb/preinst (100%) rename {application/src/main => packaging}/scripts/control/deb/prerm (100%) rename {application/src/main => packaging}/scripts/control/rpm/postinst (87%) rename {application/src/main => packaging}/scripts/control/rpm/postrm (100%) rename {application/src/main => packaging}/scripts/control/rpm/preinst (100%) rename {application/src/main => packaging}/scripts/control/rpm/prerm (100%) rename application/src/main/scripts/control/thingsboard.service => packaging/scripts/control/template.service (100%) rename {application/src/main => packaging}/scripts/install/install.sh (100%) rename {application/src/main => packaging}/scripts/install/install_dev_db.sh (100%) rename {application/src/main => packaging}/scripts/install/logback.xml (100%) rename {application/src/main => packaging}/scripts/install/upgrade.sh (100%) rename {application/src/main => packaging}/scripts/install/upgrade_dev_db.sh (100%) rename {application/src/main => packaging}/scripts/windows/install.bat (100%) rename {application/src/main => packaging}/scripts/windows/install_dev_db.bat (100%) rename {application/src/main => packaging}/scripts/windows/service.xml (100%) rename {application/src/main => packaging}/scripts/windows/uninstall.bat (100%) rename {application/src/main => packaging}/scripts/windows/upgrade.bat (100%) diff --git a/application/pom.xml b/application/pom.xml index 57881fb7d2..9acb89965c 100644 --- a/application/pom.xml +++ b/application/pom.xml @@ -358,7 +358,7 @@ - src/main/filters/unix.properties + ${main.dir}/packaging/filters/unix.properties @@ -387,7 +387,7 @@ - src/main/filters/windows.properties + ${main.dir}/packaging/filters/windows.properties @@ -401,12 +401,12 @@ ${project.build.directory}/control - src/main/scripts/control + ${main.dir}/packaging/scripts/control true - src/main/filters/unix.properties + ${main.dir}/packaging/filters/unix.properties @@ -420,7 +420,7 @@ ${project.build.directory}/bin/install - src/main/scripts/install + ${main.dir}/packaging/scripts/install **/*.sh **/*.xml @@ -429,7 +429,7 @@ - src/main/filters/unix.properties + ${main.dir}/packaging/filters/unix.properties @@ -443,12 +443,12 @@ ${pkg.win.dist} - src/main/scripts/windows + ${main.dir}/packaging/scripts/windows true - src/main/filters/windows.properties + ${main.dir}/packaging/filters/windows.properties @@ -462,7 +462,7 @@ ${pkg.win.dist}/install - src/main/scripts/install + ${main.dir}/packaging/scripts/install logback.xml @@ -470,7 +470,7 @@ - src/main/filters/windows.properties + ${main.dir}/packaging/filters/windows.properties @@ -567,19 +567,26 @@ org.thingsboard gradle-maven-plugin + ${main.dir}/packaging build buildDeb buildRpm + renameDeb + renameRpm - -PprojectBuildDir=${project.build.directory} + -PpackagingDir=${main.dir}/packaging + -PprojectBuildDir=${basedir}/target -PprojectVersion=${project.version} -PmainJar=${project.build.directory}/${project.build.finalName}-boot.${project.packaging} -PpkgName=${pkg.name} + -PpkgUser=${pkg.user} -PpkgInstallFolder=${pkg.installFolder} -PpkgLogFolder=${pkg.unixLogFolder} + --warning-mode + all @@ -597,7 +604,7 @@ ${pkg.name} - src/main/assembly/windows.xml + ../packaging/assembly/windows.xml diff --git a/msa/js-executor/package-lock.json b/msa/js-executor/package-lock.json index 324b75a2f7..f2afdf1688 100644 --- a/msa/js-executor/package-lock.json +++ b/msa/js-executor/package-lock.json @@ -1461,7 +1461,7 @@ }, "enabled": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz", + "resolved": "http://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz", "integrity": "sha1-ll9lE9LC0cX0ZStkouM5ZGf8L5M=", "requires": { "env-variable": "0.0.x" @@ -1740,7 +1740,7 @@ }, "fecha": { "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fecha/-/fecha-2.3.3.tgz", + "resolved": "http://registry.npmjs.org/fecha/-/fecha-2.3.3.tgz", "integrity": "sha512-lUGBnIamTAwk4znq5BcqsDaxSmZ9nDVJaij6NvRt/Tg4R69gERA+otPKbS86ROw9nxVMw2/mp1fnaiWqbs6Sdg==" }, "file-stream-rotator": { @@ -1872,14 +1872,12 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, - "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -1894,20 +1892,17 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "core-util-is": { "version": "1.0.2", @@ -2024,8 +2019,7 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "ini": { "version": "1.3.5", @@ -2037,7 +2031,6 @@ "version": "1.0.0", "bundled": true, "dev": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -2052,7 +2045,6 @@ "version": "3.0.4", "bundled": true, "dev": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -2164,8 +2156,7 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "object-assign": { "version": "4.1.1", @@ -2298,7 +2289,6 @@ "version": "1.0.2", "bundled": true, "dev": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -2400,7 +2390,7 @@ }, "get-stream": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", "dev": true }, @@ -2557,7 +2547,7 @@ }, "got": { "version": "6.7.1", - "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", + "resolved": "http://registry.npmjs.org/got/-/got-6.7.1.tgz", "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", "dev": true, "requires": { @@ -2889,7 +2879,7 @@ }, "is-obj": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", "dev": true }, @@ -3251,7 +3241,7 @@ }, "minimist": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" }, "mixin-deep": { @@ -3277,7 +3267,7 @@ }, "mkdirp": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true, "requires": { @@ -3286,7 +3276,7 @@ "dependencies": { "minimist": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true } @@ -3550,7 +3540,7 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, @@ -3989,7 +3979,7 @@ }, "safe-regex": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "resolved": "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "dev": true, "requires": { @@ -4299,7 +4289,7 @@ }, "strip-eof": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "resolved": "http://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, diff --git a/application/src/main/assembly/windows.xml b/packaging/assembly/windows.xml similarity index 100% rename from application/src/main/assembly/windows.xml rename to packaging/assembly/windows.xml diff --git a/application/build.gradle b/packaging/build.gradle similarity index 75% rename from application/build.gradle rename to packaging/build.gradle index 1ea603039a..9d0c854595 100644 --- a/application/build.gradle +++ b/packaging/build.gradle @@ -17,7 +17,7 @@ import org.apache.tools.ant.filters.ReplaceTokens buildscript { ext { - osPackageVersion = "3.8.0" + osPackageVersion = "8.3.0" } repositories { jcenter() @@ -43,8 +43,8 @@ ospackage { into pkgInstallFolder - user pkgName - permissionGroup pkgName + user pkgUser + permissionGroup pkgUser // Copy the actual .jar file from(mainJar) { @@ -57,22 +57,22 @@ ospackage { } // Copy the install files - from("target/bin/install/install.sh") { + from("${buildDir}/bin/install/install.sh") { fileMode 0775 into "bin/install" } - from("target/bin/install/upgrade.sh") { + from("${buildDir}/bin/install/upgrade.sh") { fileMode 0775 into "bin/install" } - from("target/bin/install/logback.xml") { + from("${buildDir}/bin/install/logback.xml") { into "bin/install" } // Copy the config files - from("target/conf") { + from("${buildDir}/conf") { exclude "${pkgName}.conf" fileType CONFIG | NOREPLACE fileMode 0754 @@ -80,14 +80,14 @@ ospackage { } // Copy the data files - from("target/data") { + from("${buildDir}/data") { fileType CONFIG | NOREPLACE fileMode 0754 into "data" } // Copy the extensions files - from("target/extensions") { + from("${buildDir}/extensions") { into "extensions" } } @@ -97,12 +97,12 @@ buildRpm { arch = NOARCH - version = projectVersion.replace('-', '') - archiveName = "${pkgName}.rpm" + archiveVersion = projectVersion.replace('-', '') + archiveFileName = "${pkgName}.rpm" requires("java-1.8.0") - from("target/conf") { + from("${buildDir}/conf") { include "${pkgName}.conf" filter(ReplaceTokens, tokens: ['pkg.platform': 'rpm']) fileType CONFIG | NOREPLACE @@ -115,17 +115,19 @@ buildRpm { preUninstall file("${buildDir}/control/rpm/prerm") postUninstall file("${buildDir}/control/rpm/postrm") - user pkgName - permissionGroup pkgName + user pkgUser + permissionGroup pkgUser // Copy the system unit files - from("${buildDir}/control/${pkgName}.service") { + from("${buildDir}/control/template.service") { addParentDirs = false fileMode 0644 into "/usr/lib/systemd/system" + rename { String filename -> + "${pkgName}.service" + } } - directory(pkgLogFolder, 0755) link("${pkgInstallFolder}/bin/${pkgName}.yml", "${pkgInstallFolder}/conf/${pkgName}.yml") link("/etc/${pkgName}/conf", "${pkgInstallFolder}/conf") } @@ -135,11 +137,11 @@ buildDeb { arch = "all" - archiveName = "${pkgName}.deb" + archiveFileName = "${pkgName}.deb" requires("openjdk-8-jre").or("java8-runtime").or("oracle-java8-installer").or("openjdk-8-jre-headless") - from("target/conf") { + from("${buildDir}/conf") { include "${pkgName}.conf" filter(ReplaceTokens, tokens: ['pkg.platform': 'deb']) fileType CONFIG | NOREPLACE @@ -157,18 +159,40 @@ buildDeb { preUninstall file("${buildDir}/control/deb/prerm") postUninstall file("${buildDir}/control/deb/postrm") - user pkgName - permissionGroup pkgName + user pkgUser + permissionGroup pkgUser // Copy the system unit files - from("${buildDir}/control/${pkgName}.service") { + from("${buildDir}/control/template.service") { addParentDirs = false fileMode 0644 into "/lib/systemd/system" + rename { String filename -> + "${pkgName}.service" + } } - 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") } + +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/application/src/main/filters/unix.properties b/packaging/filters/unix.properties similarity index 100% rename from application/src/main/filters/unix.properties rename to packaging/filters/unix.properties diff --git a/application/src/main/filters/windows.properties b/packaging/filters/windows.properties similarity index 100% rename from application/src/main/filters/windows.properties rename to packaging/filters/windows.properties diff --git a/application/src/main/scripts/control/deb/postinst b/packaging/scripts/control/deb/postinst similarity index 84% rename from application/src/main/scripts/control/deb/postinst rename to packaging/scripts/control/deb/postinst index b59dff9252..d69589beea 100644 --- a/application/src/main/scripts/control/deb/postinst +++ b/packaging/scripts/control/deb/postinst @@ -2,6 +2,7 @@ set -e +mkdir -m 0755 -p ${pkg.logFolder} chown -R ${pkg.user}: ${pkg.logFolder} chown -R ${pkg.user}: ${pkg.installFolder} systemctl --no-reload enable ${pkg.name}.service >/dev/null 2>&1 || : diff --git a/application/src/main/scripts/control/deb/postrm b/packaging/scripts/control/deb/postrm similarity index 100% rename from application/src/main/scripts/control/deb/postrm rename to packaging/scripts/control/deb/postrm diff --git a/application/src/main/scripts/control/deb/preinst b/packaging/scripts/control/deb/preinst similarity index 100% rename from application/src/main/scripts/control/deb/preinst rename to packaging/scripts/control/deb/preinst diff --git a/application/src/main/scripts/control/deb/prerm b/packaging/scripts/control/deb/prerm similarity index 100% rename from application/src/main/scripts/control/deb/prerm rename to packaging/scripts/control/deb/prerm diff --git a/application/src/main/scripts/control/rpm/postinst b/packaging/scripts/control/rpm/postinst similarity index 87% rename from application/src/main/scripts/control/rpm/postinst rename to packaging/scripts/control/rpm/postinst index d8021e2dd9..3608d09ef9 100644 --- a/application/src/main/scripts/control/rpm/postinst +++ b/packaging/scripts/control/rpm/postinst @@ -1,5 +1,6 @@ #!/bin/sh +mkdir -m 0755 -p ${pkg.logFolder} chown -R ${pkg.user}: ${pkg.logFolder} chown -R ${pkg.user}: ${pkg.installFolder} diff --git a/application/src/main/scripts/control/rpm/postrm b/packaging/scripts/control/rpm/postrm similarity index 100% rename from application/src/main/scripts/control/rpm/postrm rename to packaging/scripts/control/rpm/postrm diff --git a/application/src/main/scripts/control/rpm/preinst b/packaging/scripts/control/rpm/preinst similarity index 100% rename from application/src/main/scripts/control/rpm/preinst rename to packaging/scripts/control/rpm/preinst diff --git a/application/src/main/scripts/control/rpm/prerm b/packaging/scripts/control/rpm/prerm similarity index 100% rename from application/src/main/scripts/control/rpm/prerm rename to packaging/scripts/control/rpm/prerm diff --git a/application/src/main/scripts/control/thingsboard.service b/packaging/scripts/control/template.service similarity index 100% rename from application/src/main/scripts/control/thingsboard.service rename to packaging/scripts/control/template.service diff --git a/application/src/main/scripts/install/install.sh b/packaging/scripts/install/install.sh similarity index 100% rename from application/src/main/scripts/install/install.sh rename to packaging/scripts/install/install.sh diff --git a/application/src/main/scripts/install/install_dev_db.sh b/packaging/scripts/install/install_dev_db.sh similarity index 100% rename from application/src/main/scripts/install/install_dev_db.sh rename to packaging/scripts/install/install_dev_db.sh diff --git a/application/src/main/scripts/install/logback.xml b/packaging/scripts/install/logback.xml similarity index 100% rename from application/src/main/scripts/install/logback.xml rename to packaging/scripts/install/logback.xml diff --git a/application/src/main/scripts/install/upgrade.sh b/packaging/scripts/install/upgrade.sh similarity index 100% rename from application/src/main/scripts/install/upgrade.sh rename to packaging/scripts/install/upgrade.sh diff --git a/application/src/main/scripts/install/upgrade_dev_db.sh b/packaging/scripts/install/upgrade_dev_db.sh similarity index 100% rename from application/src/main/scripts/install/upgrade_dev_db.sh rename to packaging/scripts/install/upgrade_dev_db.sh diff --git a/application/src/main/scripts/windows/install.bat b/packaging/scripts/windows/install.bat similarity index 100% rename from application/src/main/scripts/windows/install.bat rename to packaging/scripts/windows/install.bat diff --git a/application/src/main/scripts/windows/install_dev_db.bat b/packaging/scripts/windows/install_dev_db.bat similarity index 100% rename from application/src/main/scripts/windows/install_dev_db.bat rename to packaging/scripts/windows/install_dev_db.bat diff --git a/application/src/main/scripts/windows/service.xml b/packaging/scripts/windows/service.xml similarity index 100% rename from application/src/main/scripts/windows/service.xml rename to packaging/scripts/windows/service.xml diff --git a/application/src/main/scripts/windows/uninstall.bat b/packaging/scripts/windows/uninstall.bat similarity index 100% rename from application/src/main/scripts/windows/uninstall.bat rename to packaging/scripts/windows/uninstall.bat diff --git a/application/src/main/scripts/windows/upgrade.bat b/packaging/scripts/windows/upgrade.bat similarity index 100% rename from application/src/main/scripts/windows/upgrade.bat rename to packaging/scripts/windows/upgrade.bat diff --git a/pom.xml b/pom.xml index 9ee07aa9a2..17db727b44 100755 --- a/pom.xml +++ b/pom.xml @@ -182,7 +182,7 @@ org.thingsboard gradle-maven-plugin - 1.0.9 + 1.0.10 org.apache.maven.plugins @@ -321,6 +321,8 @@ src/vendor/** src/font/** src/sh/** + packaging/scripts/control/** + packaging/scripts/windows/** src/main/scripts/control/** src/main/scripts/windows/** src/main/resources/public/static/rulenode/** From 68151e6561ddf3c97bc548ea301bcc65aedd357d Mon Sep 17 00:00:00 2001 From: Andrii Shvaika Date: Thu, 21 May 2020 15:43:01 +0300 Subject: [PATCH 2/4] Refactored DEB/RPM builds for Java-based components --- application/pom.xml | 300 +--------------- msa/js-executor/build.gradle | 31 +- msa/js-executor/pom.xml | 3 + .../src/main/scripts/control/deb/postinst | 1 + .../src/main/scripts/control/rpm/postinst | 1 + msa/web-ui/build.gradle | 30 +- msa/web-ui/pom.xml | 3 + netty-mqtt/pom.xml | 1 - packaging/build.gradle | 24 +- pom.xml | 338 ++++++++++++++++++ rule-engine/rule-engine-components/pom.xml | 25 -- transport/coap/build.gradle | 140 -------- transport/coap/pom.xml | 220 +----------- transport/coap/src/main/assembly/windows.xml | 71 ---- .../coap/src/main/filters/unix.properties | 1 - .../coap/src/main/filters/windows.properties | 2 - .../src/main/scripts/control/deb/postinst | 6 - .../coap/src/main/scripts/control/deb/postrm | 3 - .../coap/src/main/scripts/control/deb/preinst | 18 - .../coap/src/main/scripts/control/deb/prerm | 5 - .../src/main/scripts/control/rpm/postinst | 9 - .../coap/src/main/scripts/control/rpm/postrm | 6 - .../coap/src/main/scripts/control/rpm/preinst | 6 - .../coap/src/main/scripts/control/rpm/prerm | 6 - .../scripts/control/tb-coap-transport.service | 11 - .../coap/src/main/scripts/windows/install.bat | 31 -- .../coap/src/main/scripts/windows/service.xml | 36 -- .../src/main/scripts/windows/uninstall.bat | 9 - transport/http/build.gradle | 140 -------- transport/http/pom.xml | 220 +----------- transport/http/src/main/assembly/windows.xml | 71 ---- .../http/src/main/filters/unix.properties | 1 - .../http/src/main/filters/windows.properties | 2 - .../src/main/scripts/control/deb/postinst | 6 - .../http/src/main/scripts/control/deb/postrm | 3 - .../http/src/main/scripts/control/deb/preinst | 18 - .../http/src/main/scripts/control/deb/prerm | 5 - .../src/main/scripts/control/rpm/postinst | 9 - .../http/src/main/scripts/control/rpm/postrm | 6 - .../http/src/main/scripts/control/rpm/preinst | 6 - .../http/src/main/scripts/control/rpm/prerm | 6 - .../scripts/control/tb-http-transport.service | 11 - .../http/src/main/scripts/windows/install.bat | 31 -- .../http/src/main/scripts/windows/service.xml | 36 -- .../src/main/scripts/windows/uninstall.bat | 9 - transport/mqtt/build.gradle | 140 -------- transport/mqtt/pom.xml | 220 +----------- transport/mqtt/src/main/assembly/windows.xml | 71 ---- .../mqtt/src/main/filters/unix.properties | 1 - .../mqtt/src/main/filters/windows.properties | 2 - .../src/main/scripts/control/deb/postinst | 6 - .../mqtt/src/main/scripts/control/deb/postrm | 3 - .../mqtt/src/main/scripts/control/deb/preinst | 18 - .../mqtt/src/main/scripts/control/deb/prerm | 5 - .../src/main/scripts/control/rpm/postinst | 9 - .../mqtt/src/main/scripts/control/rpm/postrm | 6 - .../mqtt/src/main/scripts/control/rpm/preinst | 6 - .../mqtt/src/main/scripts/control/rpm/prerm | 6 - .../scripts/control/tb-mqtt-transport.service | 11 - .../mqtt/src/main/scripts/windows/install.bat | 31 -- .../mqtt/src/main/scripts/windows/service.xml | 36 -- .../src/main/scripts/windows/uninstall.bat | 9 - 62 files changed, 436 insertions(+), 2061 deletions(-) delete mode 100644 transport/coap/build.gradle delete mode 100644 transport/coap/src/main/assembly/windows.xml delete mode 100644 transport/coap/src/main/filters/unix.properties delete mode 100644 transport/coap/src/main/filters/windows.properties delete mode 100644 transport/coap/src/main/scripts/control/deb/postinst delete mode 100644 transport/coap/src/main/scripts/control/deb/postrm delete mode 100644 transport/coap/src/main/scripts/control/deb/preinst delete mode 100644 transport/coap/src/main/scripts/control/deb/prerm delete mode 100644 transport/coap/src/main/scripts/control/rpm/postinst delete mode 100644 transport/coap/src/main/scripts/control/rpm/postrm delete mode 100644 transport/coap/src/main/scripts/control/rpm/preinst delete mode 100644 transport/coap/src/main/scripts/control/rpm/prerm delete mode 100644 transport/coap/src/main/scripts/control/tb-coap-transport.service delete mode 100644 transport/coap/src/main/scripts/windows/install.bat delete mode 100644 transport/coap/src/main/scripts/windows/service.xml delete mode 100644 transport/coap/src/main/scripts/windows/uninstall.bat delete mode 100644 transport/http/build.gradle delete mode 100644 transport/http/src/main/assembly/windows.xml delete mode 100644 transport/http/src/main/filters/unix.properties delete mode 100644 transport/http/src/main/filters/windows.properties delete mode 100644 transport/http/src/main/scripts/control/deb/postinst delete mode 100644 transport/http/src/main/scripts/control/deb/postrm delete mode 100644 transport/http/src/main/scripts/control/deb/preinst delete mode 100644 transport/http/src/main/scripts/control/deb/prerm delete mode 100644 transport/http/src/main/scripts/control/rpm/postinst delete mode 100644 transport/http/src/main/scripts/control/rpm/postrm delete mode 100644 transport/http/src/main/scripts/control/rpm/preinst delete mode 100644 transport/http/src/main/scripts/control/rpm/prerm delete mode 100644 transport/http/src/main/scripts/control/tb-http-transport.service delete mode 100644 transport/http/src/main/scripts/windows/install.bat delete mode 100644 transport/http/src/main/scripts/windows/service.xml delete mode 100644 transport/http/src/main/scripts/windows/uninstall.bat delete mode 100644 transport/mqtt/build.gradle delete mode 100644 transport/mqtt/src/main/assembly/windows.xml delete mode 100644 transport/mqtt/src/main/filters/unix.properties delete mode 100644 transport/mqtt/src/main/filters/windows.properties delete mode 100644 transport/mqtt/src/main/scripts/control/deb/postinst delete mode 100644 transport/mqtt/src/main/scripts/control/deb/postrm delete mode 100644 transport/mqtt/src/main/scripts/control/deb/preinst delete mode 100644 transport/mqtt/src/main/scripts/control/deb/prerm delete mode 100644 transport/mqtt/src/main/scripts/control/rpm/postinst delete mode 100644 transport/mqtt/src/main/scripts/control/rpm/postrm delete mode 100644 transport/mqtt/src/main/scripts/control/rpm/preinst delete mode 100644 transport/mqtt/src/main/scripts/control/rpm/prerm delete mode 100644 transport/mqtt/src/main/scripts/control/tb-mqtt-transport.service delete mode 100644 transport/mqtt/src/main/scripts/windows/install.bat delete mode 100644 transport/mqtt/src/main/scripts/windows/service.xml delete mode 100644 transport/mqtt/src/main/scripts/windows/uninstall.bat diff --git a/application/pom.xml b/application/pom.xml index 9acb89965c..5f1db818ea 100644 --- a/application/pom.xml +++ b/application/pom.xml @@ -34,10 +34,16 @@ UTF-8 ${basedir}/.. + false + process-resources + package thingsboard /var/log/${pkg.name} /usr/share/${pkg.name} + true ${project.build.directory}/windows + ThingsBoard + org.thingsboard.server.ThingsboardServerApplication @@ -307,6 +313,10 @@ + + org.apache.maven.plugins + maven-compiler-plugin + org.apache.maven.plugins maven-surefire-plugin @@ -323,320 +333,30 @@ org.apache.maven.plugins maven-resources-plugin - - - copy-conf - process-resources - - copy-resources - - - ${project.build.directory}/conf - - - src/main/resources - - logback.xml - - false - - - - - - copy-service-conf - process-resources - - copy-resources - - - ${project.build.directory}/conf - - - src/main/conf - true - - - - ${main.dir}/packaging/filters/unix.properties - - - - - copy-win-conf - process-resources - - copy-resources - - - ${pkg.win.dist}/conf - - - src/main/resources - - logback.xml - - false - - - src/main/conf - - thingsboard.conf - - true - - - - ${main.dir}/packaging/filters/windows.properties - - - - - copy-control - process-resources - - copy-resources - - - ${project.build.directory}/control - - - ${main.dir}/packaging/scripts/control - true - - - - ${main.dir}/packaging/filters/unix.properties - - - - - copy-install - process-resources - - copy-resources - - - ${project.build.directory}/bin/install - - - ${main.dir}/packaging/scripts/install - - **/*.sh - **/*.xml - - true - - - - ${main.dir}/packaging/filters/unix.properties - - - - - copy-windows-control - process-resources - - copy-resources - - - ${pkg.win.dist} - - - ${main.dir}/packaging/scripts/windows - true - - - - ${main.dir}/packaging/filters/windows.properties - - - - - copy-windows-install - process-resources - - copy-resources - - - ${pkg.win.dist}/install - - - ${main.dir}/packaging/scripts/install - - logback.xml - - true - - - - ${main.dir}/packaging/filters/windows.properties - - - - - copy-data - process-resources - - copy-resources - - - ${project.build.directory}/data - - - src/main/data - - - ../dao/src/main/resources - - **/*.cql - **/*.sql - - false - - - - - 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-jar-plugin - - - **/logback.xml - - - - ThingsBoard - ${project.version} - - - org.springframework.boot spring-boot-maven-plugin - - org.thingsboard.server.ThingsboardServerApplication - boot - ZIP - true - true - - ${pkg.installFolder}/conf - ${pkg.unixLogFolder} - ${pkg.name}.out - ${pkg.name} - - - - - - repackage - - - org.thingsboard gradle-maven-plugin - - ${main.dir}/packaging - - build - buildDeb - buildRpm - renameDeb - renameRpm - - - -PpackagingDir=${main.dir}/packaging - -PprojectBuildDir=${basedir}/target - -PprojectVersion=${project.version} - -PmainJar=${project.build.directory}/${project.build.finalName}-boot.${project.packaging} - - -PpkgName=${pkg.name} - -PpkgUser=${pkg.user} - -PpkgInstallFolder=${pkg.installFolder} - -PpkgLogFolder=${pkg.unixLogFolder} - --warning-mode - all - - - - - package - - invoke - - - org.apache.maven.plugins maven-assembly-plugin - - ${pkg.name} - - ../packaging/assembly/windows.xml - - - - - assembly - package - - single - - - org.apache.maven.plugins maven-install-plugin - - ${project.build.directory}/${pkg.name}.deb - ${project.artifactId} - ${project.groupId} - ${project.version} - deb - deb - - - - install-deb - package - - install-file - - - org.xolstice.maven.plugins diff --git a/msa/js-executor/build.gradle b/msa/js-executor/build.gradle index 1c48f3d19f..dd972b0ca6 100644 --- a/msa/js-executor/build.gradle +++ b/msa/js-executor/build.gradle @@ -17,7 +17,7 @@ import org.apache.tools.ant.filters.ReplaceTokens buildscript { ext { - osPackageVersion = "3.8.0" + osPackageVersion = "8.3.0" } repositories { jcenter() @@ -72,8 +72,8 @@ buildRpm { arch = X86_64 - version = projectVersion.replace('-', '') - archiveName = "${pkgName}.rpm" + archiveVersion = projectVersion.replace('-', '') + archiveFileName = "${pkgName}.rpm" preInstall file("${buildDir}/control/rpm/preinst") postInstall file("${buildDir}/control/rpm/postinst") @@ -90,7 +90,6 @@ buildRpm { into "/usr/lib/systemd/system" } - directory(pkgLogFolder, 0755) link("/etc/${pkgName}/conf", "${pkgInstallFolder}/conf") } @@ -99,7 +98,7 @@ buildDeb { arch = "amd64" - archiveName = "${pkgName}.deb" + archiveFileName = "${pkgName}.deb" configurationFile("${pkgInstallFolder}/conf/${pkgName}.conf") configurationFile("${pkgInstallFolder}/conf/custom-environment-variables.yml") @@ -114,7 +113,27 @@ buildDeb { user pkgUser permissionGroup pkgUser - directory(pkgLogFolder, 0755) 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 1797dd3200..28c4909a8e 100644 --- a/msa/js-executor/pom.xml +++ b/msa/js-executor/pom.xml @@ -233,10 +233,13 @@ org.thingsboard gradle-maven-plugin + ${basedir} build buildDeb buildRpm + renameDeb + renameRpm -PprojectBuildDir=${project.build.directory} diff --git a/msa/js-executor/src/main/scripts/control/deb/postinst b/msa/js-executor/src/main/scripts/control/deb/postinst index 0767d3f2c7..729676a8ee 100644 --- a/msa/js-executor/src/main/scripts/control/deb/postinst +++ b/msa/js-executor/src/main/scripts/control/deb/postinst @@ -1,5 +1,6 @@ #!/bin/sh +mkdir -m 0755 -p ${pkg.logFolder} chown -R ${pkg.user}: ${pkg.logFolder} chown -R ${pkg.user}: ${pkg.installFolder} update-rc.d ${pkg.name} defaults diff --git a/msa/js-executor/src/main/scripts/control/rpm/postinst b/msa/js-executor/src/main/scripts/control/rpm/postinst index d8021e2dd9..3608d09ef9 100644 --- a/msa/js-executor/src/main/scripts/control/rpm/postinst +++ b/msa/js-executor/src/main/scripts/control/rpm/postinst @@ -1,5 +1,6 @@ #!/bin/sh +mkdir -m 0755 -p ${pkg.logFolder} chown -R ${pkg.user}: ${pkg.logFolder} chown -R ${pkg.user}: ${pkg.installFolder} diff --git a/msa/web-ui/build.gradle b/msa/web-ui/build.gradle index c436e8305f..42cc38b72e 100644 --- a/msa/web-ui/build.gradle +++ b/msa/web-ui/build.gradle @@ -17,7 +17,7 @@ import org.apache.tools.ant.filters.ReplaceTokens buildscript { ext { - osPackageVersion = "3.8.0" + osPackageVersion = "8.3.0" } repositories { jcenter() @@ -77,8 +77,8 @@ buildRpm { arch = X86_64 - version = projectVersion.replace('-', '') - archiveName = "${pkgName}.rpm" + archiveVersion = projectVersion.replace('-', '') + archiveFileName = "${pkgName}.rpm" preInstall file("${buildDir}/control/rpm/preinst") postInstall file("${buildDir}/control/rpm/postinst") @@ -95,7 +95,6 @@ buildRpm { into "/usr/lib/systemd/system" } - directory(pkgLogFolder, 0755) link("/etc/${pkgName}/conf", "${pkgInstallFolder}/conf") } @@ -104,7 +103,7 @@ buildDeb { arch = "amd64" - archiveName = "${pkgName}.deb" + archiveFileName = "${pkgName}.deb" configurationFile("${pkgInstallFolder}/conf/${pkgName}.conf") configurationFile("${pkgInstallFolder}/conf/custom-environment-variables.yml") @@ -119,7 +118,26 @@ buildDeb { user pkgUser permissionGroup pkgUser - directory(pkgLogFolder, 0755) 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/web-ui/pom.xml b/msa/web-ui/pom.xml index 47d1f5914e..b1c611106a 100644 --- a/msa/web-ui/pom.xml +++ b/msa/web-ui/pom.xml @@ -257,10 +257,13 @@ org.thingsboard gradle-maven-plugin + ${basedir} build buildDeb buildRpm + renameDeb + renameRpm -PprojectBuildDir=${project.build.directory} diff --git a/netty-mqtt/pom.xml b/netty-mqtt/pom.xml index f36e8648c8..5b77fce18e 100644 --- a/netty-mqtt/pom.xml +++ b/netty-mqtt/pom.xml @@ -22,7 +22,6 @@ 2.5.1-SNAPSHOT thingsboard - org.thingsboard netty-mqtt 2.5.1-SNAPSHOT jar diff --git a/packaging/build.gradle b/packaging/build.gradle index 9d0c854595..5b1d725e5d 100644 --- a/packaging/build.gradle +++ b/packaging/build.gradle @@ -56,19 +56,21 @@ ospackage { into "bin" } - // Copy the install files - from("${buildDir}/bin/install/install.sh") { - fileMode 0775 - into "bin/install" - } + if("${pkgCopyInstallScripts}".equalsIgnoreCase("true")) { + // Copy the install files + from("${buildDir}/bin/install/install.sh") { + fileMode 0775 + into "bin/install" + } - from("${buildDir}/bin/install/upgrade.sh") { - fileMode 0775 - into "bin/install" - } + from("${buildDir}/bin/install/upgrade.sh") { + fileMode 0775 + into "bin/install" + } - from("${buildDir}/bin/install/logback.xml") { - into "bin/install" + from("${buildDir}/bin/install/logback.xml") { + into "bin/install" + } } // Copy the config files diff --git a/pom.xml b/pom.xml index 17db727b44..ab9df535b4 100755 --- a/pom.xml +++ b/pom.xml @@ -29,7 +29,11 @@ ${basedir} + true + none + none thingsboard + ${project.name} 2.2.6.RELEASE 2.1.2.RELEASE 5.2.6.RELEASE @@ -133,6 +137,340 @@ true + + + packaging + + true + + + + + + org.apache.maven.plugins + maven-resources-plugin + + + copy-conf + ${pkg.process-resources.phase} + + copy-resources + + + ${project.build.directory}/conf + + + src/main/resources + + logback.xml + + false + + + + + + copy-service-conf + ${pkg.process-resources.phase} + + copy-resources + + + ${project.build.directory}/conf + + + src/main/conf + true + + + + ${main.dir}/packaging/filters/unix.properties + + + + + copy-win-conf + ${pkg.process-resources.phase} + + copy-resources + + + ${pkg.win.dist}/conf + + + src/main/resources + + logback.xml + + false + + + src/main/conf + + thingsboard.conf + + true + + + + ${main.dir}/packaging/filters/windows.properties + + + + + copy-control + ${pkg.process-resources.phase} + + copy-resources + + + ${project.build.directory}/control + + + ${main.dir}/packaging/scripts/control + true + + + + ${main.dir}/packaging/filters/unix.properties + + + + + copy-install + ${pkg.process-resources.phase} + + copy-resources + + + ${project.build.directory}/bin/install + + + ${main.dir}/packaging/scripts/install + + **/*.sh + **/*.xml + + true + + + + ${main.dir}/packaging/filters/unix.properties + + + + + copy-windows-control + ${pkg.process-resources.phase} + + copy-resources + + + ${pkg.win.dist} + + + ${main.dir}/packaging/scripts/windows + true + + + + ${main.dir}/packaging/filters/windows.properties + + + + + copy-windows-install + ${pkg.process-resources.phase} + + copy-resources + + + ${pkg.win.dist}/install + + + ${main.dir}/packaging/scripts/install + + logback.xml + + true + + + + ${main.dir}/packaging/filters/windows.properties + + + + + copy-data + ${pkg.process-resources.phase} + + copy-resources + + + ${project.build.directory}/data + + + src/main/data + + + ../dao/src/main/resources + + **/*.cql + **/*.sql + + false + + + + + + + + org.apache.maven.plugins + maven-dependency-plugin + + + copy-winsw-service + ${pkg.package.phase} + + copy + + + + + com.sun.winsw + winsw + bin + exe + service.exe + + + ${pkg.win.dist} + + + + + + org.apache.maven.plugins + maven-jar-plugin + + + **/logback.xml + + + + ${pkg.implementationTitle} + ${project.version} + + + + + + org.springframework.boot + spring-boot-maven-plugin + + ${pkg.disabled} + ${pkg.mainClass} + boot + ZIP + true + true + + ${pkg.installFolder}/conf + ${pkg.unixLogFolder} + ${pkg.name}.out + ${pkg.name} + + + + + + repackage + + + + + + org.thingsboard + gradle-maven-plugin + + ${main.dir}/packaging + + build + buildDeb + buildRpm + renameDeb + renameRpm + + + -PpackagingDir=${main.dir}/packaging + -PprojectBuildDir=${basedir}/target + -PprojectVersion=${project.version} + + -PmainJar=${project.build.directory}/${project.build.finalName}-boot.${project.packaging} + + -PpkgName=${pkg.name} + -PpkgUser=${pkg.user} + -PpkgInstallFolder=${pkg.installFolder} + -PpkgCopyInstallScripts=${pkg.copyInstallScripts} + -PpkgLogFolder=${pkg.unixLogFolder} + --warning-mode + all + + + + + ${pkg.package.phase} + + invoke + + + + + + org.apache.maven.plugins + maven-assembly-plugin + + ${pkg.name} + + ${main.dir}/packaging/assembly/windows.xml + + + + + assembly + ${pkg.package.phase} + + single + + + + + + org.apache.maven.plugins + maven-install-plugin + + ${project.build.directory}/${pkg.name}.deb + ${project.artifactId} + ${project.groupId} + ${project.version} + deb + deb + + + + install-deb + ${pkg.package.phase} + + install-file + + + + + + + + diff --git a/rule-engine/rule-engine-components/pom.xml b/rule-engine/rule-engine-components/pom.xml index 76a70b3caf..1b338c34f2 100644 --- a/rule-engine/rule-engine-components/pom.xml +++ b/rule-engine/rule-engine-components/pom.xml @@ -155,31 +155,6 @@ org.codehaus.mojo build-helper-maven-plugin - - org.springframework.boot - spring-boot-maven-plugin - - org.thingsboard.server.dao.queue.QueueBenchmark - boot - ZIP - true - true - - - - - - - - - - - repackage - - - - - diff --git a/transport/coap/build.gradle b/transport/coap/build.gradle deleted file mode 100644 index 1a72b8b68e..0000000000 --- a/transport/coap/build.gradle +++ /dev/null @@ -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") -} diff --git a/transport/coap/pom.xml b/transport/coap/pom.xml index e83ebc4623..6ca154b882 100644 --- a/transport/coap/pom.xml +++ b/transport/coap/pom.xml @@ -33,10 +33,16 @@ UTF-8 ${basedir}/../.. + false + process-resources + package tb-coap-transport /var/log/${pkg.name} /usr/share/${pkg.name} + false ${project.build.directory}/windows + ThingsBoard CoAP Transport Service + org.thingsboard.server.coap.ThingsboardCoapTransportApplication @@ -87,244 +93,30 @@ org.apache.maven.plugins maven-resources-plugin - - - copy-conf - process-resources - - copy-resources - - - ${project.build.directory}/conf - - - src/main/resources - - logback.xml - - false - - - - - - copy-service-conf - process-resources - - copy-resources - - - ${project.build.directory}/conf - - - src/main/conf - true - - - - src/main/filters/unix.properties - - - - - copy-win-conf - process-resources - - copy-resources - - - ${pkg.win.dist}/conf - - - src/main/resources - - logback.xml - - false - - - src/main/conf - - tb-coap-transport.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 - - - - 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-jar-plugin - - - **/logback.xml - - - - ThingsBoard CoAP Transport Service - ${project.version} - - - org.springframework.boot spring-boot-maven-plugin - - org.thingsboard.server.coap.ThingsboardCoapTransportApplication - boot - ZIP - true - true - - ${pkg.installFolder}/conf - ${pkg.unixLogFolder} - ${pkg.name}.out - ${pkg.name} - - - - - - repackage - - - org.thingsboard gradle-maven-plugin - - - build - buildDeb - buildRpm - - - -PprojectBuildDir=${project.build.directory} - -PprojectVersion=${project.version} - -PmainJar=${project.build.directory}/${project.build.finalName}-boot.${project.packaging} - -PpkgName=${pkg.name} - -PpkgInstallFolder=${pkg.installFolder} - -PpkgLogFolder=${pkg.unixLogFolder} - - - - - package - - invoke - - - org.apache.maven.plugins maven-assembly-plugin - - ${pkg.name} - - src/main/assembly/windows.xml - - - - - assembly - package - - single - - - org.apache.maven.plugins maven-install-plugin - - ${project.build.directory}/${pkg.name}.deb - ${project.artifactId} - ${project.groupId} - ${project.version} - deb - deb - - - - install-deb - package - - install-file - - - diff --git a/transport/coap/src/main/assembly/windows.xml b/transport/coap/src/main/assembly/windows.xml deleted file mode 100644 index 3cd8ba35c1..0000000000 --- a/transport/coap/src/main/assembly/windows.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - windows - - - zip - - - - - - ${pkg.win.dist} - logs - - */** - - - - ${pkg.win.dist}/conf - conf - windows - - - - - - ${project.build.directory}/${project.build.finalName}-boot.${project.packaging} - lib - ${pkg.name}.jar - - - ${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/transport/coap/src/main/filters/unix.properties b/transport/coap/src/main/filters/unix.properties deleted file mode 100644 index 8967278673..0000000000 --- a/transport/coap/src/main/filters/unix.properties +++ /dev/null @@ -1 +0,0 @@ -pkg.logFolder=${pkg.unixLogFolder} \ No newline at end of file diff --git a/transport/coap/src/main/filters/windows.properties b/transport/coap/src/main/filters/windows.properties deleted file mode 100644 index a6e48d91ba..0000000000 --- a/transport/coap/src/main/filters/windows.properties +++ /dev/null @@ -1,2 +0,0 @@ -pkg.logFolder=${BASE}\\logs -pkg.winWrapperLogFolder=%BASE%\\logs diff --git a/transport/coap/src/main/scripts/control/deb/postinst b/transport/coap/src/main/scripts/control/deb/postinst deleted file mode 100644 index 0767d3f2c7..0000000000 --- a/transport/coap/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/transport/coap/src/main/scripts/control/deb/postrm b/transport/coap/src/main/scripts/control/deb/postrm deleted file mode 100644 index 61865803c3..0000000000 --- a/transport/coap/src/main/scripts/control/deb/postrm +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -update-rc.d -f ${pkg.name} remove diff --git a/transport/coap/src/main/scripts/control/deb/preinst b/transport/coap/src/main/scripts/control/deb/preinst deleted file mode 100644 index d2ebea46d7..0000000000 --- a/transport/coap/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/transport/coap/src/main/scripts/control/deb/prerm b/transport/coap/src/main/scripts/control/deb/prerm deleted file mode 100644 index 898d3efd5c..0000000000 --- a/transport/coap/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/transport/coap/src/main/scripts/control/rpm/postinst b/transport/coap/src/main/scripts/control/rpm/postinst deleted file mode 100644 index d8021e2dd9..0000000000 --- a/transport/coap/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/transport/coap/src/main/scripts/control/rpm/postrm b/transport/coap/src/main/scripts/control/rpm/postrm deleted file mode 100644 index 8e1f8a2048..0000000000 --- a/transport/coap/src/main/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/transport/coap/src/main/scripts/control/rpm/preinst b/transport/coap/src/main/scripts/control/rpm/preinst deleted file mode 100644 index db6306e4ac..0000000000 --- a/transport/coap/src/main/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/transport/coap/src/main/scripts/control/rpm/prerm b/transport/coap/src/main/scripts/control/rpm/prerm deleted file mode 100644 index accb487b8e..0000000000 --- a/transport/coap/src/main/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/transport/coap/src/main/scripts/control/tb-coap-transport.service b/transport/coap/src/main/scripts/control/tb-coap-transport.service deleted file mode 100644 index 3fee5c88df..0000000000 --- a/transport/coap/src/main/scripts/control/tb-coap-transport.service +++ /dev/null @@ -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 diff --git a/transport/coap/src/main/scripts/windows/install.bat b/transport/coap/src/main/scripts/windows/install.bat deleted file mode 100644 index bce7f62942..0000000000 --- a/transport/coap/src/main/scripts/windows/install.bat +++ /dev/null @@ -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 - - diff --git a/transport/coap/src/main/scripts/windows/service.xml b/transport/coap/src/main/scripts/windows/service.xml deleted file mode 100644 index f7b9d307c8..0000000000 --- a/transport/coap/src/main/scripts/windows/service.xml +++ /dev/null @@ -1,36 +0,0 @@ - - ${pkg.name} - ${project.name} - ${project.description} - %BASE%\conf - ${pkg.winWrapperLogFolder} - rotate - - java - -Xloggc:%BASE%\logs\gc.log - -XX:+HeapDumpOnOutOfMemoryError - -XX:+PrintGCDetails - -XX:+PrintGCDateStamps - -XX:+PrintHeapAtGC - -XX:+PrintTenuringDistribution - -XX:+PrintGCApplicationStoppedTime - -XX:+UseGCLogFileRotation - -XX:NumberOfGCLogFiles=10 - -XX:GCLogFileSize=10M - -XX:-UseBiasedLocking - -XX:+UseTLAB - -XX:+ResizeTLAB - -XX:+PerfDisableSharedMem - -XX:+UseCondCardMark - -XX:CMSWaitDuration=10000 - -XX:+UseParNewGC - -XX:+UseConcMarkSweepGC - -XX:+CMSParallelRemarkEnabled - -XX:+CMSParallelInitialMarkEnabled - -XX:+CMSEdenChunksRecordAlways - -XX:CMSInitiatingOccupancyFraction=75 - -XX:+UseCMSInitiatingOccupancyOnly - -jar - %BASE%\lib\${pkg.name}.jar - - diff --git a/transport/coap/src/main/scripts/windows/uninstall.bat b/transport/coap/src/main/scripts/windows/uninstall.bat deleted file mode 100644 index 634b88ddff..0000000000 --- a/transport/coap/src/main/scripts/windows/uninstall.bat +++ /dev/null @@ -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. \ No newline at end of file diff --git a/transport/http/build.gradle b/transport/http/build.gradle deleted file mode 100644 index 1a72b8b68e..0000000000 --- a/transport/http/build.gradle +++ /dev/null @@ -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") -} diff --git a/transport/http/pom.xml b/transport/http/pom.xml index ddbcc5b0bf..a1800c4e9f 100644 --- a/transport/http/pom.xml +++ b/transport/http/pom.xml @@ -33,10 +33,16 @@ UTF-8 ${basedir}/../.. + false + process-resources + package tb-http-transport /var/log/${pkg.name} /usr/share/${pkg.name} + false ${project.build.directory}/windows + ThingsBoard HTTP Transport Service + org.thingsboard.server.http.ThingsboardHttpTransportApplication @@ -87,244 +93,30 @@ org.apache.maven.plugins maven-resources-plugin - - - copy-conf - process-resources - - copy-resources - - - ${project.build.directory}/conf - - - src/main/resources - - logback.xml - - false - - - - - - copy-service-conf - process-resources - - copy-resources - - - ${project.build.directory}/conf - - - src/main/conf - true - - - - src/main/filters/unix.properties - - - - - copy-win-conf - process-resources - - copy-resources - - - ${pkg.win.dist}/conf - - - src/main/resources - - logback.xml - - false - - - src/main/conf - - tb-http-transport.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 - - - - 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-jar-plugin - - - **/logback.xml - - - - ThingsBoard HTTP Transport Service - ${project.version} - - - org.springframework.boot spring-boot-maven-plugin - - org.thingsboard.server.http.ThingsboardHttpTransportApplication - boot - ZIP - true - true - - ${pkg.installFolder}/conf - ${pkg.unixLogFolder} - ${pkg.name}.out - ${pkg.name} - - - - - - repackage - - - org.thingsboard gradle-maven-plugin - - - build - buildDeb - buildRpm - - - -PprojectBuildDir=${project.build.directory} - -PprojectVersion=${project.version} - -PmainJar=${project.build.directory}/${project.build.finalName}-boot.${project.packaging} - -PpkgName=${pkg.name} - -PpkgInstallFolder=${pkg.installFolder} - -PpkgLogFolder=${pkg.unixLogFolder} - - - - - package - - invoke - - - org.apache.maven.plugins maven-assembly-plugin - - ${pkg.name} - - src/main/assembly/windows.xml - - - - - assembly - package - - single - - - org.apache.maven.plugins maven-install-plugin - - ${project.build.directory}/${pkg.name}.deb - ${project.artifactId} - ${project.groupId} - ${project.version} - deb - deb - - - - install-deb - package - - install-file - - - diff --git a/transport/http/src/main/assembly/windows.xml b/transport/http/src/main/assembly/windows.xml deleted file mode 100644 index 3cd8ba35c1..0000000000 --- a/transport/http/src/main/assembly/windows.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - windows - - - zip - - - - - - ${pkg.win.dist} - logs - - */** - - - - ${pkg.win.dist}/conf - conf - windows - - - - - - ${project.build.directory}/${project.build.finalName}-boot.${project.packaging} - lib - ${pkg.name}.jar - - - ${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/transport/http/src/main/filters/unix.properties b/transport/http/src/main/filters/unix.properties deleted file mode 100644 index 8967278673..0000000000 --- a/transport/http/src/main/filters/unix.properties +++ /dev/null @@ -1 +0,0 @@ -pkg.logFolder=${pkg.unixLogFolder} \ No newline at end of file diff --git a/transport/http/src/main/filters/windows.properties b/transport/http/src/main/filters/windows.properties deleted file mode 100644 index a6e48d91ba..0000000000 --- a/transport/http/src/main/filters/windows.properties +++ /dev/null @@ -1,2 +0,0 @@ -pkg.logFolder=${BASE}\\logs -pkg.winWrapperLogFolder=%BASE%\\logs diff --git a/transport/http/src/main/scripts/control/deb/postinst b/transport/http/src/main/scripts/control/deb/postinst deleted file mode 100644 index 0767d3f2c7..0000000000 --- a/transport/http/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/transport/http/src/main/scripts/control/deb/postrm b/transport/http/src/main/scripts/control/deb/postrm deleted file mode 100644 index 61865803c3..0000000000 --- a/transport/http/src/main/scripts/control/deb/postrm +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -update-rc.d -f ${pkg.name} remove diff --git a/transport/http/src/main/scripts/control/deb/preinst b/transport/http/src/main/scripts/control/deb/preinst deleted file mode 100644 index d2ebea46d7..0000000000 --- a/transport/http/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/transport/http/src/main/scripts/control/deb/prerm b/transport/http/src/main/scripts/control/deb/prerm deleted file mode 100644 index 898d3efd5c..0000000000 --- a/transport/http/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/transport/http/src/main/scripts/control/rpm/postinst b/transport/http/src/main/scripts/control/rpm/postinst deleted file mode 100644 index d8021e2dd9..0000000000 --- a/transport/http/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/transport/http/src/main/scripts/control/rpm/postrm b/transport/http/src/main/scripts/control/rpm/postrm deleted file mode 100644 index 8e1f8a2048..0000000000 --- a/transport/http/src/main/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/transport/http/src/main/scripts/control/rpm/preinst b/transport/http/src/main/scripts/control/rpm/preinst deleted file mode 100644 index db6306e4ac..0000000000 --- a/transport/http/src/main/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/transport/http/src/main/scripts/control/rpm/prerm b/transport/http/src/main/scripts/control/rpm/prerm deleted file mode 100644 index accb487b8e..0000000000 --- a/transport/http/src/main/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/transport/http/src/main/scripts/control/tb-http-transport.service b/transport/http/src/main/scripts/control/tb-http-transport.service deleted file mode 100644 index 3fee5c88df..0000000000 --- a/transport/http/src/main/scripts/control/tb-http-transport.service +++ /dev/null @@ -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 diff --git a/transport/http/src/main/scripts/windows/install.bat b/transport/http/src/main/scripts/windows/install.bat deleted file mode 100644 index bce7f62942..0000000000 --- a/transport/http/src/main/scripts/windows/install.bat +++ /dev/null @@ -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 - - diff --git a/transport/http/src/main/scripts/windows/service.xml b/transport/http/src/main/scripts/windows/service.xml deleted file mode 100644 index f7b9d307c8..0000000000 --- a/transport/http/src/main/scripts/windows/service.xml +++ /dev/null @@ -1,36 +0,0 @@ - - ${pkg.name} - ${project.name} - ${project.description} - %BASE%\conf - ${pkg.winWrapperLogFolder} - rotate - - java - -Xloggc:%BASE%\logs\gc.log - -XX:+HeapDumpOnOutOfMemoryError - -XX:+PrintGCDetails - -XX:+PrintGCDateStamps - -XX:+PrintHeapAtGC - -XX:+PrintTenuringDistribution - -XX:+PrintGCApplicationStoppedTime - -XX:+UseGCLogFileRotation - -XX:NumberOfGCLogFiles=10 - -XX:GCLogFileSize=10M - -XX:-UseBiasedLocking - -XX:+UseTLAB - -XX:+ResizeTLAB - -XX:+PerfDisableSharedMem - -XX:+UseCondCardMark - -XX:CMSWaitDuration=10000 - -XX:+UseParNewGC - -XX:+UseConcMarkSweepGC - -XX:+CMSParallelRemarkEnabled - -XX:+CMSParallelInitialMarkEnabled - -XX:+CMSEdenChunksRecordAlways - -XX:CMSInitiatingOccupancyFraction=75 - -XX:+UseCMSInitiatingOccupancyOnly - -jar - %BASE%\lib\${pkg.name}.jar - - diff --git a/transport/http/src/main/scripts/windows/uninstall.bat b/transport/http/src/main/scripts/windows/uninstall.bat deleted file mode 100644 index 634b88ddff..0000000000 --- a/transport/http/src/main/scripts/windows/uninstall.bat +++ /dev/null @@ -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. \ No newline at end of file diff --git a/transport/mqtt/build.gradle b/transport/mqtt/build.gradle deleted file mode 100644 index 1a72b8b68e..0000000000 --- a/transport/mqtt/build.gradle +++ /dev/null @@ -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") -} diff --git a/transport/mqtt/pom.xml b/transport/mqtt/pom.xml index 90b09bf04d..084dbc3679 100644 --- a/transport/mqtt/pom.xml +++ b/transport/mqtt/pom.xml @@ -33,10 +33,16 @@ UTF-8 ${basedir}/../.. + false + process-resources + package tb-mqtt-transport /var/log/${pkg.name} /usr/share/${pkg.name} + false ${project.build.directory}/windows + ThingsBoard MQTT Transport Service + org.thingsboard.server.mqtt.ThingsboardMqttTransportApplication @@ -87,244 +93,30 @@ org.apache.maven.plugins maven-resources-plugin - - - copy-conf - process-resources - - copy-resources - - - ${project.build.directory}/conf - - - src/main/resources - - logback.xml - - false - - - - - - copy-service-conf - process-resources - - copy-resources - - - ${project.build.directory}/conf - - - src/main/conf - true - - - - src/main/filters/unix.properties - - - - - copy-win-conf - process-resources - - copy-resources - - - ${pkg.win.dist}/conf - - - src/main/resources - - logback.xml - - false - - - src/main/conf - - tb-mqtt-transport.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 - - - - 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-jar-plugin - - - **/logback.xml - - - - ThingsBoard MQTT Transport Service - ${project.version} - - - org.springframework.boot spring-boot-maven-plugin - - org.thingsboard.server.mqtt.ThingsboardMqttTransportApplication - boot - ZIP - true - true - - ${pkg.installFolder}/conf - ${pkg.unixLogFolder} - ${pkg.name}.out - ${pkg.name} - - - - - - repackage - - - org.thingsboard gradle-maven-plugin - - - build - buildDeb - buildRpm - - - -PprojectBuildDir=${project.build.directory} - -PprojectVersion=${project.version} - -PmainJar=${project.build.directory}/${project.build.finalName}-boot.${project.packaging} - -PpkgName=${pkg.name} - -PpkgInstallFolder=${pkg.installFolder} - -PpkgLogFolder=${pkg.unixLogFolder} - - - - - package - - invoke - - - org.apache.maven.plugins maven-assembly-plugin - - ${pkg.name} - - src/main/assembly/windows.xml - - - - - assembly - package - - single - - - org.apache.maven.plugins maven-install-plugin - - ${project.build.directory}/${pkg.name}.deb - ${project.artifactId} - ${project.groupId} - ${project.version} - deb - deb - - - - install-deb - package - - install-file - - - diff --git a/transport/mqtt/src/main/assembly/windows.xml b/transport/mqtt/src/main/assembly/windows.xml deleted file mode 100644 index 3cd8ba35c1..0000000000 --- a/transport/mqtt/src/main/assembly/windows.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - windows - - - zip - - - - - - ${pkg.win.dist} - logs - - */** - - - - ${pkg.win.dist}/conf - conf - windows - - - - - - ${project.build.directory}/${project.build.finalName}-boot.${project.packaging} - lib - ${pkg.name}.jar - - - ${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/transport/mqtt/src/main/filters/unix.properties b/transport/mqtt/src/main/filters/unix.properties deleted file mode 100644 index 8967278673..0000000000 --- a/transport/mqtt/src/main/filters/unix.properties +++ /dev/null @@ -1 +0,0 @@ -pkg.logFolder=${pkg.unixLogFolder} \ No newline at end of file diff --git a/transport/mqtt/src/main/filters/windows.properties b/transport/mqtt/src/main/filters/windows.properties deleted file mode 100644 index a6e48d91ba..0000000000 --- a/transport/mqtt/src/main/filters/windows.properties +++ /dev/null @@ -1,2 +0,0 @@ -pkg.logFolder=${BASE}\\logs -pkg.winWrapperLogFolder=%BASE%\\logs diff --git a/transport/mqtt/src/main/scripts/control/deb/postinst b/transport/mqtt/src/main/scripts/control/deb/postinst deleted file mode 100644 index 0767d3f2c7..0000000000 --- a/transport/mqtt/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/transport/mqtt/src/main/scripts/control/deb/postrm b/transport/mqtt/src/main/scripts/control/deb/postrm deleted file mode 100644 index 61865803c3..0000000000 --- a/transport/mqtt/src/main/scripts/control/deb/postrm +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -update-rc.d -f ${pkg.name} remove diff --git a/transport/mqtt/src/main/scripts/control/deb/preinst b/transport/mqtt/src/main/scripts/control/deb/preinst deleted file mode 100644 index d2ebea46d7..0000000000 --- a/transport/mqtt/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/transport/mqtt/src/main/scripts/control/deb/prerm b/transport/mqtt/src/main/scripts/control/deb/prerm deleted file mode 100644 index 898d3efd5c..0000000000 --- a/transport/mqtt/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/transport/mqtt/src/main/scripts/control/rpm/postinst b/transport/mqtt/src/main/scripts/control/rpm/postinst deleted file mode 100644 index d8021e2dd9..0000000000 --- a/transport/mqtt/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/transport/mqtt/src/main/scripts/control/rpm/postrm b/transport/mqtt/src/main/scripts/control/rpm/postrm deleted file mode 100644 index 8e1f8a2048..0000000000 --- a/transport/mqtt/src/main/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/transport/mqtt/src/main/scripts/control/rpm/preinst b/transport/mqtt/src/main/scripts/control/rpm/preinst deleted file mode 100644 index db6306e4ac..0000000000 --- a/transport/mqtt/src/main/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/transport/mqtt/src/main/scripts/control/rpm/prerm b/transport/mqtt/src/main/scripts/control/rpm/prerm deleted file mode 100644 index accb487b8e..0000000000 --- a/transport/mqtt/src/main/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/transport/mqtt/src/main/scripts/control/tb-mqtt-transport.service b/transport/mqtt/src/main/scripts/control/tb-mqtt-transport.service deleted file mode 100644 index 3fee5c88df..0000000000 --- a/transport/mqtt/src/main/scripts/control/tb-mqtt-transport.service +++ /dev/null @@ -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 diff --git a/transport/mqtt/src/main/scripts/windows/install.bat b/transport/mqtt/src/main/scripts/windows/install.bat deleted file mode 100644 index bce7f62942..0000000000 --- a/transport/mqtt/src/main/scripts/windows/install.bat +++ /dev/null @@ -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 - - diff --git a/transport/mqtt/src/main/scripts/windows/service.xml b/transport/mqtt/src/main/scripts/windows/service.xml deleted file mode 100644 index f7b9d307c8..0000000000 --- a/transport/mqtt/src/main/scripts/windows/service.xml +++ /dev/null @@ -1,36 +0,0 @@ - - ${pkg.name} - ${project.name} - ${project.description} - %BASE%\conf - ${pkg.winWrapperLogFolder} - rotate - - java - -Xloggc:%BASE%\logs\gc.log - -XX:+HeapDumpOnOutOfMemoryError - -XX:+PrintGCDetails - -XX:+PrintGCDateStamps - -XX:+PrintHeapAtGC - -XX:+PrintTenuringDistribution - -XX:+PrintGCApplicationStoppedTime - -XX:+UseGCLogFileRotation - -XX:NumberOfGCLogFiles=10 - -XX:GCLogFileSize=10M - -XX:-UseBiasedLocking - -XX:+UseTLAB - -XX:+ResizeTLAB - -XX:+PerfDisableSharedMem - -XX:+UseCondCardMark - -XX:CMSWaitDuration=10000 - -XX:+UseParNewGC - -XX:+UseConcMarkSweepGC - -XX:+CMSParallelRemarkEnabled - -XX:+CMSParallelInitialMarkEnabled - -XX:+CMSEdenChunksRecordAlways - -XX:CMSInitiatingOccupancyFraction=75 - -XX:+UseCMSInitiatingOccupancyOnly - -jar - %BASE%\lib\${pkg.name}.jar - - diff --git a/transport/mqtt/src/main/scripts/windows/uninstall.bat b/transport/mqtt/src/main/scripts/windows/uninstall.bat deleted file mode 100644 index 634b88ddff..0000000000 --- a/transport/mqtt/src/main/scripts/windows/uninstall.bat +++ /dev/null @@ -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. \ No newline at end of file From 551d2609fb35c147bc7f4517406f56ce8a5a5f71 Mon Sep 17 00:00:00 2001 From: Andrii Shvaika Date: Thu, 21 May 2020 19:31:44 +0300 Subject: [PATCH 3/4] Refactored DEB/RPM builds for JS based components --- application/pom.xml | 5 +- msa/js-executor/build.gradle | 139 ------- msa/js-executor/pom.xml | 187 +--------- msa/js-executor/src/main/assembly/windows.xml | 71 ---- .../src/main/scripts/init/tb-js-executor | 233 ------------ .../src/main/scripts/windows/service.xml | 29 -- msa/web-ui/pom.xml | 340 +++++++++--------- .../src/main/scripts/control/deb/postinst | 6 - .../src/main/scripts/control/deb/postrm | 3 - .../src/main/scripts/control/deb/preinst | 18 - msa/web-ui/src/main/scripts/control/deb/prerm | 5 - .../src/main/scripts/control/rpm/postinst | 9 - .../main/scripts/control/tb-web-ui.service | 11 - .../src/main/scripts/windows/install.bat | 31 -- .../src/main/scripts/windows/uninstall.bat | 25 -- packaging/filters/unix.properties | 1 - packaging/filters/windows.properties | 2 - packaging/{ => java}/assembly/windows.xml | 0 packaging/{ => java}/build.gradle | 0 .../java}/filters/unix.properties | 0 .../java}/filters/windows.properties | 0 .../{ => java}/scripts/control/deb/postinst | 0 .../{ => java}/scripts/control/deb/postrm | 0 .../{ => java}/scripts/control/deb/preinst | 0 .../{ => java}/scripts/control/deb/prerm | 0 .../java}/scripts/control/rpm/postinst | 0 .../java}/scripts/control/rpm/postrm | 0 .../java}/scripts/control/rpm/preinst | 0 .../java}/scripts/control/rpm/prerm | 0 .../scripts/control/template.service | 0 .../{ => java}/scripts/install/install.sh | 0 .../scripts/install/install_dev_db.sh | 0 .../{ => java}/scripts/install/logback.xml | 0 .../{ => java}/scripts/install/upgrade.sh | 0 .../scripts/install/upgrade_dev_db.sh | 0 .../{ => java}/scripts/windows/install.bat | 0 .../scripts/windows/install_dev_db.bat | 0 .../{ => java}/scripts/windows/service.xml | 0 .../{ => java}/scripts/windows/uninstall.bat | 0 .../{ => java}/scripts/windows/upgrade.bat | 0 .../js}/assembly/windows.xml | 0 {msa/web-ui => packaging/js}/build.gradle | 11 +- .../js}/filters/unix.properties | 0 .../js}/filters/windows.properties | 0 .../js}/scripts/control/deb/postinst | 0 .../js}/scripts/control/deb/postrm | 0 .../js}/scripts/control/deb/preinst | 0 .../js}/scripts/control/deb/prerm | 0 .../{ => js}/scripts/control/rpm/postinst | 0 .../js}/scripts/control/rpm/postrm | 0 .../js}/scripts/control/rpm/preinst | 0 .../js}/scripts/control/rpm/prerm | 0 .../js/scripts/control/template.service | 0 .../js/scripts/init/template | 2 +- .../js}/scripts/windows/install.bat | 0 .../js}/scripts/windows/service.xml | 0 .../js}/scripts/windows/uninstall.bat | 0 packaging/scripts/control/rpm/postrm | 6 - packaging/scripts/control/rpm/preinst | 6 - packaging/scripts/control/rpm/prerm | 6 - pom.xml | 90 ++++- transport/coap/pom.xml | 3 +- transport/http/pom.xml | 3 +- transport/mqtt/pom.xml | 3 +- 64 files changed, 273 insertions(+), 972 deletions(-) delete mode 100644 msa/js-executor/build.gradle delete mode 100644 msa/js-executor/src/main/assembly/windows.xml delete mode 100644 msa/js-executor/src/main/scripts/init/tb-js-executor delete mode 100644 msa/js-executor/src/main/scripts/windows/service.xml delete mode 100644 msa/web-ui/src/main/scripts/control/deb/postinst delete mode 100644 msa/web-ui/src/main/scripts/control/deb/postrm delete mode 100644 msa/web-ui/src/main/scripts/control/deb/preinst delete mode 100644 msa/web-ui/src/main/scripts/control/deb/prerm delete mode 100644 msa/web-ui/src/main/scripts/control/rpm/postinst delete mode 100644 msa/web-ui/src/main/scripts/control/tb-web-ui.service delete mode 100644 msa/web-ui/src/main/scripts/windows/install.bat delete mode 100644 msa/web-ui/src/main/scripts/windows/uninstall.bat delete mode 100644 packaging/filters/unix.properties delete mode 100644 packaging/filters/windows.properties rename packaging/{ => java}/assembly/windows.xml (100%) rename packaging/{ => java}/build.gradle (100%) rename {msa/js-executor/src/main => packaging/java}/filters/unix.properties (100%) rename {msa/js-executor/src/main => packaging/java}/filters/windows.properties (100%) rename packaging/{ => java}/scripts/control/deb/postinst (100%) rename packaging/{ => java}/scripts/control/deb/postrm (100%) rename packaging/{ => java}/scripts/control/deb/preinst (100%) rename packaging/{ => java}/scripts/control/deb/prerm (100%) rename {msa/js-executor/src/main => packaging/java}/scripts/control/rpm/postinst (100%) rename {msa/js-executor/src/main => packaging/java}/scripts/control/rpm/postrm (100%) rename {msa/js-executor/src/main => packaging/java}/scripts/control/rpm/preinst (100%) rename {msa/js-executor/src/main => packaging/java}/scripts/control/rpm/prerm (100%) rename packaging/{ => java}/scripts/control/template.service (100%) rename packaging/{ => java}/scripts/install/install.sh (100%) rename packaging/{ => java}/scripts/install/install_dev_db.sh (100%) rename packaging/{ => java}/scripts/install/logback.xml (100%) rename packaging/{ => java}/scripts/install/upgrade.sh (100%) rename packaging/{ => java}/scripts/install/upgrade_dev_db.sh (100%) rename packaging/{ => java}/scripts/windows/install.bat (100%) rename packaging/{ => java}/scripts/windows/install_dev_db.bat (100%) rename packaging/{ => java}/scripts/windows/service.xml (100%) rename packaging/{ => java}/scripts/windows/uninstall.bat (100%) rename packaging/{ => java}/scripts/windows/upgrade.bat (100%) rename {msa/web-ui/src/main => packaging/js}/assembly/windows.xml (100%) rename {msa/web-ui => packaging/js}/build.gradle (93%) rename {msa/web-ui/src/main => packaging/js}/filters/unix.properties (100%) rename {msa/web-ui/src/main => packaging/js}/filters/windows.properties (100%) rename {msa/js-executor/src/main => packaging/js}/scripts/control/deb/postinst (100%) rename {msa/js-executor/src/main => packaging/js}/scripts/control/deb/postrm (100%) rename {msa/js-executor/src/main => packaging/js}/scripts/control/deb/preinst (100%) rename {msa/js-executor/src/main => packaging/js}/scripts/control/deb/prerm (100%) rename packaging/{ => js}/scripts/control/rpm/postinst (100%) rename {msa/web-ui/src/main => packaging/js}/scripts/control/rpm/postrm (100%) rename {msa/web-ui/src/main => packaging/js}/scripts/control/rpm/preinst (100%) rename {msa/web-ui/src/main => packaging/js}/scripts/control/rpm/prerm (100%) rename msa/js-executor/src/main/scripts/control/tb-js-executor.service => packaging/js/scripts/control/template.service (100%) rename msa/web-ui/src/main/scripts/init/tb-web-ui => packaging/js/scripts/init/template (99%) rename {msa/js-executor/src/main => packaging/js}/scripts/windows/install.bat (100%) rename {msa/web-ui/src/main => packaging/js}/scripts/windows/service.xml (100%) rename {msa/js-executor/src/main => packaging/js}/scripts/windows/uninstall.bat (100%) delete mode 100644 packaging/scripts/control/rpm/postrm delete mode 100644 packaging/scripts/control/rpm/preinst delete mode 100644 packaging/scripts/control/rpm/prerm 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 From e39d5c9f538c66d8778a52e79f45a5fdcb928e69 Mon Sep 17 00:00:00 2001 From: Andrii Shvaika Date: Thu, 21 May 2020 19:38:17 +0300 Subject: [PATCH 4/4] Test commit for build system --- pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/pom.xml b/pom.xml index b9d9cac3b6..cc81f4b2b6 100755 --- a/pom.xml +++ b/pom.xml @@ -1432,5 +1432,4 @@ https://oss.sonatype.org/content/groups/public -