Stage 1 refactoring

This commit is contained in:
Andrii Shvaika 2020-05-21 11:51:51 +03:00
parent 676868b4d3
commit 3ea881f03b
26 changed files with 87 additions and 62 deletions

View File

@ -358,7 +358,7 @@
</resource> </resource>
</resources> </resources>
<filters> <filters>
<filter>src/main/filters/unix.properties</filter> <filter>${main.dir}/packaging/filters/unix.properties</filter>
</filters> </filters>
</configuration> </configuration>
</execution> </execution>
@ -387,7 +387,7 @@
</resource> </resource>
</resources> </resources>
<filters> <filters>
<filter>src/main/filters/windows.properties</filter> <filter>${main.dir}/packaging/filters/windows.properties</filter>
</filters> </filters>
</configuration> </configuration>
</execution> </execution>
@ -401,12 +401,12 @@
<outputDirectory>${project.build.directory}/control</outputDirectory> <outputDirectory>${project.build.directory}/control</outputDirectory>
<resources> <resources>
<resource> <resource>
<directory>src/main/scripts/control</directory> <directory>${main.dir}/packaging/scripts/control</directory>
<filtering>true</filtering> <filtering>true</filtering>
</resource> </resource>
</resources> </resources>
<filters> <filters>
<filter>src/main/filters/unix.properties</filter> <filter>${main.dir}/packaging/filters/unix.properties</filter>
</filters> </filters>
</configuration> </configuration>
</execution> </execution>
@ -420,7 +420,7 @@
<outputDirectory>${project.build.directory}/bin/install</outputDirectory> <outputDirectory>${project.build.directory}/bin/install</outputDirectory>
<resources> <resources>
<resource> <resource>
<directory>src/main/scripts/install</directory> <directory>${main.dir}/packaging/scripts/install</directory>
<includes> <includes>
<include>**/*.sh</include> <include>**/*.sh</include>
<include>**/*.xml</include> <include>**/*.xml</include>
@ -429,7 +429,7 @@
</resource> </resource>
</resources> </resources>
<filters> <filters>
<filter>src/main/filters/unix.properties</filter> <filter>${main.dir}/packaging/filters/unix.properties</filter>
</filters> </filters>
</configuration> </configuration>
</execution> </execution>
@ -443,12 +443,12 @@
<outputDirectory>${pkg.win.dist}</outputDirectory> <outputDirectory>${pkg.win.dist}</outputDirectory>
<resources> <resources>
<resource> <resource>
<directory>src/main/scripts/windows</directory> <directory>${main.dir}/packaging/scripts/windows</directory>
<filtering>true</filtering> <filtering>true</filtering>
</resource> </resource>
</resources> </resources>
<filters> <filters>
<filter>src/main/filters/windows.properties</filter> <filter>${main.dir}/packaging/filters/windows.properties</filter>
</filters> </filters>
</configuration> </configuration>
</execution> </execution>
@ -462,7 +462,7 @@
<outputDirectory>${pkg.win.dist}/install</outputDirectory> <outputDirectory>${pkg.win.dist}/install</outputDirectory>
<resources> <resources>
<resource> <resource>
<directory>src/main/scripts/install</directory> <directory>${main.dir}/packaging/scripts/install</directory>
<includes> <includes>
<include>logback.xml</include> <include>logback.xml</include>
</includes> </includes>
@ -470,7 +470,7 @@
</resource> </resource>
</resources> </resources>
<filters> <filters>
<filter>src/main/filters/windows.properties</filter> <filter>${main.dir}/packaging/filters/windows.properties</filter>
</filters> </filters>
</configuration> </configuration>
</execution> </execution>
@ -567,19 +567,26 @@
<groupId>org.thingsboard</groupId> <groupId>org.thingsboard</groupId>
<artifactId>gradle-maven-plugin</artifactId> <artifactId>gradle-maven-plugin</artifactId>
<configuration> <configuration>
<gradleProjectDirectory>${main.dir}/packaging</gradleProjectDirectory>
<tasks> <tasks>
<task>build</task> <task>build</task>
<task>buildDeb</task> <task>buildDeb</task>
<task>buildRpm</task> <task>buildRpm</task>
<task>renameDeb</task>
<task>renameRpm</task>
</tasks> </tasks>
<args> <args>
<arg>-PprojectBuildDir=${project.build.directory}</arg> <arg>-PpackagingDir=${main.dir}/packaging</arg>
<arg>-PprojectBuildDir=${basedir}/target</arg>
<arg>-PprojectVersion=${project.version}</arg> <arg>-PprojectVersion=${project.version}</arg>
<arg>-PmainJar=${project.build.directory}/${project.build.finalName}-boot.${project.packaging} <arg>-PmainJar=${project.build.directory}/${project.build.finalName}-boot.${project.packaging}
</arg> </arg>
<arg>-PpkgName=${pkg.name}</arg> <arg>-PpkgName=${pkg.name}</arg>
<arg>-PpkgUser=${pkg.user}</arg>
<arg>-PpkgInstallFolder=${pkg.installFolder}</arg> <arg>-PpkgInstallFolder=${pkg.installFolder}</arg>
<arg>-PpkgLogFolder=${pkg.unixLogFolder}</arg> <arg>-PpkgLogFolder=${pkg.unixLogFolder}</arg>
<arg>--warning-mode</arg>
<arg>all</arg>
</args> </args>
</configuration> </configuration>
<executions> <executions>
@ -597,7 +604,7 @@
<configuration> <configuration>
<finalName>${pkg.name}</finalName> <finalName>${pkg.name}</finalName>
<descriptors> <descriptors>
<descriptor>src/main/assembly/windows.xml</descriptor> <descriptor>../packaging/assembly/windows.xml</descriptor>
</descriptors> </descriptors>
</configuration> </configuration>
<executions> <executions>

View File

@ -1461,7 +1461,7 @@
}, },
"enabled": { "enabled": {
"version": "1.0.2", "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=", "integrity": "sha1-ll9lE9LC0cX0ZStkouM5ZGf8L5M=",
"requires": { "requires": {
"env-variable": "0.0.x" "env-variable": "0.0.x"
@ -1740,7 +1740,7 @@
}, },
"fecha": { "fecha": {
"version": "2.3.3", "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==" "integrity": "sha512-lUGBnIamTAwk4znq5BcqsDaxSmZ9nDVJaij6NvRt/Tg4R69gERA+otPKbS86ROw9nxVMw2/mp1fnaiWqbs6Sdg=="
}, },
"file-stream-rotator": { "file-stream-rotator": {
@ -1872,14 +1872,12 @@
"balanced-match": { "balanced-match": {
"version": "1.0.0", "version": "1.0.0",
"bundled": true, "bundled": true,
"dev": true, "dev": true
"optional": true
}, },
"brace-expansion": { "brace-expansion": {
"version": "1.1.11", "version": "1.1.11",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"balanced-match": "^1.0.0", "balanced-match": "^1.0.0",
"concat-map": "0.0.1" "concat-map": "0.0.1"
@ -1894,20 +1892,17 @@
"code-point-at": { "code-point-at": {
"version": "1.1.0", "version": "1.1.0",
"bundled": true, "bundled": true,
"dev": true, "dev": true
"optional": true
}, },
"concat-map": { "concat-map": {
"version": "0.0.1", "version": "0.0.1",
"bundled": true, "bundled": true,
"dev": true, "dev": true
"optional": true
}, },
"console-control-strings": { "console-control-strings": {
"version": "1.1.0", "version": "1.1.0",
"bundled": true, "bundled": true,
"dev": true, "dev": true
"optional": true
}, },
"core-util-is": { "core-util-is": {
"version": "1.0.2", "version": "1.0.2",
@ -2024,8 +2019,7 @@
"inherits": { "inherits": {
"version": "2.0.3", "version": "2.0.3",
"bundled": true, "bundled": true,
"dev": true, "dev": true
"optional": true
}, },
"ini": { "ini": {
"version": "1.3.5", "version": "1.3.5",
@ -2037,7 +2031,6 @@
"version": "1.0.0", "version": "1.0.0",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"number-is-nan": "^1.0.0" "number-is-nan": "^1.0.0"
} }
@ -2052,7 +2045,6 @@
"version": "3.0.4", "version": "3.0.4",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"brace-expansion": "^1.1.7" "brace-expansion": "^1.1.7"
} }
@ -2164,8 +2156,7 @@
"number-is-nan": { "number-is-nan": {
"version": "1.0.1", "version": "1.0.1",
"bundled": true, "bundled": true,
"dev": true, "dev": true
"optional": true
}, },
"object-assign": { "object-assign": {
"version": "4.1.1", "version": "4.1.1",
@ -2298,7 +2289,6 @@
"version": "1.0.2", "version": "1.0.2",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"code-point-at": "^1.0.0", "code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0", "is-fullwidth-code-point": "^1.0.0",
@ -2400,7 +2390,7 @@
}, },
"get-stream": { "get-stream": {
"version": "3.0.0", "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=", "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
"dev": true "dev": true
}, },
@ -2557,7 +2547,7 @@
}, },
"got": { "got": {
"version": "6.7.1", "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=", "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=",
"dev": true, "dev": true,
"requires": { "requires": {
@ -2889,7 +2879,7 @@
}, },
"is-obj": { "is-obj": {
"version": "1.0.1", "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=", "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
"dev": true "dev": true
}, },
@ -3251,7 +3241,7 @@
}, },
"minimist": { "minimist": {
"version": "1.2.0", "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=" "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
}, },
"mixin-deep": { "mixin-deep": {
@ -3277,7 +3267,7 @@
}, },
"mkdirp": { "mkdirp": {
"version": "0.5.1", "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=", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
"dev": true, "dev": true,
"requires": { "requires": {
@ -3286,7 +3276,7 @@
"dependencies": { "dependencies": {
"minimist": { "minimist": {
"version": "0.0.8", "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=", "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
"dev": true "dev": true
} }
@ -3550,7 +3540,7 @@
}, },
"path-is-absolute": { "path-is-absolute": {
"version": "1.0.1", "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=", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
"dev": true "dev": true
}, },
@ -3989,7 +3979,7 @@
}, },
"safe-regex": { "safe-regex": {
"version": "1.1.0", "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=", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
"dev": true, "dev": true,
"requires": { "requires": {
@ -4299,7 +4289,7 @@
}, },
"strip-eof": { "strip-eof": {
"version": "1.0.0", "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=", "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
"dev": true "dev": true
}, },

View File

@ -17,7 +17,7 @@ import org.apache.tools.ant.filters.ReplaceTokens
buildscript { buildscript {
ext { ext {
osPackageVersion = "3.8.0" osPackageVersion = "8.3.0"
} }
repositories { repositories {
jcenter() jcenter()
@ -43,8 +43,8 @@ ospackage {
into pkgInstallFolder into pkgInstallFolder
user pkgName user pkgUser
permissionGroup pkgName permissionGroup pkgUser
// Copy the actual .jar file // Copy the actual .jar file
from(mainJar) { from(mainJar) {
@ -57,22 +57,22 @@ ospackage {
} }
// Copy the install files // Copy the install files
from("target/bin/install/install.sh") { from("${buildDir}/bin/install/install.sh") {
fileMode 0775 fileMode 0775
into "bin/install" into "bin/install"
} }
from("target/bin/install/upgrade.sh") { from("${buildDir}/bin/install/upgrade.sh") {
fileMode 0775 fileMode 0775
into "bin/install" into "bin/install"
} }
from("target/bin/install/logback.xml") { from("${buildDir}/bin/install/logback.xml") {
into "bin/install" into "bin/install"
} }
// Copy the config files // Copy the config files
from("target/conf") { from("${buildDir}/conf") {
exclude "${pkgName}.conf" exclude "${pkgName}.conf"
fileType CONFIG | NOREPLACE fileType CONFIG | NOREPLACE
fileMode 0754 fileMode 0754
@ -80,14 +80,14 @@ ospackage {
} }
// Copy the data files // Copy the data files
from("target/data") { from("${buildDir}/data") {
fileType CONFIG | NOREPLACE fileType CONFIG | NOREPLACE
fileMode 0754 fileMode 0754
into "data" into "data"
} }
// Copy the extensions files // Copy the extensions files
from("target/extensions") { from("${buildDir}/extensions") {
into "extensions" into "extensions"
} }
} }
@ -97,12 +97,12 @@ buildRpm {
arch = NOARCH arch = NOARCH
version = projectVersion.replace('-', '') archiveVersion = projectVersion.replace('-', '')
archiveName = "${pkgName}.rpm" archiveFileName = "${pkgName}.rpm"
requires("java-1.8.0") requires("java-1.8.0")
from("target/conf") { from("${buildDir}/conf") {
include "${pkgName}.conf" include "${pkgName}.conf"
filter(ReplaceTokens, tokens: ['pkg.platform': 'rpm']) filter(ReplaceTokens, tokens: ['pkg.platform': 'rpm'])
fileType CONFIG | NOREPLACE fileType CONFIG | NOREPLACE
@ -115,17 +115,19 @@ buildRpm {
preUninstall file("${buildDir}/control/rpm/prerm") preUninstall file("${buildDir}/control/rpm/prerm")
postUninstall file("${buildDir}/control/rpm/postrm") postUninstall file("${buildDir}/control/rpm/postrm")
user pkgName user pkgUser
permissionGroup pkgName permissionGroup pkgUser
// Copy the system unit files // Copy the system unit files
from("${buildDir}/control/${pkgName}.service") { from("${buildDir}/control/template.service") {
addParentDirs = false addParentDirs = false
fileMode 0644 fileMode 0644
into "/usr/lib/systemd/system" into "/usr/lib/systemd/system"
rename { String filename ->
"${pkgName}.service"
}
} }
directory(pkgLogFolder, 0755)
link("${pkgInstallFolder}/bin/${pkgName}.yml", "${pkgInstallFolder}/conf/${pkgName}.yml") link("${pkgInstallFolder}/bin/${pkgName}.yml", "${pkgInstallFolder}/conf/${pkgName}.yml")
link("/etc/${pkgName}/conf", "${pkgInstallFolder}/conf") link("/etc/${pkgName}/conf", "${pkgInstallFolder}/conf")
} }
@ -135,11 +137,11 @@ buildDeb {
arch = "all" arch = "all"
archiveName = "${pkgName}.deb" archiveFileName = "${pkgName}.deb"
requires("openjdk-8-jre").or("java8-runtime").or("oracle-java8-installer").or("openjdk-8-jre-headless") 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" include "${pkgName}.conf"
filter(ReplaceTokens, tokens: ['pkg.platform': 'deb']) filter(ReplaceTokens, tokens: ['pkg.platform': 'deb'])
fileType CONFIG | NOREPLACE fileType CONFIG | NOREPLACE
@ -157,18 +159,40 @@ buildDeb {
preUninstall file("${buildDir}/control/deb/prerm") preUninstall file("${buildDir}/control/deb/prerm")
postUninstall file("${buildDir}/control/deb/postrm") postUninstall file("${buildDir}/control/deb/postrm")
user pkgName user pkgUser
permissionGroup pkgName permissionGroup pkgUser
// Copy the system unit files // Copy the system unit files
from("${buildDir}/control/${pkgName}.service") { from("${buildDir}/control/template.service") {
addParentDirs = false addParentDirs = false
fileMode 0644 fileMode 0644
into "/lib/systemd/system" into "/lib/systemd/system"
rename { String filename ->
"${pkgName}.service"
}
} }
directory(pkgLogFolder, 0755)
link("/etc/init.d/${pkgName}", "${pkgInstallFolder}/bin/${pkgName}.jar") link("/etc/init.d/${pkgName}", "${pkgInstallFolder}/bin/${pkgName}.jar")
link("${pkgInstallFolder}/bin/${pkgName}.yml", "${pkgInstallFolder}/conf/${pkgName}.yml") link("${pkgInstallFolder}/bin/${pkgName}.yml", "${pkgInstallFolder}/conf/${pkgName}.yml")
link("/etc/${pkgName}/conf", "${pkgInstallFolder}/conf") 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"
}
}
}

View File

@ -2,6 +2,7 @@
set -e set -e
mkdir -m 0755 -p ${pkg.logFolder}
chown -R ${pkg.user}: ${pkg.logFolder} chown -R ${pkg.user}: ${pkg.logFolder}
chown -R ${pkg.user}: ${pkg.installFolder} chown -R ${pkg.user}: ${pkg.installFolder}
systemctl --no-reload enable ${pkg.name}.service >/dev/null 2>&1 || : systemctl --no-reload enable ${pkg.name}.service >/dev/null 2>&1 || :

View File

@ -1,5 +1,6 @@
#!/bin/sh #!/bin/sh
mkdir -m 0755 -p ${pkg.logFolder}
chown -R ${pkg.user}: ${pkg.logFolder} chown -R ${pkg.user}: ${pkg.logFolder}
chown -R ${pkg.user}: ${pkg.installFolder} chown -R ${pkg.user}: ${pkg.installFolder}

View File

@ -182,7 +182,7 @@
<plugin> <plugin>
<groupId>org.thingsboard</groupId> <groupId>org.thingsboard</groupId>
<artifactId>gradle-maven-plugin</artifactId> <artifactId>gradle-maven-plugin</artifactId>
<version>1.0.9</version> <version>1.0.10</version>
</plugin> </plugin>
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
@ -321,6 +321,8 @@
<exclude>src/vendor/**</exclude> <exclude>src/vendor/**</exclude>
<exclude>src/font/**</exclude> <exclude>src/font/**</exclude>
<exclude>src/sh/**</exclude> <exclude>src/sh/**</exclude>
<exclude>packaging/scripts/control/**</exclude>
<exclude>packaging/scripts/windows/**</exclude>
<exclude>src/main/scripts/control/**</exclude> <exclude>src/main/scripts/control/**</exclude>
<exclude>src/main/scripts/windows/**</exclude> <exclude>src/main/scripts/windows/**</exclude>
<exclude>src/main/resources/public/static/rulenode/**</exclude> <exclude>src/main/resources/public/static/rulenode/**</exclude>