diff --git a/internal/maven/dockerfile.go b/internal/maven/dockerfile.go
index b47a4e64d..3939bae0f 100644
--- a/internal/maven/dockerfile.go
+++ b/internal/maven/dockerfile.go
@@ -40,7 +40,11 @@ func insertMavenDepsStage(lines []string) (string, error) {
mavenDepsLines := []string{
"FROM " + MavenImage + " AS maven-deps",
"COPY pom.xml /tmp/pom.xml",
- "RUN cd /tmp && mvn -f pom.xml dependency:go-offline",
+ "RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies " +
+ "-Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true " +
+ "-DoutputDirectory=/maven-repository " +
+ "&& cd /root/.m2/repository " +
+ "&& find . -name '*.pom' -exec cp --parents -t /maven-repository {} +",
}
// Find the insertion point: strip trailing blank lines before
@@ -78,7 +82,7 @@ func insertMavenDepsStage(lines []string) (string, error) {
}
}
- copyLine := "COPY --from=maven-deps /root/.m2/repository /maven-repository"
+ copyLine := "COPY --from=maven-deps /maven-repository /maven-repository"
if copyInsertAt < 0 {
newLines = append(newLines, copyLine)
return strings.Join(newLines, "\n"), nil
diff --git a/internal/maven/pom.go b/internal/maven/pom.go
index 50ca84b78..ea6f7c4b3 100644
--- a/internal/maven/pom.go
+++ b/internal/maven/pom.go
@@ -27,9 +27,10 @@ var (
)
// RenderPOM generates a Maven POM XML from a parsed plugin config.
-// The POM includes all runtime dependencies, additional runtimes, and
-// kotlin-maven-plugin for Kotlin plugins. maven-compiler-plugin and
-// maven-source-plugin are bundled in the maven-jdk base image.
+// The POM includes all runtime dependencies, additional runtimes,
+// and kotlin-maven-plugin as a dependency for Kotlin plugins.
+// Compiler configuration (apiVersion, jvmTarget, etc.) is read from
+// the database by the compile service, not from this POM.
func RenderPOM(pluginConfig *bufremotepluginconfig.Config) (string, error) {
if pluginConfig.Registry == nil || pluginConfig.Registry.Maven == nil {
return "", fmt.Errorf("no Maven registry configured for %q", pluginConfig.Name)
diff --git a/internal/maven/pom.xml.gotext b/internal/maven/pom.xml.gotext
index 141a4a046..9e6f3da2e 100644
--- a/internal/maven/pom.xml.gotext
+++ b/internal/maven/pom.xml.gotext
@@ -34,29 +34,12 @@
{{- end }}
{{- end }}
+ {{- if $kotlinCompiler.Version }}
+
+ org.jetbrains.kotlin
+ kotlin-maven-plugin
+ {{ $kotlinCompiler.Version | xml }}
+
+ {{- end }}
- {{- if $kotlinCompiler.Version }}
-
-
-
- org.jetbrains.kotlin
- kotlin-maven-plugin
- {{- with $kotlinCompiler.Version }}
- {{ . | xml }}
- {{- end }}
-
- {{- with $kotlinCompiler.APIVersion }}
- {{ . | xml }}
- {{- end }}
- {{- with $kotlinCompiler.JVMTarget }}
- {{ . | xml }}
- {{- end }}
- {{- with $kotlinCompiler.LanguageVersion }}
- {{ . | xml }}
- {{- end }}
-
-
-
-
- {{- end }}
diff --git a/internal/maven/pom_test.go b/internal/maven/pom_test.go
index dce76a13b..02969c7a1 100644
--- a/internal/maven/pom_test.go
+++ b/internal/maven/pom_test.go
@@ -19,6 +19,7 @@ type pomProject struct {
GroupID string `xml:"groupId"`
ArtifactID string `xml:"artifactId"`
Version string `xml:"version"`
+ Packaging string `xml:"packaging"`
Dependencies []pomDependency `xml:"dependencies>dependency"`
Build *pomBuild `xml:"build"`
}
@@ -80,7 +81,7 @@ registry:
},
},
{
- name: "Kotlin compiler plugin configuration",
+ name: "Kotlin compiler adds plugin dependency",
yaml: `version: v1
name: buf.build/test/kotlin-plugin
plugin_version: v1.0.0
@@ -97,16 +98,12 @@ registry:
deps: []
`,
check: func(t *testing.T, p pomProject, _ string) { //nolint:thelper
- require.NotNil(t, p.Build)
- require.Len(t, p.Build.Plugins, 1)
- plugin := p.Build.Plugins[0]
- assert.Equal(t, "org.jetbrains.kotlin", plugin.GroupID)
- assert.Equal(t, "kotlin-maven-plugin", plugin.ArtifactID)
- assert.Equal(t, "1.8.22", plugin.Version)
- require.NotNil(t, plugin.Configuration)
- assert.Equal(t, "1.8", plugin.Configuration.JVMTarget)
- assert.Equal(t, "1.8", plugin.Configuration.LanguageVersion)
- assert.Equal(t, "1.8", plugin.Configuration.APIVersion)
+ require.Len(t, p.Dependencies, 1)
+ dep := p.Dependencies[0]
+ assert.Equal(t, "org.jetbrains.kotlin", dep.GroupID)
+ assert.Equal(t, "kotlin-maven-plugin", dep.ArtifactID)
+ assert.Equal(t, "1.8.22", dep.Version)
+ assert.Nil(t, p.Build)
},
},
{
@@ -193,11 +190,11 @@ registry:
deps: []
`,
check: func(t *testing.T, p pomProject, _ string) { //nolint:thelper
- assert.Empty(t, p.Dependencies)
- require.NotNil(t, p.Build)
- require.Len(t, p.Build.Plugins, 1)
- assert.Equal(t, "kotlin-maven-plugin", p.Build.Plugins[0].ArtifactID)
- assert.Equal(t, "1.9.0", p.Build.Plugins[0].Version)
+ require.Len(t, p.Dependencies, 1)
+ assert.Equal(t, "org.jetbrains.kotlin", p.Dependencies[0].GroupID)
+ assert.Equal(t, "kotlin-maven-plugin", p.Dependencies[0].ArtifactID)
+ assert.Equal(t, "1.9.0", p.Dependencies[0].Version)
+ assert.Nil(t, p.Build)
},
},
}
diff --git a/internal/maven/regenerate_test.go b/internal/maven/regenerate_test.go
index dae97d622..e433c756f 100644
--- a/internal/maven/regenerate_test.go
+++ b/internal/maven/regenerate_test.go
@@ -80,7 +80,7 @@ ENTRYPOINT ["/app"]
dockerfileBytes, err := os.ReadFile(filepath.Join(consumerDir, "Dockerfile"))
require.NoError(t, err)
assert.Contains(t, string(dockerfileBytes), "FROM "+MavenImage+" AS maven-deps")
- assert.Contains(t, string(dockerfileBytes), "COPY --from=maven-deps /root/.m2/repository /maven-repository")
+ assert.Contains(t, string(dockerfileBytes), "COPY --from=maven-deps /maven-repository /maven-repository")
// Read and parse pom.xml to verify deps include versions.
pomBytes, err := os.ReadFile(filepath.Join(consumerDir, "pom.xml"))
diff --git a/plugins/apple/servicetalk/v0.42.63/Dockerfile b/plugins/apple/servicetalk/v0.42.63/Dockerfile
index bf51e0b77..130d839b3 100644
--- a/plugins/apple/servicetalk/v0.42.63/Dockerfile
+++ b/plugins/apple/servicetalk/v0.42.63/Dockerfile
@@ -10,11 +10,11 @@ FROM gcr.io/distroless/java21-debian12:latest@sha256:f34fd3e4e2d7a246d764d0614f5
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM scratch
COPY --from=base --link / /
COPY --from=build --link --chmod=0755 --chown=root:root /app/servicetalk-grpc-protoc.jar .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/usr/bin/java", "-jar", "/servicetalk-grpc-protoc.jar"]
diff --git a/plugins/bufbuild/connect-kotlin/v0.1.10/Dockerfile b/plugins/bufbuild/connect-kotlin/v0.1.10/Dockerfile
index c4cdfbce7..ccda40723 100644
--- a/plugins/bufbuild/connect-kotlin/v0.1.10/Dockerfile
+++ b/plugins/bufbuild/connect-kotlin/v0.1.10/Dockerfile
@@ -7,10 +7,10 @@ RUN curl -fsSL -o /app/protoc-gen-connect-kotlin.jar https://repo1.maven.org/mav
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM gcr.io/distroless/java17-debian11
WORKDIR /app
COPY --from=build /app/protoc-gen-connect-kotlin.jar /app
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
CMD ["/app/protoc-gen-connect-kotlin.jar"]
diff --git a/plugins/bufbuild/connect-kotlin/v0.1.10/pom.xml b/plugins/bufbuild/connect-kotlin/v0.1.10/pom.xml
index 0cf0763c4..3cd7bf5d6 100644
--- a/plugins/bufbuild/connect-kotlin/v0.1.10/pom.xml
+++ b/plugins/bufbuild/connect-kotlin/v0.1.10/pom.xml
@@ -60,16 +60,10 @@
protobuf-javalite
3.24.3
+
+ org.jetbrains.kotlin
+ kotlin-maven-plugin
+ 1.8.22
+
-
-
-
- org.jetbrains.kotlin
- kotlin-maven-plugin
- 1.8.22
-
-
-
-
-
diff --git a/plugins/bufbuild/validate-java/v1.3.3/Dockerfile b/plugins/bufbuild/validate-java/v1.3.3/Dockerfile
index bad885156..aaeb89699 100644
--- a/plugins/bufbuild/validate-java/v1.3.3/Dockerfile
+++ b/plugins/bufbuild/validate-java/v1.3.3/Dockerfile
@@ -4,11 +4,11 @@ RUN CGO_ENABLED=0 go install -ldflags "-s -w" -trimpath github.com/envoyproxy/pr
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM scratch
COPY --from=build --link /etc/passwd /etc/passwd
COPY --from=build --link --chown=root:root /go/bin/protoc-gen-validate-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/protoc-gen-validate-java" ]
diff --git a/plugins/community/salesforce-reactive-grpc/v1.2.4/Dockerfile b/plugins/community/salesforce-reactive-grpc/v1.2.4/Dockerfile
index 7782a7695..966a35b1e 100644
--- a/plugins/community/salesforce-reactive-grpc/v1.2.4/Dockerfile
+++ b/plugins/community/salesforce-reactive-grpc/v1.2.4/Dockerfile
@@ -9,11 +9,11 @@ FROM gcr.io/distroless/java21-debian12:latest@sha256:7c9a9a362eadadb308d29b9c7fe
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM scratch
COPY --from=base --link / /
COPY --from=build --link --chmod=0755 --chown=root:root /app/reactor-grpc-protoc.jar .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/usr/bin/java", "-jar", "/reactor-grpc-protoc.jar"]
diff --git a/plugins/connectrpc/kotlin/v0.7.4/Dockerfile b/plugins/connectrpc/kotlin/v0.7.4/Dockerfile
index 22137d55d..aa2bd366a 100644
--- a/plugins/connectrpc/kotlin/v0.7.4/Dockerfile
+++ b/plugins/connectrpc/kotlin/v0.7.4/Dockerfile
@@ -10,11 +10,11 @@ FROM gcr.io/distroless/java21-debian12:latest@sha256:7c05bf8a64ff1a70a16083e9bdd
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM scratch
COPY --from=base --link / /
COPY --from=build --link --chmod=0755 --chown=root:root /app/protoc-gen-connect-kotlin.jar .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/usr/bin/java", "-jar", "/protoc-gen-connect-kotlin.jar"]
diff --git a/plugins/connectrpc/kotlin/v0.7.4/pom.xml b/plugins/connectrpc/kotlin/v0.7.4/pom.xml
index b9d6a8bfe..eca2226e4 100644
--- a/plugins/connectrpc/kotlin/v0.7.4/pom.xml
+++ b/plugins/connectrpc/kotlin/v0.7.4/pom.xml
@@ -60,17 +60,10 @@
protobuf-javalite
4.31.1
+
+ org.jetbrains.kotlin
+ kotlin-maven-plugin
+ 2.1.0
+
-
-
-
- org.jetbrains.kotlin
- kotlin-maven-plugin
- 2.1.0
-
- 1.8
-
-
-
-
diff --git a/plugins/grpc/java/v1.54.0/Dockerfile b/plugins/grpc/java/v1.54.0/Dockerfile
index 658f2520d..5c42d6fbf 100644
--- a/plugins/grpc/java/v1.54.0/Dockerfile
+++ b/plugins/grpc/java/v1.54.0/Dockerfile
@@ -17,10 +17,10 @@ RUN arch=${TARGETARCH}; \
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM gcr.io/distroless/base-debian11
COPY --from=build --link --chmod=0755 --chown=root:root /build/protoc-gen-grpc-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/protoc-gen-grpc-java" ]
diff --git a/plugins/grpc/java/v1.54.1/Dockerfile b/plugins/grpc/java/v1.54.1/Dockerfile
index 3749b0923..a1237a33f 100644
--- a/plugins/grpc/java/v1.54.1/Dockerfile
+++ b/plugins/grpc/java/v1.54.1/Dockerfile
@@ -17,10 +17,10 @@ RUN arch=${TARGETARCH}; \
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM gcr.io/distroless/base-debian11
COPY --from=build --link --chmod=0755 --chown=root:root /build/protoc-gen-grpc-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/protoc-gen-grpc-java" ]
diff --git a/plugins/grpc/java/v1.55.1/Dockerfile b/plugins/grpc/java/v1.55.1/Dockerfile
index 05462370c..36dcef742 100644
--- a/plugins/grpc/java/v1.55.1/Dockerfile
+++ b/plugins/grpc/java/v1.55.1/Dockerfile
@@ -17,10 +17,10 @@ RUN arch=${TARGETARCH}; \
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM gcr.io/distroless/base-debian11
COPY --from=build --link --chmod=0755 --chown=root:root /build/protoc-gen-grpc-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/protoc-gen-grpc-java" ]
diff --git a/plugins/grpc/java/v1.56.0/Dockerfile b/plugins/grpc/java/v1.56.0/Dockerfile
index 7fa0f2c2e..44f6237a9 100644
--- a/plugins/grpc/java/v1.56.0/Dockerfile
+++ b/plugins/grpc/java/v1.56.0/Dockerfile
@@ -17,10 +17,10 @@ RUN arch=${TARGETARCH}; \
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM gcr.io/distroless/base-debian11
COPY --from=build --link --chmod=0755 --chown=root:root /build/protoc-gen-grpc-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/protoc-gen-grpc-java" ]
diff --git a/plugins/grpc/java/v1.56.1/Dockerfile b/plugins/grpc/java/v1.56.1/Dockerfile
index aeaeff477..5aa4ff6ac 100644
--- a/plugins/grpc/java/v1.56.1/Dockerfile
+++ b/plugins/grpc/java/v1.56.1/Dockerfile
@@ -17,10 +17,10 @@ RUN arch=${TARGETARCH}; \
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM gcr.io/distroless/base-debian11
COPY --from=build --link --chmod=0755 --chown=root:root /build/protoc-gen-grpc-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/protoc-gen-grpc-java" ]
diff --git a/plugins/grpc/java/v1.57.0/Dockerfile b/plugins/grpc/java/v1.57.0/Dockerfile
index 807a2f09a..fe9645ebd 100644
--- a/plugins/grpc/java/v1.57.0/Dockerfile
+++ b/plugins/grpc/java/v1.57.0/Dockerfile
@@ -17,10 +17,10 @@ RUN arch=${TARGETARCH}; \
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM gcr.io/distroless/base-debian11
COPY --from=build --link --chmod=0755 --chown=root:root /build/protoc-gen-grpc-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/protoc-gen-grpc-java" ]
diff --git a/plugins/grpc/java/v1.57.1/Dockerfile b/plugins/grpc/java/v1.57.1/Dockerfile
index dfd975ced..2a1fa66e1 100644
--- a/plugins/grpc/java/v1.57.1/Dockerfile
+++ b/plugins/grpc/java/v1.57.1/Dockerfile
@@ -17,10 +17,10 @@ RUN arch=${TARGETARCH}; \
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM gcr.io/distroless/base-debian11
COPY --from=build --link --chmod=0755 --chown=root:root /build/protoc-gen-grpc-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/protoc-gen-grpc-java" ]
diff --git a/plugins/grpc/java/v1.57.2/Dockerfile b/plugins/grpc/java/v1.57.2/Dockerfile
index 0bcbe9320..34ac48508 100644
--- a/plugins/grpc/java/v1.57.2/Dockerfile
+++ b/plugins/grpc/java/v1.57.2/Dockerfile
@@ -17,10 +17,10 @@ RUN arch=${TARGETARCH}; \
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM gcr.io/distroless/base-debian11
COPY --from=build --link --chmod=0755 --chown=root:root /build/protoc-gen-grpc-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/protoc-gen-grpc-java" ]
diff --git a/plugins/grpc/java/v1.58.0/Dockerfile b/plugins/grpc/java/v1.58.0/Dockerfile
index 26601204e..c683754d0 100644
--- a/plugins/grpc/java/v1.58.0/Dockerfile
+++ b/plugins/grpc/java/v1.58.0/Dockerfile
@@ -17,10 +17,10 @@ RUN arch=${TARGETARCH}; \
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM gcr.io/distroless/base-debian11
COPY --from=build --link --chmod=0755 --chown=root:root /build/protoc-gen-grpc-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/protoc-gen-grpc-java" ]
diff --git a/plugins/grpc/java/v1.59.0/Dockerfile b/plugins/grpc/java/v1.59.0/Dockerfile
index 07296adcc..db6288658 100644
--- a/plugins/grpc/java/v1.59.0/Dockerfile
+++ b/plugins/grpc/java/v1.59.0/Dockerfile
@@ -17,10 +17,10 @@ RUN arch=${TARGETARCH}; \
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM gcr.io/distroless/base-debian11
COPY --from=build --link --chmod=0755 --chown=root:root /build/protoc-gen-grpc-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/protoc-gen-grpc-java" ]
diff --git a/plugins/grpc/java/v1.59.1/Dockerfile b/plugins/grpc/java/v1.59.1/Dockerfile
index c2419f13a..c7cea15b3 100644
--- a/plugins/grpc/java/v1.59.1/Dockerfile
+++ b/plugins/grpc/java/v1.59.1/Dockerfile
@@ -17,10 +17,10 @@ RUN arch=${TARGETARCH}; \
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM gcr.io/distroless/base-debian11
COPY --from=build --link --chmod=0755 --chown=root:root /build/protoc-gen-grpc-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/protoc-gen-grpc-java" ]
diff --git a/plugins/grpc/java/v1.60.0/Dockerfile b/plugins/grpc/java/v1.60.0/Dockerfile
index 71fac2785..2588408af 100644
--- a/plugins/grpc/java/v1.60.0/Dockerfile
+++ b/plugins/grpc/java/v1.60.0/Dockerfile
@@ -17,10 +17,10 @@ RUN arch=${TARGETARCH}; \
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM gcr.io/distroless/base-debian12:latest@sha256:1dfdb5ed7d9a66dcfc90135b25a46c25a85cf719b619b40c249a2445b9d055f5
COPY --from=build --link --chmod=0755 --chown=root:root /build/protoc-gen-grpc-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/protoc-gen-grpc-java" ]
diff --git a/plugins/grpc/java/v1.60.1/Dockerfile b/plugins/grpc/java/v1.60.1/Dockerfile
index 7b1b72ac3..1e7dc8d1c 100644
--- a/plugins/grpc/java/v1.60.1/Dockerfile
+++ b/plugins/grpc/java/v1.60.1/Dockerfile
@@ -17,10 +17,10 @@ RUN arch=${TARGETARCH}; \
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM gcr.io/distroless/base-debian12:latest@sha256:0a93daa199e7c6e387cea8cf03fac676146735caf6965d276d86ebd3a441f27e
COPY --from=build --link --chmod=0755 --chown=root:root /build/protoc-gen-grpc-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/protoc-gen-grpc-java" ]
diff --git a/plugins/grpc/java/v1.61.0/Dockerfile b/plugins/grpc/java/v1.61.0/Dockerfile
index d2d417a4c..b5065aeb6 100644
--- a/plugins/grpc/java/v1.61.0/Dockerfile
+++ b/plugins/grpc/java/v1.61.0/Dockerfile
@@ -17,10 +17,10 @@ RUN arch=${TARGETARCH}; \
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM gcr.io/distroless/base-debian12:latest@sha256:0a93daa199e7c6e387cea8cf03fac676146735caf6965d276d86ebd3a441f27e
COPY --from=build --link --chmod=0755 --chown=root:root /build/protoc-gen-grpc-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/protoc-gen-grpc-java" ]
diff --git a/plugins/grpc/java/v1.61.1/Dockerfile b/plugins/grpc/java/v1.61.1/Dockerfile
index 4c40f11b9..08fb4d6ea 100644
--- a/plugins/grpc/java/v1.61.1/Dockerfile
+++ b/plugins/grpc/java/v1.61.1/Dockerfile
@@ -17,10 +17,10 @@ RUN arch=${TARGETARCH}; \
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM gcr.io/distroless/base-debian12:latest@sha256:f47fa3dbb9c1b1a5d968106c98380c40f28c721f0f8e598e8d760169ae2db836
COPY --from=build --link --chmod=0755 --chown=root:root /build/protoc-gen-grpc-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/protoc-gen-grpc-java" ]
diff --git a/plugins/grpc/java/v1.62.2/Dockerfile b/plugins/grpc/java/v1.62.2/Dockerfile
index 01c2d51a6..3ec3ed18b 100644
--- a/plugins/grpc/java/v1.62.2/Dockerfile
+++ b/plugins/grpc/java/v1.62.2/Dockerfile
@@ -17,10 +17,10 @@ RUN arch=${TARGETARCH}; \
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM gcr.io/distroless/base-debian12:latest@sha256:5eae9ef0b97acf7de819f936e12b24976b2d54333a2cf329615366e16ba598cd
COPY --from=build --link --chmod=0755 --chown=root:root /build/protoc-gen-grpc-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/protoc-gen-grpc-java" ]
diff --git a/plugins/grpc/java/v1.63.0/Dockerfile b/plugins/grpc/java/v1.63.0/Dockerfile
index 0ad2329ef..b7472357b 100644
--- a/plugins/grpc/java/v1.63.0/Dockerfile
+++ b/plugins/grpc/java/v1.63.0/Dockerfile
@@ -17,10 +17,10 @@ RUN arch=${TARGETARCH}; \
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM gcr.io/distroless/base-debian12:latest@sha256:611d30d7f6d9992c37b1e1a212eefdf1f7c671deb56db3707e24eb01da8c4c2a
COPY --from=build --link --chmod=0755 --chown=root:root /build/protoc-gen-grpc-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/protoc-gen-grpc-java" ]
diff --git a/plugins/grpc/java/v1.64.0/Dockerfile b/plugins/grpc/java/v1.64.0/Dockerfile
index 2315c194e..b03ebd2c2 100644
--- a/plugins/grpc/java/v1.64.0/Dockerfile
+++ b/plugins/grpc/java/v1.64.0/Dockerfile
@@ -17,10 +17,10 @@ RUN arch=${TARGETARCH}; \
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM gcr.io/distroless/base-debian12:latest@sha256:786007f631d22e8a1a5084c5b177352d9dcac24b1e8c815187750f70b24a9fc6
COPY --from=build --link --chmod=0755 --chown=root:root /build/protoc-gen-grpc-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/protoc-gen-grpc-java" ]
diff --git a/plugins/grpc/java/v1.65.0/Dockerfile b/plugins/grpc/java/v1.65.0/Dockerfile
index c218c10ee..b0be73919 100644
--- a/plugins/grpc/java/v1.65.0/Dockerfile
+++ b/plugins/grpc/java/v1.65.0/Dockerfile
@@ -19,11 +19,11 @@ FROM gcr.io/distroless/base-debian12:latest@sha256:786007f631d22e8a1a5084c5b1773
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM scratch
COPY --link --from=base / /
COPY --link --from=build --chmod=0755 --chown=root:root /build/protoc-gen-grpc-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/protoc-gen-grpc-java" ]
diff --git a/plugins/grpc/java/v1.65.1/Dockerfile b/plugins/grpc/java/v1.65.1/Dockerfile
index 23236cd4f..ddec594fe 100644
--- a/plugins/grpc/java/v1.65.1/Dockerfile
+++ b/plugins/grpc/java/v1.65.1/Dockerfile
@@ -19,11 +19,11 @@ FROM gcr.io/distroless/cc-debian12:latest@sha256:3b75fdd33932d16e53a461277becf57
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM scratch
COPY --link --from=base / /
COPY --link --from=build --chmod=0755 --chown=root:root /build/protoc-gen-grpc-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/protoc-gen-grpc-java" ]
diff --git a/plugins/grpc/java/v1.66.0/Dockerfile b/plugins/grpc/java/v1.66.0/Dockerfile
index 8e06111ae..33487c9a7 100644
--- a/plugins/grpc/java/v1.66.0/Dockerfile
+++ b/plugins/grpc/java/v1.66.0/Dockerfile
@@ -19,11 +19,11 @@ FROM gcr.io/distroless/cc-debian12:latest@sha256:3b75fdd33932d16e53a461277becf57
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM scratch
COPY --link --from=base / /
COPY --link --from=build --chmod=0755 --chown=root:root /build/protoc-gen-grpc-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/protoc-gen-grpc-java" ]
diff --git a/plugins/grpc/java/v1.67.1/Dockerfile b/plugins/grpc/java/v1.67.1/Dockerfile
index 90d14ff61..8d6ab7eae 100644
--- a/plugins/grpc/java/v1.67.1/Dockerfile
+++ b/plugins/grpc/java/v1.67.1/Dockerfile
@@ -19,11 +19,11 @@ FROM gcr.io/distroless/cc-debian12:latest@sha256:3310655aac0d85eb9d579792387af1f
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM scratch
COPY --link --from=base / /
COPY --link --from=build --chmod=0755 --chown=root:root /build/protoc-gen-grpc-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/protoc-gen-grpc-java" ]
diff --git a/plugins/grpc/java/v1.68.1/Dockerfile b/plugins/grpc/java/v1.68.1/Dockerfile
index 354221892..372d136dd 100644
--- a/plugins/grpc/java/v1.68.1/Dockerfile
+++ b/plugins/grpc/java/v1.68.1/Dockerfile
@@ -19,11 +19,11 @@ FROM gcr.io/distroless/cc-debian12:latest@sha256:6f05aba4de16e89f8d879bf2a1364de
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM scratch
COPY --link --from=base / /
COPY --link --from=build --chmod=0755 --chown=root:root /build/protoc-gen-grpc-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/protoc-gen-grpc-java" ]
diff --git a/plugins/grpc/java/v1.68.2/Dockerfile b/plugins/grpc/java/v1.68.2/Dockerfile
index f63fa4614..87f727378 100644
--- a/plugins/grpc/java/v1.68.2/Dockerfile
+++ b/plugins/grpc/java/v1.68.2/Dockerfile
@@ -19,11 +19,11 @@ FROM gcr.io/distroless/cc-debian12:latest@sha256:f913198471738d9eedcd00c0ca812bf
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM scratch
COPY --link --from=base / /
COPY --link --from=build --chmod=0755 --chown=root:root /build/protoc-gen-grpc-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/protoc-gen-grpc-java" ]
diff --git a/plugins/grpc/java/v1.69.0/Dockerfile b/plugins/grpc/java/v1.69.0/Dockerfile
index f176f0bf4..bc14ace2d 100644
--- a/plugins/grpc/java/v1.69.0/Dockerfile
+++ b/plugins/grpc/java/v1.69.0/Dockerfile
@@ -19,11 +19,11 @@ FROM gcr.io/distroless/cc-debian12:latest@sha256:f913198471738d9eedcd00c0ca812bf
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM scratch
COPY --link --from=base / /
COPY --link --from=build --chmod=0755 --chown=root:root /build/protoc-gen-grpc-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/protoc-gen-grpc-java" ]
diff --git a/plugins/grpc/java/v1.69.1/Dockerfile b/plugins/grpc/java/v1.69.1/Dockerfile
index d22680f56..c0a8e298e 100644
--- a/plugins/grpc/java/v1.69.1/Dockerfile
+++ b/plugins/grpc/java/v1.69.1/Dockerfile
@@ -19,11 +19,11 @@ FROM gcr.io/distroless/cc-debian12:latest@sha256:b7550f0b15838de14c564337eef2b80
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM scratch
COPY --link --from=base / /
COPY --link --from=build --chmod=0755 --chown=root:root /build/protoc-gen-grpc-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/protoc-gen-grpc-java" ]
diff --git a/plugins/grpc/java/v1.70.0/Dockerfile b/plugins/grpc/java/v1.70.0/Dockerfile
index 356df20ab..bbae6c654 100644
--- a/plugins/grpc/java/v1.70.0/Dockerfile
+++ b/plugins/grpc/java/v1.70.0/Dockerfile
@@ -19,11 +19,11 @@ FROM gcr.io/distroless/cc-debian12:latest@sha256:b7550f0b15838de14c564337eef2b80
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM scratch
COPY --link --from=base / /
COPY --link --from=build --chmod=0755 --chown=root:root /build/protoc-gen-grpc-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/protoc-gen-grpc-java" ]
diff --git a/plugins/grpc/java/v1.71.0/Dockerfile b/plugins/grpc/java/v1.71.0/Dockerfile
index 0f532fe79..b638e0957 100644
--- a/plugins/grpc/java/v1.71.0/Dockerfile
+++ b/plugins/grpc/java/v1.71.0/Dockerfile
@@ -19,11 +19,11 @@ FROM gcr.io/distroless/cc-debian12:latest@sha256:b7550f0b15838de14c564337eef2b80
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM scratch
COPY --link --from=base / /
COPY --link --from=build --chmod=0755 --chown=root:root /build/protoc-gen-grpc-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/protoc-gen-grpc-java" ]
diff --git a/plugins/grpc/java/v1.72.0/Dockerfile b/plugins/grpc/java/v1.72.0/Dockerfile
index 0589baf76..6093566c5 100644
--- a/plugins/grpc/java/v1.72.0/Dockerfile
+++ b/plugins/grpc/java/v1.72.0/Dockerfile
@@ -19,11 +19,11 @@ FROM gcr.io/distroless/cc-debian12:latest@sha256:c1cbcec08d39c81adbefb80cabc51cb
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM scratch
COPY --link --from=base / /
COPY --link --from=build --chmod=0755 --chown=root:root /build/protoc-gen-grpc-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/protoc-gen-grpc-java" ]
diff --git a/plugins/grpc/java/v1.73.0/Dockerfile b/plugins/grpc/java/v1.73.0/Dockerfile
index c493f6691..241dc6003 100644
--- a/plugins/grpc/java/v1.73.0/Dockerfile
+++ b/plugins/grpc/java/v1.73.0/Dockerfile
@@ -19,11 +19,11 @@ FROM gcr.io/distroless/cc-debian12:latest@sha256:c53c9416a1acdbfd6e09abba7204424
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM scratch
COPY --link --from=base / /
COPY --link --from=build --chmod=0755 --chown=root:root /build/protoc-gen-grpc-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/protoc-gen-grpc-java" ]
diff --git a/plugins/grpc/java/v1.74.0/Dockerfile b/plugins/grpc/java/v1.74.0/Dockerfile
index daaad8e2f..8deec22da 100644
--- a/plugins/grpc/java/v1.74.0/Dockerfile
+++ b/plugins/grpc/java/v1.74.0/Dockerfile
@@ -19,11 +19,11 @@ FROM gcr.io/distroless/cc-debian12:latest@sha256:eccec5274132c1be0ce5d2c8e6fe410
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM scratch
COPY --link --from=base / /
COPY --link --from=build --chmod=0755 --chown=root:root /build/protoc-gen-grpc-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/protoc-gen-grpc-java" ]
diff --git a/plugins/grpc/java/v1.75.0/Dockerfile b/plugins/grpc/java/v1.75.0/Dockerfile
index 15a8ff240..1fe092252 100644
--- a/plugins/grpc/java/v1.75.0/Dockerfile
+++ b/plugins/grpc/java/v1.75.0/Dockerfile
@@ -19,11 +19,11 @@ FROM gcr.io/distroless/cc-debian12:latest@sha256:00cc20b928afcc8296b72525fa68f39
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM scratch
COPY --link --from=base / /
COPY --link --from=build --chmod=0755 --chown=root:root /build/protoc-gen-grpc-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/protoc-gen-grpc-java" ]
diff --git a/plugins/grpc/java/v1.76.0/Dockerfile b/plugins/grpc/java/v1.76.0/Dockerfile
index 469f3e68a..f98ac7494 100644
--- a/plugins/grpc/java/v1.76.0/Dockerfile
+++ b/plugins/grpc/java/v1.76.0/Dockerfile
@@ -19,11 +19,11 @@ FROM gcr.io/distroless/cc-debian12:latest@sha256:14f6999db515330e5d00537bd457289
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM scratch
COPY --link --from=base / /
COPY --link --from=build --chmod=0755 --chown=root:root /build/protoc-gen-grpc-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/protoc-gen-grpc-java" ]
diff --git a/plugins/grpc/java/v1.77.0/Dockerfile b/plugins/grpc/java/v1.77.0/Dockerfile
index 36c932263..e11e20524 100644
--- a/plugins/grpc/java/v1.77.0/Dockerfile
+++ b/plugins/grpc/java/v1.77.0/Dockerfile
@@ -19,11 +19,11 @@ FROM gcr.io/distroless/cc-debian12:latest@sha256:0000f9dc0290f8eaf0ecceafbc35e80
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM scratch
COPY --link --from=base / /
COPY --link --from=build --chmod=0755 --chown=root:root /build/protoc-gen-grpc-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/protoc-gen-grpc-java" ]
diff --git a/plugins/grpc/java/v1.78.0/Dockerfile b/plugins/grpc/java/v1.78.0/Dockerfile
index aaa82bea3..508cacaee 100644
--- a/plugins/grpc/java/v1.78.0/Dockerfile
+++ b/plugins/grpc/java/v1.78.0/Dockerfile
@@ -19,11 +19,11 @@ FROM gcr.io/distroless/cc-debian12:latest@sha256:0c8eac8ea42a167255d03c3ba6dfad2
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM scratch
COPY --link --from=base / /
COPY --link --from=build --chmod=0755 --chown=root:root /build/protoc-gen-grpc-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/protoc-gen-grpc-java" ]
diff --git a/plugins/grpc/java/v1.79.0/Dockerfile b/plugins/grpc/java/v1.79.0/Dockerfile
index a933e7d21..73667a3f5 100644
--- a/plugins/grpc/java/v1.79.0/Dockerfile
+++ b/plugins/grpc/java/v1.79.0/Dockerfile
@@ -19,11 +19,11 @@ FROM gcr.io/distroless/cc-debian12:latest@sha256:72344f7f909a8bf003c67f55687e6d5
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM scratch
COPY --link --from=base / /
COPY --link --from=build --chmod=0755 --chown=root:root /build/protoc-gen-grpc-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/protoc-gen-grpc-java" ]
diff --git a/plugins/grpc/kotlin/v1.5.0/Dockerfile b/plugins/grpc/kotlin/v1.5.0/Dockerfile
index d74acfe39..c1db937e2 100644
--- a/plugins/grpc/kotlin/v1.5.0/Dockerfile
+++ b/plugins/grpc/kotlin/v1.5.0/Dockerfile
@@ -12,11 +12,11 @@ FROM gcr.io/distroless/java21-debian12:latest@sha256:418b2e2a9e452aa9299511427f2
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM scratch
COPY --link --from=base / /
COPY --link --from=build --chmod=0644 --chown=root:root /build/protoc-gen-grpc-kotlin.jar .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT [ "/usr/bin/java", "-jar", "/protoc-gen-grpc-kotlin.jar" ]
diff --git a/plugins/grpc/kotlin/v1.5.0/pom.xml b/plugins/grpc/kotlin/v1.5.0/pom.xml
index 6e18f9727..c5ec4d737 100644
--- a/plugins/grpc/kotlin/v1.5.0/pom.xml
+++ b/plugins/grpc/kotlin/v1.5.0/pom.xml
@@ -70,16 +70,10 @@
protobuf-kotlin-lite
4.32.0
+
+ org.jetbrains.kotlin
+ kotlin-maven-plugin
+ 2.2.20
+
-
-
-
- org.jetbrains.kotlin
- kotlin-maven-plugin
- 2.2.20
-
-
-
-
-
diff --git a/plugins/protocolbuffers/java/v33.5/Dockerfile b/plugins/protocolbuffers/java/v33.5/Dockerfile
index 06b3381cb..c68fe6e65 100644
--- a/plugins/protocolbuffers/java/v33.5/Dockerfile
+++ b/plugins/protocolbuffers/java/v33.5/Dockerfile
@@ -25,11 +25,11 @@ FROM gcr.io/distroless/cc-debian12:latest@sha256:72344f7f909a8bf003c67f55687e6d5
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM scratch
COPY --from=base --link / /
COPY --from=build --link --chmod=0755 /build/bazel-bin/plugins/protoc-gen-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT ["/protoc-gen-java"]
diff --git a/plugins/protocolbuffers/java/v34.0/Dockerfile b/plugins/protocolbuffers/java/v34.0/Dockerfile
index 5d55d245d..0c195208d 100644
--- a/plugins/protocolbuffers/java/v34.0/Dockerfile
+++ b/plugins/protocolbuffers/java/v34.0/Dockerfile
@@ -25,11 +25,11 @@ FROM gcr.io/distroless/cc-debian12:latest@sha256:329e54034ce498f9c6b345044e8f530
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM scratch
COPY --from=base --link / /
COPY --from=build --link --chmod=0755 /build/bazel-bin/plugins/protoc-gen-java .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT ["/protoc-gen-java"]
diff --git a/plugins/protocolbuffers/kotlin/v33.5/Dockerfile b/plugins/protocolbuffers/kotlin/v33.5/Dockerfile
index 82e22f49f..3ee1477fd 100644
--- a/plugins/protocolbuffers/kotlin/v33.5/Dockerfile
+++ b/plugins/protocolbuffers/kotlin/v33.5/Dockerfile
@@ -25,11 +25,11 @@ FROM gcr.io/distroless/cc-debian12:latest@sha256:72344f7f909a8bf003c67f55687e6d5
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM scratch
COPY --from=base --link / /
COPY --from=build --link --chmod=0755 /build/bazel-bin/plugins/protoc-gen-kotlin .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT ["/protoc-gen-kotlin"]
diff --git a/plugins/protocolbuffers/kotlin/v33.5/pom.xml b/plugins/protocolbuffers/kotlin/v33.5/pom.xml
index ca57d2f7f..7e487fc77 100644
--- a/plugins/protocolbuffers/kotlin/v33.5/pom.xml
+++ b/plugins/protocolbuffers/kotlin/v33.5/pom.xml
@@ -40,16 +40,10 @@
protobuf-javalite
4.33.5
+
+ org.jetbrains.kotlin
+ kotlin-maven-plugin
+ 1.8.22
+
-
-
-
- org.jetbrains.kotlin
- kotlin-maven-plugin
- 1.8.22
-
-
-
-
-
diff --git a/plugins/protocolbuffers/kotlin/v34.0/Dockerfile b/plugins/protocolbuffers/kotlin/v34.0/Dockerfile
index c61b0c174..f0a6df397 100644
--- a/plugins/protocolbuffers/kotlin/v34.0/Dockerfile
+++ b/plugins/protocolbuffers/kotlin/v34.0/Dockerfile
@@ -25,11 +25,11 @@ FROM gcr.io/distroless/cc-debian12:latest@sha256:329e54034ce498f9c6b345044e8f530
FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
-RUN cd /tmp && mvn -f pom.xml dependency:go-offline
+RUN cd /tmp && mvn -f pom.xml dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -DoutputDirectory=/maven-repository && cd /root/.m2/repository && find . -name '*.pom' -exec cp --parents -t /maven-repository {} +
FROM scratch
COPY --from=base --link / /
COPY --from=build --link --chmod=0755 /build/bazel-bin/plugins/protoc-gen-kotlin .
-COPY --from=maven-deps /root/.m2/repository /maven-repository
+COPY --from=maven-deps /maven-repository /maven-repository
USER nobody
ENTRYPOINT ["/protoc-gen-kotlin"]
diff --git a/plugins/protocolbuffers/kotlin/v34.0/pom.xml b/plugins/protocolbuffers/kotlin/v34.0/pom.xml
index 381f5526d..743abee00 100644
--- a/plugins/protocolbuffers/kotlin/v34.0/pom.xml
+++ b/plugins/protocolbuffers/kotlin/v34.0/pom.xml
@@ -40,16 +40,10 @@
protobuf-javalite
4.34.0
+
+ org.jetbrains.kotlin
+ kotlin-maven-plugin
+ 1.8.22
+
-
-
-
- org.jetbrains.kotlin
- kotlin-maven-plugin
- 1.8.22
-
-
-
-
-