diff --git a/plugins/protocolbuffers/cpp/v33.0/.dockerignore b/plugins/protocolbuffers/cpp/v33.0/.dockerignore new file mode 100644 index 000000000..c80455688 --- /dev/null +++ b/plugins/protocolbuffers/cpp/v33.0/.dockerignore @@ -0,0 +1,4 @@ +* +!BUILD +!cpp.cc +!Dockerfile diff --git a/plugins/protocolbuffers/cpp/v33.0/BUILD b/plugins/protocolbuffers/cpp/v33.0/BUILD new file mode 100644 index 000000000..3cacc9e33 --- /dev/null +++ b/plugins/protocolbuffers/cpp/v33.0/BUILD @@ -0,0 +1,7 @@ +cc_binary( + name = "protoc-gen-cpp", + srcs = ["cpp.cc"], + deps = [ + "//:protoc_lib", + ], +) diff --git a/plugins/protocolbuffers/cpp/v33.0/Dockerfile b/plugins/protocolbuffers/cpp/v33.0/Dockerfile new file mode 100644 index 000000000..5668c788d --- /dev/null +++ b/plugins/protocolbuffers/cpp/v33.0/Dockerfile @@ -0,0 +1,30 @@ +# syntax=docker/dockerfile:1.19 +FROM debian:bookworm-20250929 AS build + +ARG TARGETARCH +ARG BAZEL_OPTS="--host_jvm_args=-Djava.net.preferIPv4Stack=true" + +RUN apt-get update \ + && apt-get install -y curl git cmake build-essential autoconf clang libc++-dev libtool pkg-config unzip zip +RUN curl -fsSL -o /usr/local/bin/bazelisk https://github.com/bazelbuild/bazelisk/releases/download/v1.25.0/bazelisk-linux-${TARGETARCH} \ + && chmod +x /usr/local/bin/bazelisk \ + && mkdir /build \ + && chown nobody:nogroup /build \ + && usermod --home /build nobody + +USER nobody +WORKDIR /build +RUN curl -fsSL -o protoc.tar.gz https://github.com/protocolbuffers/protobuf/releases/download/v33.0/protobuf-33.0.tar.gz \ + && tar --strip-components=1 -zxf protoc.tar.gz \ + && rm protoc.tar.gz +RUN bazelisk ${BAZEL_OPTS} build '//:protoc_lib' +COPY --link BUILD cpp.cc plugins/ +RUN bazelisk ${BAZEL_OPTS} build '//plugins:protoc-gen-cpp.stripped' + +FROM gcr.io/distroless/cc-debian12:latest@sha256:0000f9dc0290f8eaf0ecceafbc35e803649087ea7879570fbc78372df7ac649b AS base + +FROM scratch +COPY --from=base --link / / +COPY --from=build --link --chmod=0755 /build/bazel-bin/plugins/protoc-gen-cpp . +USER nobody +ENTRYPOINT ["/protoc-gen-cpp"] diff --git a/plugins/protocolbuffers/cpp/v33.0/buf.plugin.yaml b/plugins/protocolbuffers/cpp/v33.0/buf.plugin.yaml new file mode 100644 index 000000000..c3f9ff856 --- /dev/null +++ b/plugins/protocolbuffers/cpp/v33.0/buf.plugin.yaml @@ -0,0 +1,11 @@ +version: v1 +name: buf.build/protocolbuffers/cpp +plugin_version: v33.0 +source_url: https://github.com/protocolbuffers/protobuf +description: Base types for C++. Generates message and enum types. +output_languages: + - cpp +spdx_license_id: BSD-3-Clause +license_url: https://github.com/protocolbuffers/protobuf/blob/v33.0/LICENSE +registry: + cmake: {} diff --git a/plugins/protocolbuffers/cpp/v33.0/cpp.cc b/plugins/protocolbuffers/cpp/v33.0/cpp.cc new file mode 100644 index 000000000..a3c5da56f --- /dev/null +++ b/plugins/protocolbuffers/cpp/v33.0/cpp.cc @@ -0,0 +1,7 @@ +#include +#include + +int main(int argc, char *argv[]) { + google::protobuf::compiler::cpp::CppGenerator generator; + return google::protobuf::compiler::PluginMain(argc, argv, &generator); +} diff --git a/plugins/protocolbuffers/csharp/v33.0/.dockerignore b/plugins/protocolbuffers/csharp/v33.0/.dockerignore new file mode 100644 index 000000000..71e50a495 --- /dev/null +++ b/plugins/protocolbuffers/csharp/v33.0/.dockerignore @@ -0,0 +1,5 @@ +* +!BUILD +!csharp.cc +!Dockerfile +!build.csproj diff --git a/plugins/protocolbuffers/csharp/v33.0/BUILD b/plugins/protocolbuffers/csharp/v33.0/BUILD new file mode 100644 index 000000000..c68d051e0 --- /dev/null +++ b/plugins/protocolbuffers/csharp/v33.0/BUILD @@ -0,0 +1,7 @@ +cc_binary( + name = "protoc-gen-csharp", + srcs = ["csharp.cc"], + deps = [ + "//:protoc_lib", + ], +) diff --git a/plugins/protocolbuffers/csharp/v33.0/Dockerfile b/plugins/protocolbuffers/csharp/v33.0/Dockerfile new file mode 100644 index 000000000..58da5f621 --- /dev/null +++ b/plugins/protocolbuffers/csharp/v33.0/Dockerfile @@ -0,0 +1,36 @@ +# syntax=docker/dockerfile:1.19 +FROM debian:bookworm-20250929 AS build + +ARG TARGETARCH +ARG BAZEL_OPTS="--host_jvm_args=-Djava.net.preferIPv4Stack=true" + +RUN apt-get update \ + && apt-get install -y curl git cmake build-essential autoconf clang libc++-dev libtool pkg-config unzip zip +RUN curl -fsSL -o /usr/local/bin/bazelisk https://github.com/bazelbuild/bazelisk/releases/download/v1.25.0/bazelisk-linux-${TARGETARCH} \ + && chmod +x /usr/local/bin/bazelisk \ + && mkdir /build \ + && chown nobody:nogroup /build \ + && usermod --home /build nobody + +USER nobody +WORKDIR /build +RUN curl -fsSL -o protoc.tar.gz https://github.com/protocolbuffers/protobuf/releases/download/v33.0/protobuf-33.0.tar.gz \ + && tar --strip-components=1 -zxf protoc.tar.gz \ + && rm protoc.tar.gz +RUN bazelisk ${BAZEL_OPTS} build '//:protoc_lib' +COPY --link BUILD csharp.cc plugins/ +RUN bazelisk ${BAZEL_OPTS} build '//plugins:protoc-gen-csharp.stripped' + +FROM mcr.microsoft.com/dotnet/sdk:8.0.415-bookworm-slim@sha256:df1aebc5fd72a1315f34eda24206f195d5ca00ccf2e3009947a74c5a67166cbb AS dotnetrestore +WORKDIR /build +COPY --link ./build.csproj /build/build.csproj +RUN mkdir /nuget && dotnet restore --packages /nuget + +FROM gcr.io/distroless/cc-debian12:latest@sha256:0000f9dc0290f8eaf0ecceafbc35e803649087ea7879570fbc78372df7ac649b AS base + +FROM scratch +COPY --from=base --link / / +COPY --link --from=dotnetrestore /nuget /nuget +COPY --from=build --link --chmod=0755 /build/bazel-bin/plugins/protoc-gen-csharp . +USER nobody +ENTRYPOINT ["/protoc-gen-csharp"] diff --git a/plugins/protocolbuffers/csharp/v33.0/buf.plugin.yaml b/plugins/protocolbuffers/csharp/v33.0/buf.plugin.yaml new file mode 100644 index 000000000..6822b0b35 --- /dev/null +++ b/plugins/protocolbuffers/csharp/v33.0/buf.plugin.yaml @@ -0,0 +1,18 @@ +version: v1 +name: buf.build/protocolbuffers/csharp +plugin_version: v33.0 +source_url: https://github.com/protocolbuffers/protobuf +description: Base types for C#. Generates message and enum types. +output_languages: + - csharp +spdx_license_id: BSD-3-Clause +license_url: https://github.com/protocolbuffers/protobuf/blob/v33.0/LICENSE +registry: + opts: + - base_namespace= + nuget: + target_frameworks: + - netstandard2.0 + deps: + - name: Google.Protobuf + version: 3.33.0 diff --git a/plugins/protocolbuffers/csharp/v33.0/build.csproj b/plugins/protocolbuffers/csharp/v33.0/build.csproj new file mode 100644 index 000000000..b5e543075 --- /dev/null +++ b/plugins/protocolbuffers/csharp/v33.0/build.csproj @@ -0,0 +1,8 @@ + + + netstandard2.0 + + + + + diff --git a/plugins/protocolbuffers/csharp/v33.0/csharp.cc b/plugins/protocolbuffers/csharp/v33.0/csharp.cc new file mode 100644 index 000000000..a82366018 --- /dev/null +++ b/plugins/protocolbuffers/csharp/v33.0/csharp.cc @@ -0,0 +1,7 @@ +#include +#include + +int main(int argc, char *argv[]) { + google::protobuf::compiler::csharp::Generator generator; + return google::protobuf::compiler::PluginMain(argc, argv, &generator); +} diff --git a/plugins/protocolbuffers/java/v33.0/.dockerignore b/plugins/protocolbuffers/java/v33.0/.dockerignore new file mode 100644 index 000000000..9612bcbe0 --- /dev/null +++ b/plugins/protocolbuffers/java/v33.0/.dockerignore @@ -0,0 +1,4 @@ +* +!BUILD +!Dockerfile +!java.cc diff --git a/plugins/protocolbuffers/java/v33.0/BUILD b/plugins/protocolbuffers/java/v33.0/BUILD new file mode 100644 index 000000000..34a738a84 --- /dev/null +++ b/plugins/protocolbuffers/java/v33.0/BUILD @@ -0,0 +1,7 @@ +cc_binary( + name = "protoc-gen-java", + srcs = ["java.cc"], + deps = [ + "//:protoc_lib", + ], +) diff --git a/plugins/protocolbuffers/java/v33.0/Dockerfile b/plugins/protocolbuffers/java/v33.0/Dockerfile new file mode 100644 index 000000000..bba59a3d3 --- /dev/null +++ b/plugins/protocolbuffers/java/v33.0/Dockerfile @@ -0,0 +1,30 @@ +# syntax=docker/dockerfile:1.19 +FROM debian:bookworm-20250929 AS build + +ARG TARGETARCH +ARG BAZEL_OPTS="--host_jvm_args=-Djava.net.preferIPv4Stack=true" + +RUN apt-get update \ + && apt-get install -y curl git cmake build-essential autoconf clang libc++-dev libtool pkg-config unzip zip +RUN curl -fsSL -o /usr/local/bin/bazelisk https://github.com/bazelbuild/bazelisk/releases/download/v1.25.0/bazelisk-linux-${TARGETARCH} \ + && chmod +x /usr/local/bin/bazelisk \ + && mkdir /build \ + && chown nobody:nogroup /build \ + && usermod --home /build nobody + +USER nobody +WORKDIR /build +RUN curl -fsSL -o protoc.tar.gz https://github.com/protocolbuffers/protobuf/releases/download/v33.0/protobuf-33.0.tar.gz \ + && tar --strip-components=1 -zxf protoc.tar.gz \ + && rm protoc.tar.gz +RUN bazelisk ${BAZEL_OPTS} build '//:protoc_lib' +COPY --link BUILD java.cc plugins/ +RUN bazelisk ${BAZEL_OPTS} build '//plugins:protoc-gen-java.stripped' + +FROM gcr.io/distroless/cc-debian12:latest@sha256:0000f9dc0290f8eaf0ecceafbc35e803649087ea7879570fbc78372df7ac649b AS base + +FROM scratch +COPY --from=base --link / / +COPY --from=build --link --chmod=0755 /build/bazel-bin/plugins/protoc-gen-java . +USER nobody +ENTRYPOINT ["/protoc-gen-java"] diff --git a/plugins/protocolbuffers/java/v33.0/buf.plugin.yaml b/plugins/protocolbuffers/java/v33.0/buf.plugin.yaml new file mode 100644 index 000000000..a461e187e --- /dev/null +++ b/plugins/protocolbuffers/java/v33.0/buf.plugin.yaml @@ -0,0 +1,19 @@ +version: v1 +name: buf.build/protocolbuffers/java +plugin_version: v33.0 +source_url: https://github.com/protocolbuffers/protobuf +description: Base types for Java. Generates message and enum types. +output_languages: + - java +spdx_license_id: BSD-3-Clause +license_url: https://github.com/protocolbuffers/protobuf/blob/v33.0/LICENSE +registry: + maven: + deps: + - com.google.protobuf:protobuf-java:4.33.0 + additional_runtimes: + - name: lite + deps: + - com.google.protobuf:protobuf-javalite:4.33.0 + - build.buf:protobuf-javalite:4.33.0 + opts: [lite] diff --git a/plugins/protocolbuffers/java/v33.0/java.cc b/plugins/protocolbuffers/java/v33.0/java.cc new file mode 100644 index 000000000..bd5cb1386 --- /dev/null +++ b/plugins/protocolbuffers/java/v33.0/java.cc @@ -0,0 +1,7 @@ +#include +#include + +int main(int argc, char *argv[]) { + google::protobuf::compiler::java::JavaGenerator generator; + return google::protobuf::compiler::PluginMain(argc, argv, &generator); +} diff --git a/plugins/protocolbuffers/kotlin/v33.0/.dockerignore b/plugins/protocolbuffers/kotlin/v33.0/.dockerignore new file mode 100644 index 000000000..d02a40d82 --- /dev/null +++ b/plugins/protocolbuffers/kotlin/v33.0/.dockerignore @@ -0,0 +1,4 @@ +* +!BUILD +!Dockerfile +!kotlin.cc diff --git a/plugins/protocolbuffers/kotlin/v33.0/BUILD b/plugins/protocolbuffers/kotlin/v33.0/BUILD new file mode 100644 index 000000000..340328b4c --- /dev/null +++ b/plugins/protocolbuffers/kotlin/v33.0/BUILD @@ -0,0 +1,7 @@ +cc_binary( + name = "protoc-gen-kotlin", + srcs = ["kotlin.cc"], + deps = [ + "//:protoc_lib", + ], +) diff --git a/plugins/protocolbuffers/kotlin/v33.0/Dockerfile b/plugins/protocolbuffers/kotlin/v33.0/Dockerfile new file mode 100644 index 000000000..b9f3acd89 --- /dev/null +++ b/plugins/protocolbuffers/kotlin/v33.0/Dockerfile @@ -0,0 +1,30 @@ +# syntax=docker/dockerfile:1.19 +FROM debian:bookworm-20250929 AS build + +ARG TARGETARCH +ARG BAZEL_OPTS="--host_jvm_args=-Djava.net.preferIPv4Stack=true" + +RUN apt-get update \ + && apt-get install -y curl git cmake build-essential autoconf clang libc++-dev libtool pkg-config unzip zip +RUN curl -fsSL -o /usr/local/bin/bazelisk https://github.com/bazelbuild/bazelisk/releases/download/v1.25.0/bazelisk-linux-${TARGETARCH} \ + && chmod +x /usr/local/bin/bazelisk \ + && mkdir /build \ + && chown nobody:nogroup /build \ + && usermod --home /build nobody + +USER nobody +WORKDIR /build +RUN curl -fsSL -o protoc.tar.gz https://github.com/protocolbuffers/protobuf/releases/download/v33.0/protobuf-33.0.tar.gz \ + && tar --strip-components=1 -zxf protoc.tar.gz \ + && rm protoc.tar.gz +RUN bazelisk ${BAZEL_OPTS} build '//:protoc_lib' +COPY --link BUILD kotlin.cc plugins/ +RUN bazelisk ${BAZEL_OPTS} build '//plugins:protoc-gen-kotlin.stripped' + +FROM gcr.io/distroless/cc-debian12:latest@sha256:0000f9dc0290f8eaf0ecceafbc35e803649087ea7879570fbc78372df7ac649b AS base + +FROM scratch +COPY --from=base --link / / +COPY --from=build --link --chmod=0755 /build/bazel-bin/plugins/protoc-gen-kotlin . +USER nobody +ENTRYPOINT ["/protoc-gen-kotlin"] diff --git a/plugins/protocolbuffers/kotlin/v33.0/buf.plugin.yaml b/plugins/protocolbuffers/kotlin/v33.0/buf.plugin.yaml new file mode 100644 index 000000000..f5387d15c --- /dev/null +++ b/plugins/protocolbuffers/kotlin/v33.0/buf.plugin.yaml @@ -0,0 +1,27 @@ +version: v1 +name: buf.build/protocolbuffers/kotlin +plugin_version: v33.0 +source_url: https://github.com/protocolbuffers/protobuf +integration_guide_url: https://protobuf.dev/getting-started/kotlintutorial +description: Base types for Kotlin. Generates message and enum types. +deps: + - plugin: buf.build/protocolbuffers/java:v33.0 +output_languages: + - kotlin +spdx_license_id: BSD-3-Clause +license_url: https://github.com/protocolbuffers/protobuf/blob/v33.0/LICENSE +registry: + maven: + compiler: + kotlin: + version: 1.8.22 + deps: + - com.google.protobuf:protobuf-kotlin:4.33.0 + - org.jetbrains.kotlin:kotlin-stdlib:1.8.22 + - org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 + additional_runtimes: + - name: lite + deps: + - com.google.protobuf:protobuf-kotlin-lite:4.33.0 + - org.jetbrains.kotlin:kotlin-stdlib:1.8.22 + opts: [lite] diff --git a/plugins/protocolbuffers/kotlin/v33.0/kotlin.cc b/plugins/protocolbuffers/kotlin/v33.0/kotlin.cc new file mode 100644 index 000000000..b43851764 --- /dev/null +++ b/plugins/protocolbuffers/kotlin/v33.0/kotlin.cc @@ -0,0 +1,7 @@ +#include +#include + +int main(int argc, char *argv[]) { + google::protobuf::compiler::kotlin::KotlinGenerator generator; + return google::protobuf::compiler::PluginMain(argc, argv, &generator); +} diff --git a/plugins/protocolbuffers/objc/v33.0/.dockerignore b/plugins/protocolbuffers/objc/v33.0/.dockerignore new file mode 100644 index 000000000..28438c51d --- /dev/null +++ b/plugins/protocolbuffers/objc/v33.0/.dockerignore @@ -0,0 +1,4 @@ +* +!BUILD +!Dockerfile +!objectivec.cc diff --git a/plugins/protocolbuffers/objc/v33.0/BUILD b/plugins/protocolbuffers/objc/v33.0/BUILD new file mode 100644 index 000000000..cc22935a3 --- /dev/null +++ b/plugins/protocolbuffers/objc/v33.0/BUILD @@ -0,0 +1,7 @@ +cc_binary( + name = "protoc-gen-objectivec", + srcs = ["objectivec.cc"], + deps = [ + "//:protoc_lib", + ], +) diff --git a/plugins/protocolbuffers/objc/v33.0/Dockerfile b/plugins/protocolbuffers/objc/v33.0/Dockerfile new file mode 100644 index 000000000..2ec5f8fc5 --- /dev/null +++ b/plugins/protocolbuffers/objc/v33.0/Dockerfile @@ -0,0 +1,30 @@ +# syntax=docker/dockerfile:1.19 +FROM debian:bookworm-20250929 AS build + +ARG TARGETARCH +ARG BAZEL_OPTS="--host_jvm_args=-Djava.net.preferIPv4Stack=true" + +RUN apt-get update \ + && apt-get install -y curl git cmake build-essential autoconf clang libc++-dev libtool pkg-config unzip zip +RUN curl -fsSL -o /usr/local/bin/bazelisk https://github.com/bazelbuild/bazelisk/releases/download/v1.25.0/bazelisk-linux-${TARGETARCH} \ + && chmod +x /usr/local/bin/bazelisk \ + && mkdir /build \ + && chown nobody:nogroup /build \ + && usermod --home /build nobody + +USER nobody +WORKDIR /build +RUN curl -fsSL -o protoc.tar.gz https://github.com/protocolbuffers/protobuf/releases/download/v33.0/protobuf-33.0.tar.gz \ + && tar --strip-components=1 -zxf protoc.tar.gz \ + && rm protoc.tar.gz +RUN bazelisk ${BAZEL_OPTS} build '//:protoc_lib' +COPY --link BUILD objectivec.cc plugins/ +RUN bazelisk ${BAZEL_OPTS} build '//plugins:protoc-gen-objectivec.stripped' + +FROM gcr.io/distroless/cc-debian12:latest@sha256:0000f9dc0290f8eaf0ecceafbc35e803649087ea7879570fbc78372df7ac649b AS base + +FROM scratch +COPY --from=base --link / / +COPY --from=build --link --chmod=0755 /build/bazel-bin/plugins/protoc-gen-objectivec . +USER nobody +ENTRYPOINT ["/protoc-gen-objectivec"] diff --git a/plugins/protocolbuffers/objc/v33.0/buf.plugin.yaml b/plugins/protocolbuffers/objc/v33.0/buf.plugin.yaml new file mode 100644 index 000000000..ed3b3c68c --- /dev/null +++ b/plugins/protocolbuffers/objc/v33.0/buf.plugin.yaml @@ -0,0 +1,9 @@ +version: v1 +name: buf.build/protocolbuffers/objc +plugin_version: v33.0 +source_url: https://github.com/protocolbuffers/protobuf +description: Base types for Objective-C. Generates message and enum types. +output_languages: + - objective_c +spdx_license_id: BSD-3-Clause +license_url: https://github.com/protocolbuffers/protobuf/blob/v33.0/LICENSE diff --git a/plugins/protocolbuffers/objc/v33.0/objectivec.cc b/plugins/protocolbuffers/objc/v33.0/objectivec.cc new file mode 100644 index 000000000..1fda20829 --- /dev/null +++ b/plugins/protocolbuffers/objc/v33.0/objectivec.cc @@ -0,0 +1,7 @@ +#include +#include + +int main(int argc, char *argv[]) { + google::protobuf::compiler::objectivec::ObjectiveCGenerator generator; + return google::protobuf::compiler::PluginMain(argc, argv, &generator); +} diff --git a/plugins/protocolbuffers/php/v33.0/.dockerignore b/plugins/protocolbuffers/php/v33.0/.dockerignore new file mode 100644 index 000000000..1cc459074 --- /dev/null +++ b/plugins/protocolbuffers/php/v33.0/.dockerignore @@ -0,0 +1,4 @@ +* +!BUILD +!Dockerfile +!php.cc diff --git a/plugins/protocolbuffers/php/v33.0/BUILD b/plugins/protocolbuffers/php/v33.0/BUILD new file mode 100644 index 000000000..a813f9104 --- /dev/null +++ b/plugins/protocolbuffers/php/v33.0/BUILD @@ -0,0 +1,7 @@ +cc_binary( + name = "protoc-gen-php", + srcs = ["php.cc"], + deps = [ + "//:protoc_lib", + ], +) diff --git a/plugins/protocolbuffers/php/v33.0/Dockerfile b/plugins/protocolbuffers/php/v33.0/Dockerfile new file mode 100644 index 000000000..0ad60d711 --- /dev/null +++ b/plugins/protocolbuffers/php/v33.0/Dockerfile @@ -0,0 +1,30 @@ +# syntax=docker/dockerfile:1.19 +FROM debian:bookworm-20250929 AS build + +ARG TARGETARCH +ARG BAZEL_OPTS="--host_jvm_args=-Djava.net.preferIPv4Stack=true" + +RUN apt-get update \ + && apt-get install -y curl git cmake build-essential autoconf clang libc++-dev libtool pkg-config unzip zip +RUN curl -fsSL -o /usr/local/bin/bazelisk https://github.com/bazelbuild/bazelisk/releases/download/v1.25.0/bazelisk-linux-${TARGETARCH} \ + && chmod +x /usr/local/bin/bazelisk \ + && mkdir /build \ + && chown nobody:nogroup /build \ + && usermod --home /build nobody + +USER nobody +WORKDIR /build +RUN curl -fsSL -o protoc.tar.gz https://github.com/protocolbuffers/protobuf/releases/download/v33.0/protobuf-33.0.tar.gz \ + && tar --strip-components=1 -zxf protoc.tar.gz \ + && rm protoc.tar.gz +RUN bazelisk ${BAZEL_OPTS} build '//:protoc_lib' +COPY --link BUILD php.cc plugins/ +RUN bazelisk ${BAZEL_OPTS} build '//plugins:protoc-gen-php.stripped' + +FROM gcr.io/distroless/cc-debian12:latest@sha256:0000f9dc0290f8eaf0ecceafbc35e803649087ea7879570fbc78372df7ac649b AS base + +FROM scratch +COPY --from=base / / +COPY --from=build --link --chmod=0755 /build/bazel-bin/plugins/protoc-gen-php . +USER nobody +ENTRYPOINT ["/protoc-gen-php"] diff --git a/plugins/protocolbuffers/php/v33.0/buf.plugin.yaml b/plugins/protocolbuffers/php/v33.0/buf.plugin.yaml new file mode 100644 index 000000000..b8309467a --- /dev/null +++ b/plugins/protocolbuffers/php/v33.0/buf.plugin.yaml @@ -0,0 +1,9 @@ +version: v1 +name: buf.build/protocolbuffers/php +plugin_version: v33.0 +source_url: https://github.com/protocolbuffers/protobuf +description: Base types for PHP. Generates message and enum types. +output_languages: + - php +spdx_license_id: BSD-3-Clause +license_url: https://github.com/protocolbuffers/protobuf/blob/v33.0/LICENSE diff --git a/plugins/protocolbuffers/php/v33.0/php.cc b/plugins/protocolbuffers/php/v33.0/php.cc new file mode 100644 index 000000000..107efe882 --- /dev/null +++ b/plugins/protocolbuffers/php/v33.0/php.cc @@ -0,0 +1,7 @@ +#include +#include + +int main(int argc, char *argv[]) { + google::protobuf::compiler::php::Generator generator; + return google::protobuf::compiler::PluginMain(argc, argv, &generator); +} diff --git a/plugins/protocolbuffers/pyi/v33.0/.dockerignore b/plugins/protocolbuffers/pyi/v33.0/.dockerignore new file mode 100644 index 000000000..54ca5b118 --- /dev/null +++ b/plugins/protocolbuffers/pyi/v33.0/.dockerignore @@ -0,0 +1,4 @@ +* +!BUILD +!Dockerfile +!pyi.cc diff --git a/plugins/protocolbuffers/pyi/v33.0/BUILD b/plugins/protocolbuffers/pyi/v33.0/BUILD new file mode 100644 index 000000000..89eebd092 --- /dev/null +++ b/plugins/protocolbuffers/pyi/v33.0/BUILD @@ -0,0 +1,8 @@ +# Create a standalone binary to generate Python .pyi files +cc_binary( + name = "protoc-gen-pyi", + srcs = ["pyi.cc"], + deps = [ + "//:protoc_lib", + ], +) diff --git a/plugins/protocolbuffers/pyi/v33.0/Dockerfile b/plugins/protocolbuffers/pyi/v33.0/Dockerfile new file mode 100644 index 000000000..f5db4b211 --- /dev/null +++ b/plugins/protocolbuffers/pyi/v33.0/Dockerfile @@ -0,0 +1,30 @@ +# syntax=docker/dockerfile:1.19 +FROM debian:bookworm-20250929 AS build + +ARG TARGETARCH +ARG BAZEL_OPTS="--host_jvm_args=-Djava.net.preferIPv4Stack=true" + +RUN apt-get update \ + && apt-get install -y curl git cmake build-essential autoconf clang libc++-dev libtool pkg-config unzip zip +RUN curl -fsSL -o /usr/local/bin/bazelisk https://github.com/bazelbuild/bazelisk/releases/download/v1.25.0/bazelisk-linux-${TARGETARCH} \ + && chmod +x /usr/local/bin/bazelisk \ + && mkdir /build \ + && chown nobody:nogroup /build \ + && usermod --home /build nobody + +USER nobody +WORKDIR /build +RUN curl -fsSL -o protoc.tar.gz https://github.com/protocolbuffers/protobuf/releases/download/v33.0/protobuf-33.0.tar.gz \ + && tar --strip-components=1 -zxf protoc.tar.gz \ + && rm protoc.tar.gz +RUN bazelisk ${BAZEL_OPTS} build '//:protoc_lib' +COPY BUILD pyi.cc plugins/ +RUN bazelisk ${BAZEL_OPTS} build '//plugins:protoc-gen-pyi.stripped' + +FROM gcr.io/distroless/cc-debian12:latest@sha256:0000f9dc0290f8eaf0ecceafbc35e803649087ea7879570fbc78372df7ac649b AS base + +FROM scratch +COPY --from=base / / +COPY --from=build --link --chmod=0755 /build/bazel-bin/plugins/protoc-gen-pyi . +USER nobody +ENTRYPOINT ["/protoc-gen-pyi"] diff --git a/plugins/protocolbuffers/pyi/v33.0/buf.plugin.yaml b/plugins/protocolbuffers/pyi/v33.0/buf.plugin.yaml new file mode 100644 index 000000000..c211a1008 --- /dev/null +++ b/plugins/protocolbuffers/pyi/v33.0/buf.plugin.yaml @@ -0,0 +1,19 @@ +version: v1 +name: buf.build/protocolbuffers/pyi +plugin_version: v33.0 +source_url: https://github.com/protocolbuffers/protobuf +description: Base types for Python Stubs. Generates stub files for message and enum types. +output_languages: + - python +spdx_license_id: BSD-3-Clause +license_url: https://github.com/protocolbuffers/protobuf/blob/v33.0/LICENSE +registry: + python: + package_type: "stub-only" + # https://github.com/protocolbuffers/protobuf/blob/v33.0/python/dist/setup.py#L91 + requires_python: ">=3.9" + deps: + # https://pypi.org/project/protobuf/ + - "protobuf>=3.20" + # https://pypi.org/project/types-protobuf/ + - "types-protobuf" diff --git a/plugins/protocolbuffers/pyi/v33.0/pyi.cc b/plugins/protocolbuffers/pyi/v33.0/pyi.cc new file mode 100644 index 000000000..4d32abebf --- /dev/null +++ b/plugins/protocolbuffers/pyi/v33.0/pyi.cc @@ -0,0 +1,8 @@ +#include +#include + +// Standalone binary to generate Python .pyi files +int main(int argc, char *argv[]) { + google::protobuf::compiler::python::PyiGenerator generator; + return google::protobuf::compiler::PluginMain(argc, argv, &generator); +} diff --git a/plugins/protocolbuffers/python/v33.0/.dockerignore b/plugins/protocolbuffers/python/v33.0/.dockerignore new file mode 100644 index 000000000..ee7c3bab2 --- /dev/null +++ b/plugins/protocolbuffers/python/v33.0/.dockerignore @@ -0,0 +1,4 @@ +* +!BUILD +!Dockerfile +!python.cc diff --git a/plugins/protocolbuffers/python/v33.0/BUILD b/plugins/protocolbuffers/python/v33.0/BUILD new file mode 100644 index 000000000..013f4312b --- /dev/null +++ b/plugins/protocolbuffers/python/v33.0/BUILD @@ -0,0 +1,7 @@ +cc_binary( + name = "protoc-gen-python", + srcs = ["python.cc"], + deps = [ + "//:protoc_lib", + ], +) diff --git a/plugins/protocolbuffers/python/v33.0/Dockerfile b/plugins/protocolbuffers/python/v33.0/Dockerfile new file mode 100644 index 000000000..09c337abe --- /dev/null +++ b/plugins/protocolbuffers/python/v33.0/Dockerfile @@ -0,0 +1,30 @@ +# syntax=docker/dockerfile:1.19 +FROM debian:bookworm-20250929 AS build + +ARG TARGETARCH +ARG BAZEL_OPTS="--host_jvm_args=-Djava.net.preferIPv4Stack=true" + +RUN apt-get update \ + && apt-get install -y curl git cmake build-essential autoconf clang libc++-dev libtool pkg-config unzip zip +RUN curl -fsSL -o /usr/local/bin/bazelisk https://github.com/bazelbuild/bazelisk/releases/download/v1.25.0/bazelisk-linux-${TARGETARCH} \ + && chmod +x /usr/local/bin/bazelisk \ + && mkdir /build \ + && chown nobody:nogroup /build \ + && usermod --home /build nobody + +USER nobody +WORKDIR /build +RUN curl -fsSL -o protoc.tar.gz https://github.com/protocolbuffers/protobuf/releases/download/v33.0/protobuf-33.0.tar.gz \ + && tar --strip-components=1 -zxf protoc.tar.gz \ + && rm protoc.tar.gz +RUN bazelisk ${BAZEL_OPTS} build '//:protoc_lib' +COPY --link BUILD python.cc plugins/ +RUN bazelisk ${BAZEL_OPTS} build '//plugins:protoc-gen-python.stripped' + +FROM gcr.io/distroless/cc-debian12:latest@sha256:0000f9dc0290f8eaf0ecceafbc35e803649087ea7879570fbc78372df7ac649b AS base + +FROM scratch +COPY --from=base --link / / +COPY --from=build --link --chmod=0755 /build/bazel-bin/plugins/protoc-gen-python . +USER nobody +ENTRYPOINT ["/protoc-gen-python"] diff --git a/plugins/protocolbuffers/python/v33.0/buf.plugin.yaml b/plugins/protocolbuffers/python/v33.0/buf.plugin.yaml new file mode 100644 index 000000000..ff70c6315 --- /dev/null +++ b/plugins/protocolbuffers/python/v33.0/buf.plugin.yaml @@ -0,0 +1,19 @@ +version: v1 +name: buf.build/protocolbuffers/python +plugin_version: v33.0 +source_url: https://github.com/protocolbuffers/protobuf +description: Base types for Python. Generates message and enum types. +deps: + - plugin: buf.build/protocolbuffers/pyi:v33.0 +output_languages: + - python +spdx_license_id: BSD-3-Clause +license_url: https://github.com/protocolbuffers/protobuf/blob/v33.0/LICENSE +registry: + python: + package_type: "runtime" + # https://github.com/protocolbuffers/protobuf/blob/v33.0/python/dist/setup.py#L91 + requires_python: ">=3.9" + deps: + # https://pypi.org/project/protobuf/ + - "protobuf>=3.20" diff --git a/plugins/protocolbuffers/python/v33.0/python.cc b/plugins/protocolbuffers/python/v33.0/python.cc new file mode 100644 index 000000000..f8a9f636d --- /dev/null +++ b/plugins/protocolbuffers/python/v33.0/python.cc @@ -0,0 +1,7 @@ +#include +#include + +int main(int argc, char *argv[]) { + google::protobuf::compiler::python::Generator generator; + return google::protobuf::compiler::PluginMain(argc, argv, &generator); +} diff --git a/plugins/protocolbuffers/ruby/v33.0/.dockerignore b/plugins/protocolbuffers/ruby/v33.0/.dockerignore new file mode 100644 index 000000000..2bdb552e6 --- /dev/null +++ b/plugins/protocolbuffers/ruby/v33.0/.dockerignore @@ -0,0 +1,4 @@ +* +!BUILD +!Dockerfile +!ruby.cc diff --git a/plugins/protocolbuffers/ruby/v33.0/BUILD b/plugins/protocolbuffers/ruby/v33.0/BUILD new file mode 100644 index 000000000..8bd93e181 --- /dev/null +++ b/plugins/protocolbuffers/ruby/v33.0/BUILD @@ -0,0 +1,7 @@ +cc_binary( + name = "protoc-gen-ruby", + srcs = ["ruby.cc"], + deps = [ + "//:protoc_lib", + ], +) diff --git a/plugins/protocolbuffers/ruby/v33.0/Dockerfile b/plugins/protocolbuffers/ruby/v33.0/Dockerfile new file mode 100644 index 000000000..59d1c5ef6 --- /dev/null +++ b/plugins/protocolbuffers/ruby/v33.0/Dockerfile @@ -0,0 +1,30 @@ +# syntax=docker/dockerfile:1.19 +FROM debian:bookworm-20250929 AS build + +ARG TARGETARCH +ARG BAZEL_OPTS="--host_jvm_args=-Djava.net.preferIPv4Stack=true" + +RUN apt-get update \ + && apt-get install -y curl git cmake build-essential autoconf clang libc++-dev libtool pkg-config unzip zip +RUN curl -fsSL -o /usr/local/bin/bazelisk https://github.com/bazelbuild/bazelisk/releases/download/v1.25.0/bazelisk-linux-${TARGETARCH} \ + && chmod +x /usr/local/bin/bazelisk \ + && mkdir /build \ + && chown nobody:nogroup /build \ + && usermod --home /build nobody + +USER nobody +WORKDIR /build +RUN curl -fsSL -o protoc.tar.gz https://github.com/protocolbuffers/protobuf/releases/download/v33.0/protobuf-33.0.tar.gz \ + && tar --strip-components=1 -zxf protoc.tar.gz \ + && rm protoc.tar.gz +RUN bazelisk ${BAZEL_OPTS} build '//:protoc_lib' +COPY --link BUILD ruby.cc plugins/ +RUN bazelisk ${BAZEL_OPTS} build '//plugins:protoc-gen-ruby.stripped' + +FROM gcr.io/distroless/cc-debian12:latest@sha256:0000f9dc0290f8eaf0ecceafbc35e803649087ea7879570fbc78372df7ac649b AS base + +FROM scratch +COPY --from=base --link / / +COPY --from=build --link --chmod=0755 /build/bazel-bin/plugins/protoc-gen-ruby . +USER nobody +ENTRYPOINT ["/protoc-gen-ruby"] diff --git a/plugins/protocolbuffers/ruby/v33.0/buf.plugin.yaml b/plugins/protocolbuffers/ruby/v33.0/buf.plugin.yaml new file mode 100644 index 000000000..abc52979d --- /dev/null +++ b/plugins/protocolbuffers/ruby/v33.0/buf.plugin.yaml @@ -0,0 +1,9 @@ +version: v1 +name: buf.build/protocolbuffers/ruby +plugin_version: v33.0 +source_url: https://github.com/protocolbuffers/protobuf +description: Base types for Ruby. Generates message and enum types. +output_languages: + - ruby +spdx_license_id: BSD-3-Clause +license_url: https://github.com/protocolbuffers/protobuf/blob/v33.0/LICENSE diff --git a/plugins/protocolbuffers/ruby/v33.0/ruby.cc b/plugins/protocolbuffers/ruby/v33.0/ruby.cc new file mode 100644 index 000000000..73ba6a6ae --- /dev/null +++ b/plugins/protocolbuffers/ruby/v33.0/ruby.cc @@ -0,0 +1,7 @@ +#include +#include + +int main(int argc, char *argv[]) { + google::protobuf::compiler::ruby::Generator generator; + return google::protobuf::compiler::PluginMain(argc, argv, &generator); +} diff --git a/tests/testdata/buf.build/protocolbuffers/cpp/v33.0/eliza/plugin.sum b/tests/testdata/buf.build/protocolbuffers/cpp/v33.0/eliza/plugin.sum new file mode 100644 index 000000000..cd62b814f --- /dev/null +++ b/tests/testdata/buf.build/protocolbuffers/cpp/v33.0/eliza/plugin.sum @@ -0,0 +1 @@ +h1:9JG6LZWXNCSmZb3T65GZMsr+Faj4b0efme+16QkUeSY= diff --git a/tests/testdata/buf.build/protocolbuffers/cpp/v33.0/petapis/plugin.sum b/tests/testdata/buf.build/protocolbuffers/cpp/v33.0/petapis/plugin.sum new file mode 100644 index 000000000..c24a90d21 --- /dev/null +++ b/tests/testdata/buf.build/protocolbuffers/cpp/v33.0/petapis/plugin.sum @@ -0,0 +1 @@ +h1:1Rp4jVsfjpGFt6DSGFGVIL0WaF+AImNMp/Pj+eTxHZs= diff --git a/tests/testdata/buf.build/protocolbuffers/csharp/v33.0/eliza/plugin.sum b/tests/testdata/buf.build/protocolbuffers/csharp/v33.0/eliza/plugin.sum new file mode 100644 index 000000000..7ce484537 --- /dev/null +++ b/tests/testdata/buf.build/protocolbuffers/csharp/v33.0/eliza/plugin.sum @@ -0,0 +1 @@ +h1:DkwuBVPi0d23QGFSabB3Xtmk+70VRNgm9M3HLZEHuoA= diff --git a/tests/testdata/buf.build/protocolbuffers/csharp/v33.0/petapis/plugin.sum b/tests/testdata/buf.build/protocolbuffers/csharp/v33.0/petapis/plugin.sum new file mode 100644 index 000000000..496f4399e --- /dev/null +++ b/tests/testdata/buf.build/protocolbuffers/csharp/v33.0/petapis/plugin.sum @@ -0,0 +1 @@ +h1:MkwMeoPPud7IULSQ4evKWu/or1M6c7Izxx5ieDjPV90= diff --git a/tests/testdata/buf.build/protocolbuffers/java/v33.0/eliza/plugin.sum b/tests/testdata/buf.build/protocolbuffers/java/v33.0/eliza/plugin.sum new file mode 100644 index 000000000..de039c4c3 --- /dev/null +++ b/tests/testdata/buf.build/protocolbuffers/java/v33.0/eliza/plugin.sum @@ -0,0 +1 @@ +h1:4+EDY5snBKg/UOmFBbFd6rl1cwmK08weyJJuBbSvmtA= diff --git a/tests/testdata/buf.build/protocolbuffers/java/v33.0/petapis/plugin.sum b/tests/testdata/buf.build/protocolbuffers/java/v33.0/petapis/plugin.sum new file mode 100644 index 000000000..a35e3c070 --- /dev/null +++ b/tests/testdata/buf.build/protocolbuffers/java/v33.0/petapis/plugin.sum @@ -0,0 +1 @@ +h1:taMZDAvZqN+fwKXVx1ghuzR6koo+JAGAyR3FfCR0CuU= diff --git a/tests/testdata/buf.build/protocolbuffers/kotlin/v33.0/eliza/plugin.sum b/tests/testdata/buf.build/protocolbuffers/kotlin/v33.0/eliza/plugin.sum new file mode 100644 index 000000000..c2d2c4f85 --- /dev/null +++ b/tests/testdata/buf.build/protocolbuffers/kotlin/v33.0/eliza/plugin.sum @@ -0,0 +1 @@ +h1:Q26cDw+4NCCw7fhQseRXK/5vFLD31t4EnXJ5oc6Po7M= diff --git a/tests/testdata/buf.build/protocolbuffers/kotlin/v33.0/petapis/plugin.sum b/tests/testdata/buf.build/protocolbuffers/kotlin/v33.0/petapis/plugin.sum new file mode 100644 index 000000000..828e36ae3 --- /dev/null +++ b/tests/testdata/buf.build/protocolbuffers/kotlin/v33.0/petapis/plugin.sum @@ -0,0 +1 @@ +h1:qErKoSan+tBubttyp9BIdEjQ5cayI+f7pW30rOgnQGM= diff --git a/tests/testdata/buf.build/protocolbuffers/objc/v33.0/eliza/plugin.sum b/tests/testdata/buf.build/protocolbuffers/objc/v33.0/eliza/plugin.sum new file mode 100644 index 000000000..81999c495 --- /dev/null +++ b/tests/testdata/buf.build/protocolbuffers/objc/v33.0/eliza/plugin.sum @@ -0,0 +1 @@ +h1:77z/xF29LSYoBycTKtSRR+TE1wsEps6o5eCur4Bz2rA= diff --git a/tests/testdata/buf.build/protocolbuffers/objc/v33.0/petapis/plugin.sum b/tests/testdata/buf.build/protocolbuffers/objc/v33.0/petapis/plugin.sum new file mode 100644 index 000000000..4c634bb15 --- /dev/null +++ b/tests/testdata/buf.build/protocolbuffers/objc/v33.0/petapis/plugin.sum @@ -0,0 +1 @@ +h1:RJdaZauIteT9wnQRBXcsWeMqcB0PHErSo0xPAJAtONs= diff --git a/tests/testdata/buf.build/protocolbuffers/php/v33.0/eliza/plugin.sum b/tests/testdata/buf.build/protocolbuffers/php/v33.0/eliza/plugin.sum new file mode 100644 index 000000000..1992a17a6 --- /dev/null +++ b/tests/testdata/buf.build/protocolbuffers/php/v33.0/eliza/plugin.sum @@ -0,0 +1 @@ +h1:I4qrbQ/xHaIrZ1tsEbDERvaRSAH3OSoHqhlgHesRcQI= diff --git a/tests/testdata/buf.build/protocolbuffers/php/v33.0/petapis/plugin.sum b/tests/testdata/buf.build/protocolbuffers/php/v33.0/petapis/plugin.sum new file mode 100644 index 000000000..9bb883a20 --- /dev/null +++ b/tests/testdata/buf.build/protocolbuffers/php/v33.0/petapis/plugin.sum @@ -0,0 +1 @@ +h1:n9Je73K/RW7Rs+ZayAvf5KHUbMN3UtQ/uJ9ftoiEIyM= diff --git a/tests/testdata/buf.build/protocolbuffers/pyi/v33.0/eliza/plugin.sum b/tests/testdata/buf.build/protocolbuffers/pyi/v33.0/eliza/plugin.sum new file mode 100644 index 000000000..54c73fa25 --- /dev/null +++ b/tests/testdata/buf.build/protocolbuffers/pyi/v33.0/eliza/plugin.sum @@ -0,0 +1 @@ +h1:ui41W0lzPv+QUxxO1qaV/Hbz2fOjRiGS73/WwCnnxPA= diff --git a/tests/testdata/buf.build/protocolbuffers/pyi/v33.0/petapis/plugin.sum b/tests/testdata/buf.build/protocolbuffers/pyi/v33.0/petapis/plugin.sum new file mode 100644 index 000000000..06d012ecc --- /dev/null +++ b/tests/testdata/buf.build/protocolbuffers/pyi/v33.0/petapis/plugin.sum @@ -0,0 +1 @@ +h1:9gjjqpXSRCay3JUVejxGwAsKN+EjK/42kFRdbaPXsY0= diff --git a/tests/testdata/buf.build/protocolbuffers/python/v33.0/eliza/plugin.sum b/tests/testdata/buf.build/protocolbuffers/python/v33.0/eliza/plugin.sum new file mode 100644 index 000000000..55dc1c572 --- /dev/null +++ b/tests/testdata/buf.build/protocolbuffers/python/v33.0/eliza/plugin.sum @@ -0,0 +1 @@ +h1:6UksU/pe/ENVCBpsiRfAZKyEdYKC2yZLF9+SvQGxO0w= diff --git a/tests/testdata/buf.build/protocolbuffers/python/v33.0/petapis/plugin.sum b/tests/testdata/buf.build/protocolbuffers/python/v33.0/petapis/plugin.sum new file mode 100644 index 000000000..6ba5208c3 --- /dev/null +++ b/tests/testdata/buf.build/protocolbuffers/python/v33.0/petapis/plugin.sum @@ -0,0 +1 @@ +h1:rr1NsPKuWx4fsUtfZjZYQKHKNMUIfO1jnLu1/4Bz0hQ= diff --git a/tests/testdata/buf.build/protocolbuffers/ruby/v33.0/eliza/plugin.sum b/tests/testdata/buf.build/protocolbuffers/ruby/v33.0/eliza/plugin.sum new file mode 100644 index 000000000..5e0f16747 --- /dev/null +++ b/tests/testdata/buf.build/protocolbuffers/ruby/v33.0/eliza/plugin.sum @@ -0,0 +1 @@ +h1:eQ9M5akPS26qcuIEZaoFUvRBCXVDcYcPXFqo3SQXl4I= diff --git a/tests/testdata/buf.build/protocolbuffers/ruby/v33.0/petapis/plugin.sum b/tests/testdata/buf.build/protocolbuffers/ruby/v33.0/petapis/plugin.sum new file mode 100644 index 000000000..1c42b9fc7 --- /dev/null +++ b/tests/testdata/buf.build/protocolbuffers/ruby/v33.0/petapis/plugin.sum @@ -0,0 +1 @@ +h1:Kf1buxG7nygnMgQTbLk1NaIu/O9Jfi2nm6TyyApY6KY=