diff --git a/TEST_FAST.md b/TEST_FAST.md
index 4d1e9dc9a7..eb2013c601 100644
--- a/TEST_FAST.md
+++ b/TEST_FAST.md
@@ -6,7 +6,9 @@ export MAVEN_OPTS="-Xmx1024m"
export NODE_OPTIONS="--max_old_space_size=4096"
export SUREFIRE_JAVA_OPTS="-Xmx1200m -Xss256k -XX:+ExitOnOutOfMemoryError"
-mvn clean install -T6 -DskipTests
+# Compile and install all modules, skip packaging artifacts not needed for tests
+mvn clean install -T6 -DskipTests -Dpkg.skip=true
+
mvn test -pl='!application,!dao,!ui-ngx,!msa/js-executor,!msa/web-ui' -T4
mvn test -pl dao -Dparallel=packages -DforkCount=4
@@ -31,6 +33,18 @@ mvn test -pl application -Dtest='
' -DforkCount=6 -Dparallel=packages -Dsurefire.rerunFailingTestsCount=2 -Dsurefire.failOnFlakeCount=5
```
+## pkg.skip.* flags reference
+
+Use `-Dpkg.skip=true` to skip all packaging at once (equivalent to all four flags below).
+
+| Flag | Skips | Safe to skip for tests? |
+|----------------------------|-------------------------------------------|--------------------------------------------------------------|
+| `-Dpkg.skip=true` | All of the below (bootjar + deb + rpm + zip) | Yes |
+| `-Dpkg.skip.bootjar=true` | `spring-boot:repackage` (`*-boot.jar`) | Yes — tests use the regular `.jar`, not the fat boot jar |
+| `-Dpkg.skip.deb=true` | Gradle `buildDeb` + Maven `attach-artifact` | Yes — MSA docker modules copy the DEB from `target/` directly |
+| `-Dpkg.skip.rpm=true` | Gradle `buildRpm` | Yes — no test depends on the RPM |
+| `-Dpkg.skip.zip=true` | `maven-assembly-plugin` Windows ZIP | Yes — no test depends on the ZIP |
+
## Testcontainers compatibility with the Docker API workaround
In case your tests failed to run testcontainers due to unsupported Docker API version
diff --git a/application/pom.xml b/application/pom.xml
index f92533e6ef..bfa0618dce 100644
--- a/application/pom.xml
+++ b/application/pom.xml
@@ -35,7 +35,6 @@
UTF-8
${basedir}/..
java
- false
process-resources
package
thingsboard
@@ -493,10 +492,6 @@
org.apache.maven.plugins
maven-assembly-plugin
-
- org.apache.maven.plugins
- maven-install-plugin
-
org.xolstice.maven.plugins
protobuf-maven-plugin
diff --git a/build.sh b/build.sh
index d2a965f281..0342aa9cbf 100755
--- a/build.sh
+++ b/build.sh
@@ -31,7 +31,7 @@ java -version
#echo "Cleaning ui-ngx/node_modules" && rm -rf ui-ngx/node_modules
MAVEN_OPTS="-Xmx1024m" NODE_OPTIONS="--max_old_space_size=4096" DOCKER_CLI_EXPERIMENTAL=enabled DOCKER_BUILDKIT=0 \
-mvn -T2 license:format clean install -DskipTests \
+mvn -T6 license:format clean install -DskipTests -Dpkg.skip=true \
$PROJECTS --also-make
# \
# -Dpush-docker-amd-arm-images
diff --git a/edqs/pom.xml b/edqs/pom.xml
index 00bde7f793..79cfe1fd32 100644
--- a/edqs/pom.xml
+++ b/edqs/pom.xml
@@ -33,7 +33,6 @@
UTF-8
${basedir}/..
java
- false
process-resources
package
tb-edqs
@@ -179,10 +178,6 @@
org.apache.maven.plugins
maven-assembly-plugin
-
- org.apache.maven.plugins
- maven-install-plugin
-
org.xolstice.maven.plugins
protobuf-maven-plugin
diff --git a/monitoring/pom.xml b/monitoring/pom.xml
index 36b4bb5553..40acb51649 100644
--- a/monitoring/pom.xml
+++ b/monitoring/pom.xml
@@ -33,7 +33,6 @@
UTF-8
${basedir}/..
java
- false
process-resources
package
tb-monitoring
@@ -154,8 +153,8 @@
maven-assembly-plugin
- org.apache.maven.plugins
- maven-install-plugin
+ org.codehaus.mojo
+ build-helper-maven-plugin
diff --git a/msa/black-box-tests/pom.xml b/msa/black-box-tests/pom.xml
index c271e0c214..4718b2222c 100644
--- a/msa/black-box-tests/pom.xml
+++ b/msa/black-box-tests/pom.xml
@@ -128,42 +128,50 @@
org.thingsboard.msa
js-executor
- docker-info
+ ${project.version}
+ pom
org.thingsboard.msa
web-ui
- docker-info
+ ${project.version}
+ pom
org.thingsboard.msa
tb-node
- docker-info
+ ${project.version}
+ pom
org.thingsboard.msa.transport
coap
- docker-info
+ ${project.version}
+ pom
org.thingsboard.msa.transport
http
- docker-info
+ ${project.version}
+ pom
org.thingsboard.msa.transport
mqtt
- docker-info
+ ${project.version}
+ pom
org.thingsboard.msa.transport
lwm2m
- docker-info
+ ${project.version}
+ pom
org.thingsboard.msa.transport
snmp
- docker-info
+ ${project.version}
+ pom
org.thingsboard.common
@@ -206,7 +214,7 @@
org.apache.maven.surefire
surefire-testng
- ${surefire.version}
+ ${maven-surefire-plugin.version}
diff --git a/msa/edqs/pom.xml b/msa/edqs/pom.xml
index 7e2e22c07c..4d07a1426a 100644
--- a/msa/edqs/pom.xml
+++ b/msa/edqs/pom.xml
@@ -33,7 +33,7 @@
UTF-8
- ${basedir}/../..
+ ${maven.multiModuleProjectDirectory}
tb-edqs
tb-edqs
/var/log/${pkg.name}
@@ -46,8 +46,6 @@
org.thingsboard
edqs
${project.version}
- deb
- deb
provided
@@ -56,25 +54,21 @@
org.apache.maven.plugins
- maven-dependency-plugin
+ maven-enforcer-plugin
- copy-edqs
- package
-
- copy
-
+ enforce-deb-exists
+ ${pkg.deb.phase}
+ enforce
-
-
- org.thingsboard
- edqs
- deb
- deb
- ${pkg.name}.deb
- ${project.build.directory}
-
-
+
+
+
+ ${main.dir}/edqs/target/${pkg.name}.deb
+
+ DEB artifact not found at ${main.dir}/edqs/target/${pkg.name}.deb — build the upstream module first or pass -Dpkg.skip.deb=true.
+
+
@@ -99,36 +93,60 @@
+
+ copy-edqs
+ ${pkg.deb.phase}
+
+ copy-resources
+
+
+ ${project.build.directory}
+ true
+
+
+ ${main.dir}/edqs/target
+
+ ${pkg.name}.deb
+
+ false
+
+
+
+
- com.spotify
- dockerfile-maven-plugin
+ org.codehaus.mojo
+ exec-maven-plugin
build-docker-image
pre-integration-test
-
- build
-
+ exec
${dockerfile.skip}
- ${docker.repo}/${docker.name}
- true
- false
- ${project.build.directory}
+ docker
+ ${project.build.directory}
+
+ build
+ -t
+ ${docker.repo}/${docker.name}:latest
+ .
+
tag-docker-image
pre-integration-test
-
- tag
-
+ exec
${dockerfile.skip}
- ${docker.repo}/${docker.name}
- ${project.version}
+ docker
+
+ tag
+ ${docker.repo}/${docker.name}:latest
+ ${docker.repo}/${docker.name}:${project.version}
+
@@ -146,29 +164,31 @@
- com.spotify
- dockerfile-maven-plugin
+ org.codehaus.mojo
+ exec-maven-plugin
push-latest-docker-image
pre-integration-test
-
- push
-
+ exec
- latest
- ${docker.repo}/${docker.name}
+ docker
+
+ push
+ ${docker.repo}/${docker.name}:latest
+
push-version-docker-image
pre-integration-test
-
- push
-
+ exec
- ${project.version}
- ${docker.repo}/${docker.name}
+ docker
+
+ push
+ ${docker.repo}/${docker.name}:${project.version}
+
diff --git a/msa/js-executor/pom.xml b/msa/js-executor/pom.xml
index 14f992218e..75f5174dd6 100644
--- a/msa/js-executor/pom.xml
+++ b/msa/js-executor/pom.xml
@@ -37,7 +37,6 @@
tb-js-executor
tb-js-executor
js
- false
process-resources
package
${project.build.directory}/package/linux
@@ -146,33 +145,37 @@
maven-assembly-plugin
- com.spotify
- dockerfile-maven-plugin
+ org.codehaus.mojo
+ exec-maven-plugin
build-docker-image
pre-integration-test
-
- build
-
+ exec
${dockerfile.skip}
- ${docker.repo}/${docker.name}
- true
- false
- ${project.build.directory}
+ docker
+ ${project.build.directory}
+
+ build
+ -t
+ ${docker.repo}/${docker.name}:latest
+ .
+
tag-docker-image
pre-integration-test
-
- tag
-
+ exec
${dockerfile.skip}
- ${docker.repo}/${docker.name}
- ${project.version}
+ docker
+
+ tag
+ ${docker.repo}/${docker.name}:latest
+ ${docker.repo}/${docker.name}:${project.version}
+
@@ -222,29 +225,31 @@
- com.spotify
- dockerfile-maven-plugin
+ org.codehaus.mojo
+ exec-maven-plugin
push-latest-docker-image
pre-integration-test
-
- push
-
+ exec
- latest
- ${docker.repo}/${docker.name}
+ docker
+
+ push
+ ${docker.repo}/${docker.name}:latest
+
push-version-docker-image
pre-integration-test
-
- push
-
+ exec
- ${project.version}
- ${docker.repo}/${docker.name}
+ docker
+
+ push
+ ${docker.repo}/${docker.name}:${project.version}
+
diff --git a/msa/monitoring/pom.xml b/msa/monitoring/pom.xml
index 7e1b73acb8..0597ba7757 100644
--- a/msa/monitoring/pom.xml
+++ b/msa/monitoring/pom.xml
@@ -34,7 +34,7 @@
UTF-8
- ${basedir}/../..
+ ${maven.multiModuleProjectDirectory}
tb-monitoring
tb-monitoring
/var/log/${pkg.name}
@@ -47,8 +47,6 @@
org.thingsboard
monitoring
${project.version}
- deb
- deb
provided
@@ -57,25 +55,21 @@
org.apache.maven.plugins
- maven-dependency-plugin
+ maven-enforcer-plugin
- copy-tb-monitoring-deb
- package
-
- copy
-
+ enforce-deb-exists
+ ${pkg.deb.phase}
+ enforce
-
-
- org.thingsboard
- monitoring
- deb
- deb
- ${pkg.name}.deb
- ${project.build.directory}
-
-
+
+
+
+ ${main.dir}/monitoring/target/${pkg.name}.deb
+
+ DEB artifact not found at ${main.dir}/monitoring/target/${pkg.name}.deb — build the upstream module first or pass -Dpkg.skip.deb=true.
+
+
@@ -100,36 +94,60 @@
+
+ copy-tb-monitoring-deb
+ ${pkg.deb.phase}
+
+ copy-resources
+
+
+ ${project.build.directory}
+ true
+
+
+ ${main.dir}/monitoring/target
+
+ ${pkg.name}.deb
+
+ false
+
+
+
+
- com.spotify
- dockerfile-maven-plugin
+ org.codehaus.mojo
+ exec-maven-plugin
build-docker-image
pre-integration-test
-
- build
-
+ exec
${dockerfile.skip}
- ${docker.repo}/${docker.name}
- true
- false
- ${project.build.directory}
+ docker
+ ${project.build.directory}
+
+ build
+ -t
+ ${docker.repo}/${docker.name}:latest
+ .
+
tag-docker-image
pre-integration-test
-
- tag
-
+ exec
${dockerfile.skip}
- ${docker.repo}/${docker.name}
- ${project.version}
+ docker
+
+ tag
+ ${docker.repo}/${docker.name}:latest
+ ${docker.repo}/${docker.name}:${project.version}
+
@@ -147,29 +165,31 @@
- com.spotify
- dockerfile-maven-plugin
+ org.codehaus.mojo
+ exec-maven-plugin
push-latest-docker-image
pre-integration-test
-
- push
-
+ exec
- latest
- ${docker.repo}/${docker.name}
+ docker
+
+ push
+ ${docker.repo}/${docker.name}:latest
+
push-version-docker-image
pre-integration-test
-
- push
-
+ exec
- ${project.version}
- ${docker.repo}/${docker.name}
+ docker
+
+ push
+ ${docker.repo}/${docker.name}:${project.version}
+
diff --git a/msa/pom.xml b/msa/pom.xml
index 40dec1f8a7..ece8cf6c74 100644
--- a/msa/pom.xml
+++ b/msa/pom.xml
@@ -31,11 +31,15 @@
${basedir}/..
+
+ package
thingsboard
thingsboard/openjdk25:trixie-slim
true
true
- 1.4.13
+ 3.5.1
none
@@ -53,6 +57,37 @@
+
+
+ skip-deb
+
+
+ pkg.skip.deb
+ true
+
+
+
+ none
+
+
+
+
+ skip-pkg
+
+
+ pkg.skip
+ true
+
+
+
+ none
+
+
black-box-tests
@@ -213,19 +248,12 @@
-
-
- com.spotify
- dockerfile-maven-extension
- ${dockerfile-maven.version}
-
-
- com.spotify
- dockerfile-maven-plugin
- ${dockerfile-maven.version}
+ org.codehaus.mojo
+ exec-maven-plugin
+ ${exec-maven-plugin.version}
diff --git a/msa/tb-node/pom.xml b/msa/tb-node/pom.xml
index 8e141664ca..0a35831a2d 100644
--- a/msa/tb-node/pom.xml
+++ b/msa/tb-node/pom.xml
@@ -33,7 +33,7 @@
UTF-8
- ${basedir}/../..
+ ${maven.multiModuleProjectDirectory}
thingsboard
tb-node
/var/log/${pkg.name}
@@ -46,8 +46,6 @@
org.thingsboard
application
${project.version}
- deb
- deb
provided
@@ -56,25 +54,21 @@
org.apache.maven.plugins
- maven-dependency-plugin
+ maven-enforcer-plugin
- copy-tb-deb
- package
-
- copy
-
+ enforce-deb-exists
+ ${pkg.deb.phase}
+ enforce
-
-
- org.thingsboard
- application
- deb
- deb
- ${pkg.name}.deb
- ${project.build.directory}
-
-
+
+
+
+ ${main.dir}/application/target/${pkg.name}.deb
+
+ DEB artifact not found at ${main.dir}/application/target/${pkg.name}.deb — build the upstream module first or pass -Dpkg.skip.deb=true.
+
+
@@ -99,36 +93,60 @@
+
+ copy-tb-deb
+ ${pkg.deb.phase}
+
+ copy-resources
+
+
+ ${project.build.directory}
+ true
+
+
+ ${main.dir}/application/target
+
+ ${pkg.name}.deb
+
+ false
+
+
+
+
- com.spotify
- dockerfile-maven-plugin
+ org.codehaus.mojo
+ exec-maven-plugin
build-docker-image
pre-integration-test
-
- build
-
+ exec
${dockerfile.skip}
- ${docker.repo}/${docker.name}
- true
- false
- ${project.build.directory}
+ docker
+ ${project.build.directory}
+
+ build
+ -t
+ ${docker.repo}/${docker.name}:latest
+ .
+
tag-docker-image
pre-integration-test
-
- tag
-
+ exec
${dockerfile.skip}
- ${docker.repo}/${docker.name}
- ${project.version}
+ docker
+
+ tag
+ ${docker.repo}/${docker.name}:latest
+ ${docker.repo}/${docker.name}:${project.version}
+
@@ -146,29 +164,31 @@
- com.spotify
- dockerfile-maven-plugin
+ org.codehaus.mojo
+ exec-maven-plugin
push-latest-docker-image
pre-integration-test
-
- push
-
+ exec
- latest
- ${docker.repo}/${docker.name}
+ docker
+
+ push
+ ${docker.repo}/${docker.name}:latest
+
push-version-docker-image
pre-integration-test
-
- push
-
+ exec
- ${project.version}
- ${docker.repo}/${docker.name}
+ docker
+
+ push
+ ${docker.repo}/${docker.name}:${project.version}
+
diff --git a/msa/tb/pom.xml b/msa/tb/pom.xml
index 34cd358437..bd21b4d529 100644
--- a/msa/tb/pom.xml
+++ b/msa/tb/pom.xml
@@ -33,7 +33,7 @@
UTF-8
- ${basedir}/../..
+ ${maven.multiModuleProjectDirectory}
thingsboard
tb-postgres
tb-cassandra
@@ -45,8 +45,6 @@
org.thingsboard
application
${project.version}
- deb
- deb
provided
@@ -55,44 +53,21 @@
org.apache.maven.plugins
- maven-dependency-plugin
+ maven-enforcer-plugin
- copy-tb-postgres-deb
- package
-
- copy
-
-
-
-
- org.thingsboard
- application
- deb
- deb
- ${pkg.name}.deb
- ${project.build.directory}/docker-postgres
-
-
-
-
-
- copy-tb-cassandra-deb
- package
-
- copy
-
+ enforce-deb-exists
+ ${pkg.deb.phase}
+ enforce
-
-
- org.thingsboard
- application
- deb
- deb
- ${pkg.name}.deb
- ${project.build.directory}/docker-cassandra
-
-
+
+
+
+ ${main.dir}/application/target/${pkg.name}.deb
+
+ DEB artifact not found at ${main.dir}/application/target/${pkg.name}.deb — build the upstream module first or pass -Dpkg.skip.deb=true.
+
+
@@ -101,7 +76,7 @@
org.apache.maven.plugins
maven-resources-plugin
-
+
copy-docker-tb-postgres-config
process-resources
@@ -141,64 +116,112 @@
+
+ copy-tb-postgres-deb
+ ${pkg.deb.phase}
+
+ copy-resources
+
+
+ ${project.build.directory}/docker-postgres
+ true
+
+
+ ${main.dir}/application/target
+
+ ${pkg.name}.deb
+
+ false
+
+
+
+
+
+ copy-tb-cassandra-deb
+ ${pkg.deb.phase}
+
+ copy-resources
+
+
+ ${project.build.directory}/docker-cassandra
+ true
+
+
+ ${main.dir}/application/target
+
+ ${pkg.name}.deb
+
+ false
+
+
+
+
- com.spotify
- dockerfile-maven-plugin
+ org.codehaus.mojo
+ exec-maven-plugin
build-docker-tb-postgres-image
pre-integration-test
-
- build
-
+ exec
${dockerfile.skip}
- ${docker.repo}/${tb-postgres.docker.name}
- true
- false
- ${project.build.directory}/docker-postgres
- true
+ docker
+ ${project.build.directory}/docker-postgres
+
+ build
+ --no-cache
+ -t
+ ${docker.repo}/${tb-postgres.docker.name}:latest
+ .
+
tag-docker-tb-postgres-image
pre-integration-test
-
- tag
-
+ exec
${dockerfile.skip}
- ${docker.repo}/${tb-postgres.docker.name}
- ${project.version}
+ docker
+
+ tag
+ ${docker.repo}/${tb-postgres.docker.name}:latest
+ ${docker.repo}/${tb-postgres.docker.name}:${project.version}
+
build-docker-tb-cassandra-image
pre-integration-test
-
- build
-
+ exec
${dockerfile.skip}
- ${docker.repo}/${tb-cassandra.docker.name}
- true
- false
- ${project.build.directory}/docker-cassandra
- true
+ docker
+ ${project.build.directory}/docker-cassandra
+
+ build
+ --no-cache
+ -t
+ ${docker.repo}/${tb-cassandra.docker.name}:latest
+ .
+
tag-docker-tb-cassandra-image
pre-integration-test
-
- tag
-
+ exec
${dockerfile.skip}
- ${docker.repo}/${tb-cassandra.docker.name}
- ${project.version}
+ docker
+
+ tag
+ ${docker.repo}/${tb-cassandra.docker.name}:latest
+ ${docker.repo}/${tb-cassandra.docker.name}:${project.version}
+
@@ -216,51 +239,55 @@
- com.spotify
- dockerfile-maven-plugin
+ org.codehaus.mojo
+ exec-maven-plugin
push-latest-docker-tb-postgres-image
pre-integration-test
-
- push
-
+ exec
- latest
- ${docker.repo}/${tb-postgres.docker.name}
+ docker
+
+ push
+ ${docker.repo}/${tb-postgres.docker.name}:latest
+
push-version-docker-tb-postgres-image
pre-integration-test
-
- push
-
+ exec
- ${project.version}
- ${docker.repo}/${tb-postgres.docker.name}
+ docker
+
+ push
+ ${docker.repo}/${tb-postgres.docker.name}:${project.version}
+
push-latest-docker-tb-cassandra-image
pre-integration-test
-
- push
-
+ exec
- latest
- ${docker.repo}/${tb-cassandra.docker.name}
+ docker
+
+ push
+ ${docker.repo}/${tb-cassandra.docker.name}:latest
+
push-version-docker-tb-cassandra-image
pre-integration-test
-
- push
-
+ exec
- ${project.version}
- ${docker.repo}/${tb-cassandra.docker.name}
+ docker
+
+ push
+ ${docker.repo}/${tb-cassandra.docker.name}:${project.version}
+
diff --git a/msa/transport/coap/pom.xml b/msa/transport/coap/pom.xml
index a602e23a1b..5b214029ab 100644
--- a/msa/transport/coap/pom.xml
+++ b/msa/transport/coap/pom.xml
@@ -33,7 +33,7 @@
UTF-8
- ${basedir}/../../..
+ ${maven.multiModuleProjectDirectory}
tb-coap-transport
tb-coap-transport
/var/log/${pkg.name}
@@ -46,8 +46,6 @@
org.thingsboard.transport
coap
${project.version}
- deb
- deb
provided
@@ -56,25 +54,21 @@
org.apache.maven.plugins
- maven-dependency-plugin
+ maven-enforcer-plugin
- copy-tb-coap-transport-deb
- package
-
- copy
-
+ enforce-deb-exists
+ ${pkg.deb.phase}
+ enforce
-
-
- org.thingsboard.transport
- coap
- deb
- deb
- ${pkg.name}.deb
- ${project.build.directory}
-
-
+
+
+
+ ${main.dir}/transport/coap/target/${pkg.name}.deb
+
+ DEB artifact not found at ${main.dir}/transport/coap/target/${pkg.name}.deb — build the upstream module first or pass -Dpkg.skip.deb=true.
+
+
@@ -99,36 +93,60 @@
+
+ copy-tb-coap-transport-deb
+ ${pkg.deb.phase}
+
+ copy-resources
+
+
+ ${project.build.directory}
+ true
+
+
+ ${main.dir}/transport/coap/target
+
+ ${pkg.name}.deb
+
+ false
+
+
+
+
- com.spotify
- dockerfile-maven-plugin
+ org.codehaus.mojo
+ exec-maven-plugin
build-docker-image
pre-integration-test
-
- build
-
+ exec
${dockerfile.skip}
- ${docker.repo}/${docker.name}
- true
- false
- ${project.build.directory}
+ docker
+ ${project.build.directory}
+
+ build
+ -t
+ ${docker.repo}/${docker.name}:latest
+ .
+
tag-docker-image
pre-integration-test
-
- tag
-
+ exec
${dockerfile.skip}
- ${docker.repo}/${docker.name}
- ${project.version}
+ docker
+
+ tag
+ ${docker.repo}/${docker.name}:latest
+ ${docker.repo}/${docker.name}:${project.version}
+
@@ -146,29 +164,31 @@
- com.spotify
- dockerfile-maven-plugin
+ org.codehaus.mojo
+ exec-maven-plugin
push-latest-docker-image
pre-integration-test
-
- push
-
+ exec
- latest
- ${docker.repo}/${docker.name}
+ docker
+
+ push
+ ${docker.repo}/${docker.name}:latest
+
push-version-docker-image
pre-integration-test
-
- push
-
+ exec
- ${project.version}
- ${docker.repo}/${docker.name}
+ docker
+
+ push
+ ${docker.repo}/${docker.name}:${project.version}
+
diff --git a/msa/transport/http/pom.xml b/msa/transport/http/pom.xml
index 48cd75e2dc..f8bbe7e1f5 100644
--- a/msa/transport/http/pom.xml
+++ b/msa/transport/http/pom.xml
@@ -33,7 +33,7 @@
UTF-8
- ${basedir}/../../..
+ ${maven.multiModuleProjectDirectory}
tb-http-transport
tb-http-transport
/var/log/${pkg.name}
@@ -46,8 +46,6 @@
org.thingsboard.transport
http
${project.version}
- deb
- deb
provided
@@ -56,25 +54,21 @@
org.apache.maven.plugins
- maven-dependency-plugin
+ maven-enforcer-plugin
- copy-tb-http-transport-deb
- package
-
- copy
-
+ enforce-deb-exists
+ ${pkg.deb.phase}
+ enforce
-
-
- org.thingsboard.transport
- http
- deb
- deb
- ${pkg.name}.deb
- ${project.build.directory}
-
-
+
+
+
+ ${main.dir}/transport/http/target/${pkg.name}.deb
+
+ DEB artifact not found at ${main.dir}/transport/http/target/${pkg.name}.deb — build the upstream module first or pass -Dpkg.skip.deb=true.
+
+
@@ -99,36 +93,60 @@
+
+ copy-tb-http-transport-deb
+ ${pkg.deb.phase}
+
+ copy-resources
+
+
+ ${project.build.directory}
+ true
+
+
+ ${main.dir}/transport/http/target
+
+ ${pkg.name}.deb
+
+ false
+
+
+
+
- com.spotify
- dockerfile-maven-plugin
+ org.codehaus.mojo
+ exec-maven-plugin
build-docker-image
pre-integration-test
-
- build
-
+ exec
${dockerfile.skip}
- ${docker.repo}/${docker.name}
- true
- false
- ${project.build.directory}
+ docker
+ ${project.build.directory}
+
+ build
+ -t
+ ${docker.repo}/${docker.name}:latest
+ .
+
tag-docker-image
pre-integration-test
-
- tag
-
+ exec
${dockerfile.skip}
- ${docker.repo}/${docker.name}
- ${project.version}
+ docker
+
+ tag
+ ${docker.repo}/${docker.name}:latest
+ ${docker.repo}/${docker.name}:${project.version}
+
@@ -146,29 +164,31 @@
- com.spotify
- dockerfile-maven-plugin
+ org.codehaus.mojo
+ exec-maven-plugin
push-latest-docker-image
pre-integration-test
-
- push
-
+ exec
- latest
- ${docker.repo}/${docker.name}
+ docker
+
+ push
+ ${docker.repo}/${docker.name}:latest
+
push-version-docker-image
pre-integration-test
-
- push
-
+ exec
- ${project.version}
- ${docker.repo}/${docker.name}
+ docker
+
+ push
+ ${docker.repo}/${docker.name}:${project.version}
+
diff --git a/msa/transport/lwm2m/pom.xml b/msa/transport/lwm2m/pom.xml
index bfcc930603..29ef62fb04 100644
--- a/msa/transport/lwm2m/pom.xml
+++ b/msa/transport/lwm2m/pom.xml
@@ -33,7 +33,7 @@
UTF-8
- ${basedir}/../../..
+ ${maven.multiModuleProjectDirectory}
tb-lwm2m-transport
tb-lwm2m-transport
/var/log/${pkg.name}
@@ -46,8 +46,6 @@
org.thingsboard.transport
lwm2m
${project.version}
- deb
- deb
provided
@@ -56,25 +54,21 @@
org.apache.maven.plugins
- maven-dependency-plugin
+ maven-enforcer-plugin
- copy-tb-lwm2m-transport-deb
- package
-
- copy
-
+ enforce-deb-exists
+ ${pkg.deb.phase}
+ enforce
-
-
- org.thingsboard.transport
- lwm2m
- deb
- deb
- ${pkg.name}.deb
- ${project.build.directory}
-
-
+
+
+
+ ${main.dir}/transport/lwm2m/target/${pkg.name}.deb
+
+ DEB artifact not found at ${main.dir}/transport/lwm2m/target/${pkg.name}.deb — build the upstream module first or pass -Dpkg.skip.deb=true.
+
+
@@ -99,36 +93,60 @@
+
+ copy-tb-lwm2m-transport-deb
+ ${pkg.deb.phase}
+
+ copy-resources
+
+
+ ${project.build.directory}
+ true
+
+
+ ${main.dir}/transport/lwm2m/target
+
+ ${pkg.name}.deb
+
+ false
+
+
+
+
- com.spotify
- dockerfile-maven-plugin
+ org.codehaus.mojo
+ exec-maven-plugin
build-docker-image
pre-integration-test
-
- build
-
+ exec
${dockerfile.skip}
- ${docker.repo}/${docker.name}
- true
- false
- ${project.build.directory}
+ docker
+ ${project.build.directory}
+
+ build
+ -t
+ ${docker.repo}/${docker.name}:latest
+ .
+
tag-docker-image
pre-integration-test
-
- tag
-
+ exec
${dockerfile.skip}
- ${docker.repo}/${docker.name}
- ${project.version}
+ docker
+
+ tag
+ ${docker.repo}/${docker.name}:latest
+ ${docker.repo}/${docker.name}:${project.version}
+
@@ -146,29 +164,31 @@
- com.spotify
- dockerfile-maven-plugin
+ org.codehaus.mojo
+ exec-maven-plugin
push-latest-docker-image
pre-integration-test
-
- push
-
+ exec
- latest
- ${docker.repo}/${docker.name}
+ docker
+
+ push
+ ${docker.repo}/${docker.name}:latest
+
push-version-docker-image
pre-integration-test
-
- push
-
+ exec
- ${project.version}
- ${docker.repo}/${docker.name}
+ docker
+
+ push
+ ${docker.repo}/${docker.name}:${project.version}
+
diff --git a/msa/transport/mqtt/pom.xml b/msa/transport/mqtt/pom.xml
index ca81f4b115..1d6e831011 100644
--- a/msa/transport/mqtt/pom.xml
+++ b/msa/transport/mqtt/pom.xml
@@ -33,7 +33,7 @@
UTF-8
- ${basedir}/../../..
+ ${maven.multiModuleProjectDirectory}
tb-mqtt-transport
tb-mqtt-transport
/var/log/${pkg.name}
@@ -46,8 +46,6 @@
org.thingsboard.transport
mqtt
${project.version}
- deb
- deb
provided
@@ -56,25 +54,21 @@
org.apache.maven.plugins
- maven-dependency-plugin
+ maven-enforcer-plugin
- copy-tb-mqtt-transport-deb
- package
-
- copy
-
+ enforce-deb-exists
+ ${pkg.deb.phase}
+ enforce
-
-
- org.thingsboard.transport
- mqtt
- deb
- deb
- ${pkg.name}.deb
- ${project.build.directory}
-
-
+
+
+
+ ${main.dir}/transport/mqtt/target/${pkg.name}.deb
+
+ DEB artifact not found at ${main.dir}/transport/mqtt/target/${pkg.name}.deb — build the upstream module first or pass -Dpkg.skip.deb=true.
+
+
@@ -99,36 +93,60 @@
+
+ copy-tb-mqtt-transport-deb
+ ${pkg.deb.phase}
+
+ copy-resources
+
+
+ ${project.build.directory}
+ true
+
+
+ ${main.dir}/transport/mqtt/target
+
+ ${pkg.name}.deb
+
+ false
+
+
+
+
- com.spotify
- dockerfile-maven-plugin
+ org.codehaus.mojo
+ exec-maven-plugin
build-docker-image
pre-integration-test
-
- build
-
+ exec
${dockerfile.skip}
- ${docker.repo}/${docker.name}
- true
- false
- ${project.build.directory}
+ docker
+ ${project.build.directory}
+
+ build
+ -t
+ ${docker.repo}/${docker.name}:latest
+ .
+
tag-docker-image
pre-integration-test
-
- tag
-
+ exec
${dockerfile.skip}
- ${docker.repo}/${docker.name}
- ${project.version}
+ docker
+
+ tag
+ ${docker.repo}/${docker.name}:latest
+ ${docker.repo}/${docker.name}:${project.version}
+
@@ -146,29 +164,31 @@
- com.spotify
- dockerfile-maven-plugin
+ org.codehaus.mojo
+ exec-maven-plugin
push-latest-docker-image
pre-integration-test
-
- push
-
+ exec
- latest
- ${docker.repo}/${docker.name}
+ docker
+
+ push
+ ${docker.repo}/${docker.name}:latest
+
push-version-docker-image
pre-integration-test
-
- push
-
+ exec
- ${project.version}
- ${docker.repo}/${docker.name}
+ docker
+
+ push
+ ${docker.repo}/${docker.name}:${project.version}
+
diff --git a/msa/transport/snmp/pom.xml b/msa/transport/snmp/pom.xml
index dbdaa9ca60..ac26755c15 100644
--- a/msa/transport/snmp/pom.xml
+++ b/msa/transport/snmp/pom.xml
@@ -34,7 +34,7 @@
UTF-8
- ${basedir}/../../..
+ ${maven.multiModuleProjectDirectory}
tb-snmp-transport
tb-snmp-transport
/var/log/${pkg.name}
@@ -47,8 +47,6 @@
org.thingsboard.transport
snmp
${project.version}
- deb
- deb
provided
@@ -57,25 +55,21 @@
org.apache.maven.plugins
- maven-dependency-plugin
+ maven-enforcer-plugin
- copy-tb-snmp-transport-deb
- package
-
- copy
-
+ enforce-deb-exists
+ ${pkg.deb.phase}
+ enforce
-
-
- org.thingsboard.transport
- snmp
- deb
- deb
- ${pkg.name}.deb
- ${project.build.directory}
-
-
+
+
+
+ ${main.dir}/transport/snmp/target/${pkg.name}.deb
+
+ DEB artifact not found at ${main.dir}/transport/snmp/target/${pkg.name}.deb — build the upstream module first or pass -Dpkg.skip.deb=true.
+
+
@@ -100,36 +94,60 @@
+
+ copy-tb-snmp-transport-deb
+ ${pkg.deb.phase}
+
+ copy-resources
+
+
+ ${project.build.directory}
+ true
+
+
+ ${main.dir}/transport/snmp/target
+
+ ${pkg.name}.deb
+
+ false
+
+
+
+
- com.spotify
- dockerfile-maven-plugin
+ org.codehaus.mojo
+ exec-maven-plugin
build-docker-image
pre-integration-test
-
- build
-
+ exec
${dockerfile.skip}
- ${docker.repo}/${docker.name}
- true
- false
- ${project.build.directory}
+ docker
+ ${project.build.directory}
+
+ build
+ -t
+ ${docker.repo}/${docker.name}:latest
+ .
+
tag-docker-image
pre-integration-test
-
- tag
-
+ exec
${dockerfile.skip}
- ${docker.repo}/${docker.name}
- ${project.version}
+ docker
+
+ tag
+ ${docker.repo}/${docker.name}:latest
+ ${docker.repo}/${docker.name}:${project.version}
+
@@ -147,29 +165,31 @@
- com.spotify
- dockerfile-maven-plugin
+ org.codehaus.mojo
+ exec-maven-plugin
push-latest-docker-image
pre-integration-test
-
- push
-
+ exec
- latest
- ${docker.repo}/${docker.name}
+ docker
+
+ push
+ ${docker.repo}/${docker.name}:latest
+
push-version-docker-image
pre-integration-test
-
- push
-
+ exec
- ${project.version}
- ${docker.repo}/${docker.name}
+ docker
+
+ push
+ ${docker.repo}/${docker.name}:${project.version}
+
diff --git a/msa/vc-executor-docker/pom.xml b/msa/vc-executor-docker/pom.xml
index 97c26705cc..5a3c1fe39e 100644
--- a/msa/vc-executor-docker/pom.xml
+++ b/msa/vc-executor-docker/pom.xml
@@ -33,7 +33,7 @@
UTF-8
- ${basedir}/../..
+ ${maven.multiModuleProjectDirectory}
tb-vc-executor
tb-vc-executor
/var/log/${pkg.name}
@@ -46,8 +46,6 @@
org.thingsboard.msa
vc-executor
${project.version}
- deb
- deb
provided
@@ -56,25 +54,21 @@
org.apache.maven.plugins
- maven-dependency-plugin
+ maven-enforcer-plugin
- copy-tb-vc-executor-deb
- package
-
- copy
-
+ enforce-deb-exists
+ ${pkg.deb.phase}
+ enforce
-
-
- org.thingsboard.msa
- vc-executor
- deb
- deb
- ${pkg.name}.deb
- ${project.build.directory}
-
-
+
+
+
+ ${main.dir}/msa/vc-executor/target/${pkg.name}.deb
+
+ DEB artifact not found at ${main.dir}/msa/vc-executor/target/${pkg.name}.deb — build the upstream module first or pass -Dpkg.skip.deb=true.
+
+
@@ -99,36 +93,60 @@
+
+ copy-tb-vc-executor-deb
+ ${pkg.deb.phase}
+
+ copy-resources
+
+
+ ${project.build.directory}
+ true
+
+
+ ${main.dir}/msa/vc-executor/target
+
+ ${pkg.name}.deb
+
+ false
+
+
+
+
- com.spotify
- dockerfile-maven-plugin
+ org.codehaus.mojo
+ exec-maven-plugin
build-docker-image
pre-integration-test
-
- build
-
+ exec
${dockerfile.skip}
- ${docker.repo}/${docker.name}
- true
- false
- ${project.build.directory}
+ docker
+ ${project.build.directory}
+
+ build
+ -t
+ ${docker.repo}/${docker.name}:latest
+ .
+
tag-docker-image
pre-integration-test
-
- tag
-
+ exec
${dockerfile.skip}
- ${docker.repo}/${docker.name}
- ${project.version}
+ docker
+
+ tag
+ ${docker.repo}/${docker.name}:latest
+ ${docker.repo}/${docker.name}:${project.version}
+
@@ -146,29 +164,31 @@
- com.spotify
- dockerfile-maven-plugin
+ org.codehaus.mojo
+ exec-maven-plugin
push-latest-docker-image
pre-integration-test
-
- push
-
+ exec
- latest
- ${docker.repo}/${docker.name}
+ docker
+
+ push
+ ${docker.repo}/${docker.name}:latest
+
push-version-docker-image
pre-integration-test
-
- push
-
+ exec
- ${project.version}
- ${docker.repo}/${docker.name}
+ docker
+
+ push
+ ${docker.repo}/${docker.name}:${project.version}
+
diff --git a/msa/vc-executor/pom.xml b/msa/vc-executor/pom.xml
index 6cc1b67983..ba40676f39 100644
--- a/msa/vc-executor/pom.xml
+++ b/msa/vc-executor/pom.xml
@@ -35,7 +35,6 @@
UTF-8
${basedir}/../..
java
- false
process-resources
package
tb-vc-executor
@@ -115,8 +114,8 @@
maven-assembly-plugin
- org.apache.maven.plugins
- maven-install-plugin
+ org.codehaus.mojo
+ build-helper-maven-plugin
diff --git a/msa/web-ui/pom.xml b/msa/web-ui/pom.xml
index 88c338d3b6..b2ff439249 100644
--- a/msa/web-ui/pom.xml
+++ b/msa/web-ui/pom.xml
@@ -39,7 +39,6 @@
tb-web-ui
tb-web-ui
js
- false
process-resources
package
${project.build.directory}/package/linux
@@ -193,33 +192,37 @@
maven-assembly-plugin
- com.spotify
- dockerfile-maven-plugin
+ org.codehaus.mojo
+ exec-maven-plugin
build-docker-image
pre-integration-test
-
- build
-
+ exec
${dockerfile.skip}
- ${docker.repo}/${docker.name}
- true
- false
- ${project.build.directory}
+ docker
+ ${project.build.directory}
+
+ build
+ -t
+ ${docker.repo}/${docker.name}:latest
+ .
+
tag-docker-image
pre-integration-test
-
- tag
-
+ exec
${dockerfile.skip}
- ${docker.repo}/${docker.name}
- ${project.version}
+ docker
+
+ tag
+ ${docker.repo}/${docker.name}:latest
+ ${docker.repo}/${docker.name}:${project.version}
+
@@ -269,29 +272,31 @@
- com.spotify
- dockerfile-maven-plugin
+ org.codehaus.mojo
+ exec-maven-plugin
push-latest-docker-image
pre-integration-test
-
- push
-
+ exec
- latest
- ${docker.repo}/${docker.name}
+ docker
+
+ push
+ ${docker.repo}/${docker.name}:latest
+
push-version-docker-image
pre-integration-test
-
- push
-
+ exec
- ${project.version}
- ${docker.repo}/${docker.name}
+ docker
+
+ push
+ ${docker.repo}/${docker.name}:${project.version}
+
diff --git a/packaging/java/build.gradle b/packaging/java/build.gradle
index 5ef4576a91..16d3db5131 100644
--- a/packaging/java/build.gradle
+++ b/packaging/java/build.gradle
@@ -173,3 +173,6 @@ buildDeb {
link("${pkgInstallFolder}/bin/${pkgName}.yml", "${pkgInstallFolder}/conf/${pkgName}.yml")
link("/etc/${pkgName}/conf", "${pkgInstallFolder}/conf")
}
+
+buildDeb.onlyIf { findProperty('skipDeb') != 'true' }
+buildRpm.onlyIf { findProperty('skipRpm') != 'true' }
diff --git a/packaging/js/build.gradle b/packaging/js/build.gradle
index 15b8e546a1..009d1aa460 100644
--- a/packaging/js/build.gradle
+++ b/packaging/js/build.gradle
@@ -126,3 +126,6 @@ buildDeb {
link("/etc/${pkgName}/conf", "${pkgInstallFolder}/conf")
}
+
+buildDeb.onlyIf { findProperty('skipDeb') != 'true' }
+buildRpm.onlyIf { findProperty('skipRpm') != 'true' }
diff --git a/pom.xml b/pom.xml
index 3946b9f028..db546046ab 100755
--- a/pom.xml
+++ b/pom.xml
@@ -31,9 +31,33 @@
17
17
${basedir}
- true
none
none
+
+
+ false
+
+ false
+
+ false
+
+ false
+
+ ${pkg.package.phase}
thingsboard
${project.name}
/var/log/${pkg.name}
@@ -68,8 +92,10 @@
1.2.5
1.2.5
1.7.1
- 3.5.4
3.5.0
+ 3.5.4
+ 3.1.4
+ 3.1.4
2.8.8TB
2.2.30
0.8
@@ -179,6 +205,43 @@
+
+
+ skip-deb
+
+
+ pkg.skip.deb
+ true
+
+
+
+ none
+
+
+
+
+
+ skip-pkg
+
+
+ pkg.skip
+ true
+
+
+
+ true
+ true
+ true
+ true
+ none
+
+
+
packaging
@@ -484,7 +547,12 @@
org.springframework.boot
spring-boot-maven-plugin
- ${pkg.disabled}
+
+ ${pkg.skip.bootjar}
${pkg.mainClass}
boot
ZIP
@@ -528,6 +596,8 @@
-PpkgInstallFolder=${pkg.installFolder}
-PpkgCopyInstallScripts=${pkg.copyInstallScripts}
-PpkgLogFolder=${pkg.unixLogFolder}
+ -PskipDeb=${pkg.skip.deb}
+ -PskipRpm=${pkg.skip.rpm}
--project-cache-dir
${project.build.directory}/.gradle
--warning-mode
@@ -547,6 +617,7 @@
org.apache.maven.plugins
maven-assembly-plugin
+ ${pkg.skip.zip}
${pkg.name}
${main.dir}/packaging/${pkg.type}/assembly/windows.xml
@@ -563,23 +634,24 @@
- org.apache.maven.plugins
- maven-install-plugin
-
- ${project.build.directory}/${pkg.name}.deb
- ${project.artifactId}
- ${project.groupId}
- ${project.version}
- deb
- deb
-
+ org.codehaus.mojo
+ build-helper-maven-plugin
- install-deb
- ${pkg.package.phase}
+ attach-deb
+ ${pkg.deb.phase}
- install-file
+ attach-artifact
+
+
+
+ ${project.build.directory}/${pkg.name}.deb
+ deb
+ deb
+
+
+
@@ -658,7 +730,7 @@
org.apache.maven.plugins
maven-surefire-plugin
- ${surefire.version}
+ ${maven-surefire-plugin.version}
-XX:+UseStringDeduplication -XX:MaxGCPauseMillis=200
@@ -671,12 +743,17 @@
org.apache.maven.plugins
maven-install-plugin
- 3.0.0-M1
+ ${maven-install-plugin.version}
org.apache.maven.plugins
maven-deploy-plugin
- 3.0.0-M1
+ ${maven-deploy-plugin.version}
+
+
+ org.apache.maven.plugins
+ maven-enforcer-plugin
+ 3.5.0
org.codehaus.mojo
diff --git a/transport/coap/pom.xml b/transport/coap/pom.xml
index a23f41f31d..4cd9d7d5a4 100644
--- a/transport/coap/pom.xml
+++ b/transport/coap/pom.xml
@@ -34,7 +34,6 @@
UTF-8
${basedir}/../..
java
- false
process-resources
package
tb-coap-transport
@@ -109,8 +108,8 @@
maven-assembly-plugin
- org.apache.maven.plugins
- maven-install-plugin
+ org.codehaus.mojo
+ build-helper-maven-plugin
diff --git a/transport/http/pom.xml b/transport/http/pom.xml
index 2528a7d7cb..93339eb695 100644
--- a/transport/http/pom.xml
+++ b/transport/http/pom.xml
@@ -34,7 +34,6 @@
UTF-8
${basedir}/../..
java
- false
process-resources
package
tb-http-transport
@@ -109,8 +108,8 @@
maven-assembly-plugin
- org.apache.maven.plugins
- maven-install-plugin
+ org.codehaus.mojo
+ build-helper-maven-plugin
diff --git a/transport/lwm2m/pom.xml b/transport/lwm2m/pom.xml
index bf45d6e0bd..1238cacb24 100644
--- a/transport/lwm2m/pom.xml
+++ b/transport/lwm2m/pom.xml
@@ -34,7 +34,6 @@
UTF-8
${basedir}/../..
java
- false
process-resources
package
tb-lwm2m-transport
@@ -163,8 +162,8 @@
maven-assembly-plugin
- org.apache.maven.plugins
- maven-install-plugin
+ org.codehaus.mojo
+ build-helper-maven-plugin
diff --git a/transport/mqtt/pom.xml b/transport/mqtt/pom.xml
index 44fbfc8dd1..d9db954bcb 100644
--- a/transport/mqtt/pom.xml
+++ b/transport/mqtt/pom.xml
@@ -34,7 +34,6 @@
UTF-8
${basedir}/../..
java
- false
process-resources
package
tb-mqtt-transport
@@ -109,8 +108,8 @@
maven-assembly-plugin
- org.apache.maven.plugins
- maven-install-plugin
+ org.codehaus.mojo
+ build-helper-maven-plugin
diff --git a/transport/snmp/pom.xml b/transport/snmp/pom.xml
index ecf0993d17..504c2af934 100644
--- a/transport/snmp/pom.xml
+++ b/transport/snmp/pom.xml
@@ -36,7 +36,6 @@
UTF-8
${basedir}/../..
java
- false
process-resources
package
tb-snmp-transport
@@ -94,8 +93,8 @@
maven-assembly-plugin
- org.apache.maven.plugins
- maven-install-plugin
+ org.codehaus.mojo
+ build-helper-maven-plugin