From ac96b4035b2193296c1133f27d0f39dc3dab0fce Mon Sep 17 00:00:00 2001 From: Sergey Matvienko Date: Wed, 18 Mar 2026 23:41:53 +0100 Subject: [PATCH] Replace Spotify dockerfile-maven-plugin with exec-maven-plugin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The com.spotify:dockerfile-maven-plugin:1.4.13 is deprecated and broken on modern macOS (Apple Silicon) due to its Java HTTP client being incompatible with current Docker Desktop socket/API. Replace the Java-based plugin with exec-maven-plugin calling the docker CLI directly — the same approach already used by the multiarch push profiles (push-docker-amd-arm-images). All existing Maven property contracts preserved: - dockerfile.skip (default true) controls docker build - push-docker-image profile for single-arch push - push-docker-amd-arm-images profiles unchanged (already use exec) --- msa/edqs/pom.xml | 58 +++++++++-------- msa/js-executor/pom.xml | 58 +++++++++-------- msa/monitoring/pom.xml | 58 +++++++++-------- msa/pom.xml | 15 ++--- msa/tb-node/pom.xml | 58 +++++++++-------- msa/tb/pom.xml | 112 ++++++++++++++++++--------------- msa/transport/coap/pom.xml | 58 +++++++++-------- msa/transport/http/pom.xml | 58 +++++++++-------- msa/transport/lwm2m/pom.xml | 58 +++++++++-------- msa/transport/mqtt/pom.xml | 58 +++++++++-------- msa/transport/snmp/pom.xml | 58 +++++++++-------- msa/vc-executor-docker/pom.xml | 58 +++++++++-------- msa/web-ui/pom.xml | 58 +++++++++-------- 13 files changed, 418 insertions(+), 347 deletions(-) diff --git a/msa/edqs/pom.xml b/msa/edqs/pom.xml index 798389ce3a..3377cff6c6 100644 --- a/msa/edqs/pom.xml +++ b/msa/edqs/pom.xml @@ -116,33 +116,37 @@ - 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} + @@ -160,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 efa4b3be64..6f57b5ddd2 100644 --- a/msa/js-executor/pom.xml +++ b/msa/js-executor/pom.xml @@ -146,33 +146,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 +226,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 31f08b37c4..aded630179 100644 --- a/msa/monitoring/pom.xml +++ b/msa/monitoring/pom.xml @@ -117,33 +117,37 @@ - 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} + @@ -161,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 4921888c5c..d56a7aa265 100644 --- a/msa/pom.xml +++ b/msa/pom.xml @@ -39,7 +39,7 @@ thingsboard/openjdk17:bookworm-slim true true - 1.4.13 + 3.5.1 none @@ -248,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 7fa0936efe..8272815640 100644 --- a/msa/tb-node/pom.xml +++ b/msa/tb-node/pom.xml @@ -116,33 +116,37 @@ - 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} + @@ -160,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 afd4bcc1e9..33e7abeabf 100644 --- a/msa/tb/pom.xml +++ b/msa/tb/pom.xml @@ -159,61 +159,69 @@ - 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} + @@ -231,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 30ee04d711..6517d8b466 100644 --- a/msa/transport/coap/pom.xml +++ b/msa/transport/coap/pom.xml @@ -116,33 +116,37 @@ - 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} + @@ -160,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 9602f3bb7e..4c3445c4fc 100644 --- a/msa/transport/http/pom.xml +++ b/msa/transport/http/pom.xml @@ -116,33 +116,37 @@ - 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} + @@ -160,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 19be34cb92..e106d81641 100644 --- a/msa/transport/lwm2m/pom.xml +++ b/msa/transport/lwm2m/pom.xml @@ -116,33 +116,37 @@ - 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} + @@ -160,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 437d2eb0a7..f2f4f1e531 100644 --- a/msa/transport/mqtt/pom.xml +++ b/msa/transport/mqtt/pom.xml @@ -116,33 +116,37 @@ - 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} + @@ -160,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 0f0c758889..a1e024c735 100644 --- a/msa/transport/snmp/pom.xml +++ b/msa/transport/snmp/pom.xml @@ -117,33 +117,37 @@ - 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} + @@ -161,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 0fb7db0ada..5713d9a142 100644 --- a/msa/vc-executor-docker/pom.xml +++ b/msa/vc-executor-docker/pom.xml @@ -116,33 +116,37 @@ - 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} + @@ -160,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/web-ui/pom.xml b/msa/web-ui/pom.xml index 3d638b9c0c..efbdb693c8 100644 --- a/msa/web-ui/pom.xml +++ b/msa/web-ui/pom.xml @@ -193,33 +193,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 +273,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} +