From 3ea881f03b348df8fd05fbaa9b189911d2cf3464 Mon Sep 17 00:00:00 2001 From: Andrii Shvaika Date: Thu, 21 May 2020 11:51:51 +0300 Subject: [PATCH] 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/**