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