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 - - - - -