diff --git a/plugins/anthropics/buffa/v0.8.1/.dockerignore b/plugins/anthropics/buffa/v0.8.1/.dockerignore new file mode 100644 index 000000000..5d0f124ff --- /dev/null +++ b/plugins/anthropics/buffa/v0.8.1/.dockerignore @@ -0,0 +1,2 @@ +* +!Dockerfile diff --git a/plugins/anthropics/buffa/v0.8.1/Dockerfile b/plugins/anthropics/buffa/v0.8.1/Dockerfile new file mode 100644 index 000000000..bd2bfd880 --- /dev/null +++ b/plugins/anthropics/buffa/v0.8.1/Dockerfile @@ -0,0 +1,15 @@ +# syntax=docker/dockerfile:1.24 +FROM rust:1.96.0-alpine3.23@sha256:5dc2af9dd547c33f64d5fc1d299ab93b51f39eaa16c426c476b990ce6caf5b3e AS builder +RUN apk add --no-cache musl-dev +WORKDIR /app +ENV CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse +RUN --mount=type=cache,target=/usr/local/cargo/registry,sharing=locked --mount=type=cache,target=/root/target \ + cargo install protoc-gen-buffa --version 0.8.1 --locked --root /app + +FROM gcr.io/distroless/static-debian13:latest@sha256:3592aa8171c77482f62bbc4164e6a2d141c6122554ace66e5cc910cadb961ff0 AS base + +FROM scratch +COPY --link --from=base / / +COPY --link --from=builder /app/bin/protoc-gen-buffa /protoc-gen-buffa +USER nobody +ENTRYPOINT ["/protoc-gen-buffa"] diff --git a/plugins/anthropics/buffa/v0.8.1/buf.plugin.yaml b/plugins/anthropics/buffa/v0.8.1/buf.plugin.yaml new file mode 100644 index 000000000..8d1ef4264 --- /dev/null +++ b/plugins/anthropics/buffa/v0.8.1/buf.plugin.yaml @@ -0,0 +1,55 @@ +version: v1 +name: buf.build/anthropics/buffa +plugin_version: v0.8.1 +source_url: https://github.com/anthropics/buffa +description: Generates Rust message types with buffa, a zero-copy Protobuf implementation with editions support and no_std compatibility. +output_languages: + - rust +spdx_license_id: Apache-2.0 +license_url: https://github.com/anthropics/buffa/blob/v0.8.1/LICENSE +registry: + cargo: + rust_version: "1.75" # https://github.com/anthropics/buffa/blob/v0.8.1/Cargo.toml#L35 + deps: + # Runtime: wire format, Message trait, view types, JSON helpers. + # https://github.com/anthropics/buffa/blob/v0.8.1/buffa/Cargo.toml + - name: "buffa" + req: "0.8.1" + default_features: true + features: + - json + - text + # Well-known types (Timestamp, Duration, Any, Struct, etc.). + # Generated code references these via the auto-injected + # extern_path mapping `.google.protobuf` -> `::buffa_types::google::protobuf`. + - name: "buffa-types" + req: "0.8.1" + default_features: true + features: + - json + - name: "buffa-descriptor" + req: "0.8.1" + default_features: true + features: + - json + - views + - text + # Generated code derives `::serde::Serialize` / `::serde::Deserialize` + # directly when json=true, so serde must be a direct dep. + - name: "serde" + req: "1" + default_features: true + features: + - derive + opts: + # Enable serde derives + proto3 JSON mapping helpers. Required for + # downstream plugins that need the Connect protocol's JSON codec. + - json=true + # Enable textproto encoding/decoding. + - text=true + # Zero-copy view types. Default, but explicit for clarity. + - views=true + # Emit one `.rs` per proto package instead of one + # file per proto file. Matches the prost/tonic filename convention + # the BSR Rust SDK lib.rs synthesis expects. + - file_per_package=true diff --git a/plugins/anthropics/connect-rust/v0.8.0/.dockerignore b/plugins/anthropics/connect-rust/v0.8.0/.dockerignore new file mode 100644 index 000000000..5d0f124ff --- /dev/null +++ b/plugins/anthropics/connect-rust/v0.8.0/.dockerignore @@ -0,0 +1,2 @@ +* +!Dockerfile diff --git a/plugins/anthropics/connect-rust/v0.8.0/Dockerfile b/plugins/anthropics/connect-rust/v0.8.0/Dockerfile new file mode 100644 index 000000000..82fdd8745 --- /dev/null +++ b/plugins/anthropics/connect-rust/v0.8.0/Dockerfile @@ -0,0 +1,17 @@ +# syntax=docker/dockerfile:1.24 +FROM rust:1.96.0-alpine3.23@sha256:5dc2af9dd547c33f64d5fc1d299ab93b51f39eaa16c426c476b990ce6caf5b3e AS builder +RUN apk add --no-cache musl-dev +WORKDIR /app +ENV CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse +# The protoc-gen-connect-rust binary is a [[bin]] target in the +# connectrpc-codegen crate. cargo install compiles it by crate name. +RUN --mount=type=cache,target=/usr/local/cargo/registry,sharing=locked --mount=type=cache,target=/root/target \ + cargo install connectrpc-codegen --version 0.8.0 --locked --root /app + +FROM gcr.io/distroless/static-debian13:latest@sha256:3592aa8171c77482f62bbc4164e6a2d141c6122554ace66e5cc910cadb961ff0 AS base + +FROM scratch +COPY --link --from=base / / +COPY --link --from=builder /app/bin/protoc-gen-connect-rust /protoc-gen-connect-rust +USER nobody +ENTRYPOINT ["/protoc-gen-connect-rust"] diff --git a/plugins/anthropics/connect-rust/v0.8.0/buf.plugin.yaml b/plugins/anthropics/connect-rust/v0.8.0/buf.plugin.yaml new file mode 100644 index 000000000..177f55ac0 --- /dev/null +++ b/plugins/anthropics/connect-rust/v0.8.0/buf.plugin.yaml @@ -0,0 +1,55 @@ +version: v1 +name: buf.build/anthropics/connect-rust +plugin_version: v0.8.0 +source_url: https://github.com/anthropics/connect-rust +description: Generates ConnectRPC service traits, typed clients, and monomorphic dispatchers for Rust. Compatible with the Connect, gRPC, and gRPC-Web protocols. Passes the full ConnectRPC conformance suite. +deps: + - plugin: buf.build/anthropics/buffa:v0.8.1 +output_languages: + - rust +spdx_license_id: Apache-2.0 +license_url: https://github.com/anthropics/connect-rust/blob/v0.8.0/LICENSE +registry: + cargo: + rust_version: "1.88" + deps: + # ConnectRPC runtime: Router, Context, ConnectError, client transports. + # https://github.com/anthropics/connect-rust/blob/v0.8.0/connectrpc/Cargo.toml + - name: "connectrpc" + req: "0.8.0" + default_features: true + # Generated service stubs use buffa::Message, buffa::view::OwnedView, + # buffa::bytes::Bytes directly. Message types live in the buffa SDK + # crate (via the plugin dep above); this dep is for the runtime API. + - name: "buffa" + req: "0.7.1" + default_features: true + # Well-known types. Service stubs whose request/response types are + # WKTs (e.g. google.longrunning.Operations) reference them as + # `::buffa_types::google::protobuf::...`, mirroring buffa-codegen's + # extern_path mapping for `.google.protobuf`. Must be a direct dep + # so the `::buffa_types` path resolves in the generated crate. + - name: "buffa-types" + req: "0.7.1" + default_features: true + features: + - json + # Streaming method signatures use futures::Stream. + - name: "futures" + req: "0.3" + default_features: true + # Client transport bounds reference http_body::Body. + - name: "http-body" + req: "1" + default_features: true + # The plugin accepts `extern_path=.=` (or the shorthand + # `buffa_module=`) to tell it where the buffa-generated message + # types live. BSR should inject this based on the buffa dep's SDK crate + # name, same as tonic receives extern_path for its prost dep. Leaving + # it out here; please advise if an explicit entry is needed. + opts: + # Emit one `.rs` per proto package, mirroring the + # buffa plugin's `file_per_package=true` opt. Matches the + # prost/tonic filename convention the BSR Rust SDK lib.rs + # synthesis expects. + - file_per_package diff --git a/plugins/community/stephenh-ts-proto/v2.12.0/.dockerignore b/plugins/community/stephenh-ts-proto/v2.12.0/.dockerignore new file mode 100644 index 000000000..771bbbaa9 --- /dev/null +++ b/plugins/community/stephenh-ts-proto/v2.12.0/.dockerignore @@ -0,0 +1,3 @@ +* +!Dockerfile +!package*.json diff --git a/plugins/community/stephenh-ts-proto/v2.12.0/Dockerfile b/plugins/community/stephenh-ts-proto/v2.12.0/Dockerfile new file mode 100644 index 000000000..6748b4188 --- /dev/null +++ b/plugins/community/stephenh-ts-proto/v2.12.0/Dockerfile @@ -0,0 +1,19 @@ +# syntax=docker/dockerfile:1.24 +FROM node:24.18.0-trixie@sha256:5ac1f09047e215d1e4df7fbdf95ff86ca14a35632380b6672d6c9c62d5ac3800 AS build +WORKDIR /app +COPY --link package*.json . +RUN npm ci +RUN sed -i -e 's|/usr/bin/env node|/nodejs/bin/node|g' /app/node_modules/ts-proto/protoc-gen-ts_proto \ + && rm -f /app/node_modules/dprint-node/*darwin*.node /app/node_modules/dprint-node/*win32*.node + +FROM gcr.io/distroless/nodejs24-debian13:latest@sha256:ef5f3caf80da1630edd1a4df7b307a8f7d4553f8eec1dd29852b76e793593903 AS node + +FROM gcr.io/distroless/cc-debian13:latest@sha256:a017e74bd2a12d98342dbecd33d121d2b160415ed777573dc1808969e989d94d AS base + +FROM scratch +COPY --link --from=base / / +COPY --link --from=node --chmod=0755 /nodejs/bin/node /nodejs/bin/node +COPY --link --from=build /app /app +USER nobody +ENTRYPOINT ["/nodejs/bin/node"] +CMD [ "/app/node_modules/.bin/protoc-gen-ts_proto" ] diff --git a/plugins/community/stephenh-ts-proto/v2.12.0/buf.plugin.yaml b/plugins/community/stephenh-ts-proto/v2.12.0/buf.plugin.yaml new file mode 100644 index 000000000..753a3174e --- /dev/null +++ b/plugins/community/stephenh-ts-proto/v2.12.0/buf.plugin.yaml @@ -0,0 +1,10 @@ +version: v1 +name: buf.build/community/stephenh-ts-proto +plugin_version: v2.12.0 +source_url: https://github.com/stephenh/ts-proto +integration_guide_url: https://github.com/stephenh/ts-proto#quickstart +description: An idiomatic protobuf generator for TypeScript. +output_languages: + - typescript +spdx_license_id: Apache-2.0 +license_url: https://github.com/stephenh/ts-proto/blob/v2.12.0/LICENSE diff --git a/plugins/community/stephenh-ts-proto/v2.12.0/package-lock.json b/plugins/community/stephenh-ts-proto/v2.12.0/package-lock.json new file mode 100644 index 000000000..fa653cb50 --- /dev/null +++ b/plugins/community/stephenh-ts-proto/v2.12.0/package-lock.json @@ -0,0 +1,87 @@ +{ + "name": "plugins-stephenh-ts-proto", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "plugins-stephenh-ts-proto", + "version": "1.0.0", + "dependencies": { + "ts-proto": "2.12.0" + } + }, + "node_modules/@bufbuild/protobuf": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-2.12.1.tgz", + "integrity": "sha512-BvAMfS6LrgZiryOAZ4pBYucu4wG/Ei/9o9DZ9akbREnMLbPJiom2i8b9C8IsKErQoiKqVhrerzt3kOT/RrzLHg==", + "license": "(Apache-2.0 AND BSD-3-Clause)" + }, + "node_modules/case-anything": { + "version": "2.1.13", + "resolved": "https://registry.npmjs.org/case-anything/-/case-anything-2.1.13.tgz", + "integrity": "sha512-zlOQ80VrQ2Ue+ymH5OuM/DlDq64mEm+B9UTdHULv5osUMD6HalNTblf2b1u/m6QecjsnOkBpqVZ+XPwIVsy7Ng==", + "license": "MIT", + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "license": "Apache-2.0", + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dprint-node": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/dprint-node/-/dprint-node-1.0.8.tgz", + "integrity": "sha512-iVKnUtYfGrYcW1ZAlfR/F59cUVL8QIhWoBJoSjkkdua/dkWIgjZfiLMeTjiB06X0ZLkQ0M2C1VbUj/CxkIf1zg==", + "license": "MIT", + "dependencies": { + "detect-libc": "^1.0.3" + } + }, + "node_modules/ts-poet": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/ts-poet/-/ts-poet-6.12.0.tgz", + "integrity": "sha512-xo+iRNMWqyvXpFTaOAvLPA5QAWO6TZrSUs5s4Odaya3epqofBu/fMLHEWl8jPmjhA0s9sgj9sNvF1BmaQlmQkA==", + "license": "Apache-2.0", + "dependencies": { + "dprint-node": "^1.0.8" + } + }, + "node_modules/ts-proto": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/ts-proto/-/ts-proto-2.12.0.tgz", + "integrity": "sha512-ezMxg57ZiK/ZTW14U7y38+qyWHJr8cn8ELKuppANER666YnUteuNFO/mM1qI+9/wAHoTAfRadnIwtVdp1xw0jQ==", + "license": "ISC", + "dependencies": { + "@bufbuild/protobuf": "^2.10.2", + "case-anything": "^2.1.13", + "ts-poet": "^6.12.0", + "ts-proto-descriptors": "2.1.0" + }, + "bin": { + "protoc-gen-ts_proto": "protoc-gen-ts_proto" + } + }, + "node_modules/ts-proto-descriptors": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ts-proto-descriptors/-/ts-proto-descriptors-2.1.0.tgz", + "integrity": "sha512-S5EZYEQ6L9KLFfjSRpZWDIXDV/W7tAj8uW7pLsihIxyr62EAVSiKuVPwE8iWnr849Bqa53enex1jhDUcpgquzA==", + "license": "ISC", + "dependencies": { + "@bufbuild/protobuf": "^2.0.0" + } + } + } +} diff --git a/plugins/community/stephenh-ts-proto/v2.12.0/package.json b/plugins/community/stephenh-ts-proto/v2.12.0/package.json new file mode 100644 index 000000000..ec184c581 --- /dev/null +++ b/plugins/community/stephenh-ts-proto/v2.12.0/package.json @@ -0,0 +1,7 @@ +{ + "name": "plugins-stephenh-ts-proto", + "version": "1.0.0", + "dependencies": { + "ts-proto": "2.12.0" + } +} diff --git a/plugins/grpc/cpp/v1.82.0/.dockerignore b/plugins/grpc/cpp/v1.82.0/.dockerignore new file mode 100644 index 000000000..5d0f124ff --- /dev/null +++ b/plugins/grpc/cpp/v1.82.0/.dockerignore @@ -0,0 +1,2 @@ +* +!Dockerfile diff --git a/plugins/grpc/cpp/v1.82.0/Dockerfile b/plugins/grpc/cpp/v1.82.0/Dockerfile new file mode 100644 index 000000000..91128620e --- /dev/null +++ b/plugins/grpc/cpp/v1.82.0/Dockerfile @@ -0,0 +1,29 @@ +# syntax=docker/dockerfile:1.24 +FROM debian:trixie-20260623@sha256:d07d1b51c39f51188e60be9b64e6bf769fa94e187f092bc32b91305cfa34ba5a 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.26.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 git clone --depth 1 --branch v1.82.0 https://github.com/grpc/grpc +WORKDIR /build/grpc +RUN bazelisk ${BAZEL_OPTS} build //src/compiler:grpc_plugin_support +RUN bazelisk ${BAZEL_OPTS} build //src/compiler:grpc_cpp_plugin + +FROM gcr.io/distroless/cc-debian13:latest@sha256:a017e74bd2a12d98342dbecd33d121d2b160415ed777573dc1808969e989d94d AS base + +FROM scratch +COPY --link --from=base / / +COPY --link --from=build --chmod=0755 /build/grpc/bazel-bin/src/compiler/grpc_cpp_plugin_binary . +USER nobody +ENTRYPOINT ["/grpc_cpp_plugin_binary"] diff --git a/plugins/grpc/cpp/v1.82.0/buf.plugin.yaml b/plugins/grpc/cpp/v1.82.0/buf.plugin.yaml new file mode 100644 index 000000000..54ad48275 --- /dev/null +++ b/plugins/grpc/cpp/v1.82.0/buf.plugin.yaml @@ -0,0 +1,13 @@ +version: v1 +name: buf.build/grpc/cpp +plugin_version: v1.82.0 +source_url: https://github.com/grpc/grpc +description: Generates C++ client and server stubs for the gRPC framework. +deps: + - plugin: buf.build/protocolbuffers/cpp:v35.1 +output_languages: + - cpp +spdx_license_id: Apache-2.0 +license_url: https://github.com/grpc/grpc/blob/v1.82.0/LICENSE +registry: + cmake: {} diff --git a/plugins/grpc/csharp/v1.82.0/.dockerignore b/plugins/grpc/csharp/v1.82.0/.dockerignore new file mode 100644 index 000000000..b2a42ae1e --- /dev/null +++ b/plugins/grpc/csharp/v1.82.0/.dockerignore @@ -0,0 +1,3 @@ +* +!Dockerfile +!build.csproj diff --git a/plugins/grpc/csharp/v1.82.0/Dockerfile b/plugins/grpc/csharp/v1.82.0/Dockerfile new file mode 100644 index 000000000..c6710091f --- /dev/null +++ b/plugins/grpc/csharp/v1.82.0/Dockerfile @@ -0,0 +1,35 @@ +# syntax=docker/dockerfile:1.24 +FROM debian:trixie-20260623@sha256:d07d1b51c39f51188e60be9b64e6bf769fa94e187f092bc32b91305cfa34ba5a 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.26.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 git clone --depth 1 --branch v1.82.0 https://github.com/grpc/grpc +WORKDIR /build/grpc +RUN bazelisk ${BAZEL_OPTS} build //src/compiler:grpc_plugin_support +RUN bazelisk ${BAZEL_OPTS} build //src/compiler:grpc_csharp_plugin + +FROM mcr.microsoft.com/dotnet/sdk:8.0.422-bookworm-slim@sha256:63ebabdcde24cc8134304a6f50719cf1e22bb4e9f7148ac4ef967c7680187356 AS dotnetrestore +WORKDIR /build +COPY --link ./build.csproj /build/build.csproj +RUN mkdir /nuget && dotnet restore --packages /nuget + +FROM gcr.io/distroless/cc-debian13:latest@sha256:a017e74bd2a12d98342dbecd33d121d2b160415ed777573dc1808969e989d94d AS base + +FROM scratch +COPY --link --from=base / / +COPY --link --from=dotnetrestore /nuget /nuget +COPY --link --from=build --chmod=0755 /build/grpc/bazel-bin/src/compiler/grpc_csharp_plugin_binary . +USER nobody +ENTRYPOINT ["/grpc_csharp_plugin_binary"] diff --git a/plugins/grpc/csharp/v1.82.0/buf.plugin.yaml b/plugins/grpc/csharp/v1.82.0/buf.plugin.yaml new file mode 100644 index 000000000..3554bafd8 --- /dev/null +++ b/plugins/grpc/csharp/v1.82.0/buf.plugin.yaml @@ -0,0 +1,20 @@ +version: v1 +name: buf.build/grpc/csharp +plugin_version: v1.82.0 +source_url: https://github.com/grpc/grpc +description: Generates C# client and server stubs for the gRPC framework. +deps: + - plugin: buf.build/protocolbuffers/csharp:v35.1 +output_languages: + - csharp +spdx_license_id: Apache-2.0 +license_url: https://github.com/grpc/grpc/blob/v1.82.0/LICENSE +registry: + opts: + - base_namespace= + nuget: + target_frameworks: + - netstandard2.0 + deps: + - name: Grpc.Net.Common + version: 2.80.0 diff --git a/plugins/grpc/csharp/v1.82.0/build.csproj b/plugins/grpc/csharp/v1.82.0/build.csproj new file mode 100644 index 000000000..cae62bbd6 --- /dev/null +++ b/plugins/grpc/csharp/v1.82.0/build.csproj @@ -0,0 +1,9 @@ + + + netstandard2.0 + + + + + + diff --git a/plugins/grpc/objc/v1.82.0/.dockerignore b/plugins/grpc/objc/v1.82.0/.dockerignore new file mode 100644 index 000000000..5d0f124ff --- /dev/null +++ b/plugins/grpc/objc/v1.82.0/.dockerignore @@ -0,0 +1,2 @@ +* +!Dockerfile diff --git a/plugins/grpc/objc/v1.82.0/Dockerfile b/plugins/grpc/objc/v1.82.0/Dockerfile new file mode 100644 index 000000000..c110a5146 --- /dev/null +++ b/plugins/grpc/objc/v1.82.0/Dockerfile @@ -0,0 +1,29 @@ +# syntax=docker/dockerfile:1.24 +FROM debian:trixie-20260623@sha256:d07d1b51c39f51188e60be9b64e6bf769fa94e187f092bc32b91305cfa34ba5a 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.26.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 git clone --depth 1 --branch v1.82.0 https://github.com/grpc/grpc +WORKDIR /build/grpc +RUN bazelisk ${BAZEL_OPTS} build //src/compiler:grpc_plugin_support +RUN bazelisk ${BAZEL_OPTS} build //src/compiler:grpc_objective_c_plugin + +FROM gcr.io/distroless/cc-debian13:latest@sha256:a017e74bd2a12d98342dbecd33d121d2b160415ed777573dc1808969e989d94d AS base + +FROM scratch +COPY --link --from=base / / +COPY --link --from=build --chmod=0755 /build/grpc/bazel-bin/src/compiler/grpc_objective_c_plugin_binary . +USER nobody +ENTRYPOINT ["/grpc_objective_c_plugin_binary"] diff --git a/plugins/grpc/objc/v1.82.0/buf.plugin.yaml b/plugins/grpc/objc/v1.82.0/buf.plugin.yaml new file mode 100644 index 000000000..2ce205d85 --- /dev/null +++ b/plugins/grpc/objc/v1.82.0/buf.plugin.yaml @@ -0,0 +1,11 @@ +version: v1 +name: buf.build/grpc/objc +plugin_version: v1.82.0 +source_url: https://github.com/grpc/grpc +description: Generates Objective-C client and server stubs for the gRPC framework. +deps: + - plugin: buf.build/protocolbuffers/objc:v35.1 +output_languages: + - objective_c +spdx_license_id: Apache-2.0 +license_url: https://github.com/grpc/grpc/blob/v1.82.0/LICENSE diff --git a/plugins/grpc/php/v1.82.0/.dockerignore b/plugins/grpc/php/v1.82.0/.dockerignore new file mode 100644 index 000000000..5d0f124ff --- /dev/null +++ b/plugins/grpc/php/v1.82.0/.dockerignore @@ -0,0 +1,2 @@ +* +!Dockerfile diff --git a/plugins/grpc/php/v1.82.0/Dockerfile b/plugins/grpc/php/v1.82.0/Dockerfile new file mode 100644 index 000000000..3f239c74f --- /dev/null +++ b/plugins/grpc/php/v1.82.0/Dockerfile @@ -0,0 +1,29 @@ +# syntax=docker/dockerfile:1.24 +FROM debian:trixie-20260623@sha256:d07d1b51c39f51188e60be9b64e6bf769fa94e187f092bc32b91305cfa34ba5a 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.26.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 git clone --depth 1 --branch v1.82.0 https://github.com/grpc/grpc +WORKDIR /build/grpc +RUN bazelisk ${BAZEL_OPTS} build //src/compiler:grpc_plugin_support +RUN bazelisk ${BAZEL_OPTS} build //src/compiler:grpc_php_plugin + +FROM gcr.io/distroless/cc-debian13:latest@sha256:a017e74bd2a12d98342dbecd33d121d2b160415ed777573dc1808969e989d94d AS base + +FROM scratch +COPY --link --from=base / / +COPY --link --from=build --chmod=0755 /build/grpc/bazel-bin/src/compiler/grpc_php_plugin_binary . +USER nobody +ENTRYPOINT ["/grpc_php_plugin_binary"] diff --git a/plugins/grpc/php/v1.82.0/buf.plugin.yaml b/plugins/grpc/php/v1.82.0/buf.plugin.yaml new file mode 100644 index 000000000..10aae646f --- /dev/null +++ b/plugins/grpc/php/v1.82.0/buf.plugin.yaml @@ -0,0 +1,11 @@ +version: v1 +name: buf.build/grpc/php +plugin_version: v1.82.0 +source_url: https://github.com/grpc/grpc +description: Generates PHP client and server stubs for the gRPC framework. +deps: + - plugin: buf.build/protocolbuffers/php:v35.1 +output_languages: + - php +spdx_license_id: Apache-2.0 +license_url: https://github.com/grpc/grpc/blob/v1.82.0/LICENSE diff --git a/plugins/grpc/python/v1.82.0/.dockerignore b/plugins/grpc/python/v1.82.0/.dockerignore new file mode 100644 index 000000000..5d0f124ff --- /dev/null +++ b/plugins/grpc/python/v1.82.0/.dockerignore @@ -0,0 +1,2 @@ +* +!Dockerfile diff --git a/plugins/grpc/python/v1.82.0/Dockerfile b/plugins/grpc/python/v1.82.0/Dockerfile new file mode 100644 index 000000000..0c226e1c2 --- /dev/null +++ b/plugins/grpc/python/v1.82.0/Dockerfile @@ -0,0 +1,29 @@ +# syntax=docker/dockerfile:1.24 +FROM debian:trixie-20260623@sha256:d07d1b51c39f51188e60be9b64e6bf769fa94e187f092bc32b91305cfa34ba5a 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.26.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 git clone --depth 1 --branch v1.82.0 https://github.com/grpc/grpc +WORKDIR /build/grpc +RUN bazelisk ${BAZEL_OPTS} build //src/compiler:grpc_plugin_support +RUN bazelisk ${BAZEL_OPTS} build //src/compiler:grpc_python_plugin + +FROM gcr.io/distroless/cc-debian13:latest@sha256:a017e74bd2a12d98342dbecd33d121d2b160415ed777573dc1808969e989d94d AS base + +FROM scratch +COPY --link --from=base / / +COPY --link --from=build --chmod=0755 /build/grpc/bazel-bin/src/compiler/grpc_python_plugin_binary . +USER nobody +ENTRYPOINT ["/grpc_python_plugin_binary"] diff --git a/plugins/grpc/python/v1.82.0/buf.plugin.yaml b/plugins/grpc/python/v1.82.0/buf.plugin.yaml new file mode 100644 index 000000000..4ce6e3d91 --- /dev/null +++ b/plugins/grpc/python/v1.82.0/buf.plugin.yaml @@ -0,0 +1,19 @@ +version: v1 +name: buf.build/grpc/python +plugin_version: v1.82.0 +source_url: https://github.com/grpc/grpc +description: Generates Python client and server stubs for the gRPC framework. +deps: + - plugin: buf.build/protocolbuffers/python:v35.1 +output_languages: + - python +spdx_license_id: Apache-2.0 +license_url: https://github.com/grpc/grpc/blob/v1.82.0/LICENSE +registry: + python: + package_type: "runtime" + # https://github.com/grpc/grpc/blob/v1.82.0/src/python/grpcio/python_version.py#L19 + requires_python: ">=3.10" + deps: + # https://pypi.org/project/grpcio/ + - "grpcio>=1.81.0" diff --git a/plugins/grpc/ruby/v1.82.0/.dockerignore b/plugins/grpc/ruby/v1.82.0/.dockerignore new file mode 100644 index 000000000..5d0f124ff --- /dev/null +++ b/plugins/grpc/ruby/v1.82.0/.dockerignore @@ -0,0 +1,2 @@ +* +!Dockerfile diff --git a/plugins/grpc/ruby/v1.82.0/Dockerfile b/plugins/grpc/ruby/v1.82.0/Dockerfile new file mode 100644 index 000000000..44000a3c2 --- /dev/null +++ b/plugins/grpc/ruby/v1.82.0/Dockerfile @@ -0,0 +1,29 @@ +# syntax=docker/dockerfile:1.24 +FROM debian:trixie-20260623@sha256:d07d1b51c39f51188e60be9b64e6bf769fa94e187f092bc32b91305cfa34ba5a 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.26.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 git clone --depth 1 --branch v1.82.0 https://github.com/grpc/grpc +WORKDIR /build/grpc +RUN bazelisk ${BAZEL_OPTS} build //src/compiler:grpc_plugin_support +RUN bazelisk ${BAZEL_OPTS} build //src/compiler:grpc_ruby_plugin + +FROM gcr.io/distroless/cc-debian13:latest@sha256:a017e74bd2a12d98342dbecd33d121d2b160415ed777573dc1808969e989d94d AS base + +FROM scratch +COPY --link --from=base / / +COPY --link --from=build --chmod=0755 /build/grpc/bazel-bin/src/compiler/grpc_ruby_plugin_binary . +USER nobody +ENTRYPOINT ["/grpc_ruby_plugin_binary"] diff --git a/plugins/grpc/ruby/v1.82.0/buf.plugin.yaml b/plugins/grpc/ruby/v1.82.0/buf.plugin.yaml new file mode 100644 index 000000000..9182f6115 --- /dev/null +++ b/plugins/grpc/ruby/v1.82.0/buf.plugin.yaml @@ -0,0 +1,11 @@ +version: v1 +name: buf.build/grpc/ruby +plugin_version: v1.82.0 +source_url: https://github.com/grpc/grpc +description: Generates Ruby client and server stubs for the gRPC framework. +deps: + - plugin: buf.build/protocolbuffers/ruby:v35.1 +output_languages: + - ruby +spdx_license_id: Apache-2.0 +license_url: https://github.com/grpc/grpc/blob/v1.82.0/LICENSE diff --git a/tests/testdata/buf.build/anthropics/buffa/v0.8.1/eliza/plugin.sum b/tests/testdata/buf.build/anthropics/buffa/v0.8.1/eliza/plugin.sum new file mode 100644 index 000000000..970bb8041 --- /dev/null +++ b/tests/testdata/buf.build/anthropics/buffa/v0.8.1/eliza/plugin.sum @@ -0,0 +1 @@ +h1:5vXxpiByArtaI1/hOZnjCT31tGCj3pHM1HEZuaMkxTI= diff --git a/tests/testdata/buf.build/anthropics/buffa/v0.8.1/petapis/plugin.sum b/tests/testdata/buf.build/anthropics/buffa/v0.8.1/petapis/plugin.sum new file mode 100644 index 000000000..4e267c1c8 --- /dev/null +++ b/tests/testdata/buf.build/anthropics/buffa/v0.8.1/petapis/plugin.sum @@ -0,0 +1 @@ +h1:MChVxS+MS7i/0g93b+0p+jFzICM72NSkCg3UMdsJng8= diff --git a/tests/testdata/buf.build/anthropics/connect-rust/v0.8.0/eliza/plugin.sum b/tests/testdata/buf.build/anthropics/connect-rust/v0.8.0/eliza/plugin.sum new file mode 100644 index 000000000..745f04ec3 --- /dev/null +++ b/tests/testdata/buf.build/anthropics/connect-rust/v0.8.0/eliza/plugin.sum @@ -0,0 +1 @@ +h1:QLUIhPVdSGhw2579QrDFYJHrubR+tyRjQoMOu+GVhnY= diff --git a/tests/testdata/buf.build/anthropics/connect-rust/v0.8.0/petapis/plugin.sum b/tests/testdata/buf.build/anthropics/connect-rust/v0.8.0/petapis/plugin.sum new file mode 100644 index 000000000..3935c8274 --- /dev/null +++ b/tests/testdata/buf.build/anthropics/connect-rust/v0.8.0/petapis/plugin.sum @@ -0,0 +1 @@ +h1:G23VgSBmPDKsPIJcoLEfAqEzZqtHuPV9K0D/rSa3OLs= diff --git a/tests/testdata/buf.build/community/stephenh-ts-proto/v2.12.0/eliza/plugin.sum b/tests/testdata/buf.build/community/stephenh-ts-proto/v2.12.0/eliza/plugin.sum new file mode 100644 index 000000000..0dda53a55 --- /dev/null +++ b/tests/testdata/buf.build/community/stephenh-ts-proto/v2.12.0/eliza/plugin.sum @@ -0,0 +1 @@ +h1:AdWwZPpUMkH/YXdFjmepTHmh7N7Tfzme60qaBIlJS2w= diff --git a/tests/testdata/buf.build/community/stephenh-ts-proto/v2.12.0/petapis/plugin.sum b/tests/testdata/buf.build/community/stephenh-ts-proto/v2.12.0/petapis/plugin.sum new file mode 100644 index 000000000..ff6816f16 --- /dev/null +++ b/tests/testdata/buf.build/community/stephenh-ts-proto/v2.12.0/petapis/plugin.sum @@ -0,0 +1 @@ +h1:s6q2v315eiTvd0Iyc4AGYspohWiC6FWlwQo2qDZLBv8= diff --git a/tests/testdata/buf.build/grpc/cpp/v1.82.0/eliza/plugin.sum b/tests/testdata/buf.build/grpc/cpp/v1.82.0/eliza/plugin.sum new file mode 100644 index 000000000..a891b0b7f --- /dev/null +++ b/tests/testdata/buf.build/grpc/cpp/v1.82.0/eliza/plugin.sum @@ -0,0 +1 @@ +h1:4DHXLd7U9ibsQGGTVZrDNoq8LNP2odYSMRpgfEdCYxQ= diff --git a/tests/testdata/buf.build/grpc/cpp/v1.82.0/petapis/plugin.sum b/tests/testdata/buf.build/grpc/cpp/v1.82.0/petapis/plugin.sum new file mode 100644 index 000000000..0d2c276c2 --- /dev/null +++ b/tests/testdata/buf.build/grpc/cpp/v1.82.0/petapis/plugin.sum @@ -0,0 +1 @@ +h1:+8EhcSBj0K4Vjh4anAdtLOYcnn+AMg8gVv6r19BiSYQ= diff --git a/tests/testdata/buf.build/grpc/csharp/v1.82.0/eliza/plugin.sum b/tests/testdata/buf.build/grpc/csharp/v1.82.0/eliza/plugin.sum new file mode 100644 index 000000000..956a52d4b --- /dev/null +++ b/tests/testdata/buf.build/grpc/csharp/v1.82.0/eliza/plugin.sum @@ -0,0 +1 @@ +h1:4waUym8vI0ZEOq/TtnJRKRUPmHk4QL8zPXRwJhywvI0= diff --git a/tests/testdata/buf.build/grpc/csharp/v1.82.0/petapis/plugin.sum b/tests/testdata/buf.build/grpc/csharp/v1.82.0/petapis/plugin.sum new file mode 100644 index 000000000..481fcb91a --- /dev/null +++ b/tests/testdata/buf.build/grpc/csharp/v1.82.0/petapis/plugin.sum @@ -0,0 +1 @@ +h1:kxBF97RNEQQiB/oEduqOgDZAxiXauyz+6hguxnCyP7I= diff --git a/tests/testdata/buf.build/grpc/objc/v1.82.0/eliza/plugin.sum b/tests/testdata/buf.build/grpc/objc/v1.82.0/eliza/plugin.sum new file mode 100644 index 000000000..4a8ce4e1b --- /dev/null +++ b/tests/testdata/buf.build/grpc/objc/v1.82.0/eliza/plugin.sum @@ -0,0 +1 @@ +h1:xH0+e+UVLoU5KFcWSB5RfrGIxbyztCgFOquLQjg2/ps= diff --git a/tests/testdata/buf.build/grpc/objc/v1.82.0/petapis/plugin.sum b/tests/testdata/buf.build/grpc/objc/v1.82.0/petapis/plugin.sum new file mode 100644 index 000000000..7a01cb23f --- /dev/null +++ b/tests/testdata/buf.build/grpc/objc/v1.82.0/petapis/plugin.sum @@ -0,0 +1 @@ +h1:P+OQBrxyTpehogGY3ZUlcIQ2pRq1iA9xpxjKXSN7u2E= diff --git a/tests/testdata/buf.build/grpc/php/v1.82.0/eliza/plugin.sum b/tests/testdata/buf.build/grpc/php/v1.82.0/eliza/plugin.sum new file mode 100644 index 000000000..9562ec529 --- /dev/null +++ b/tests/testdata/buf.build/grpc/php/v1.82.0/eliza/plugin.sum @@ -0,0 +1 @@ +h1:t8ddjmMEdYs2qK5EdGh+yJd0+0QtWXI8m1rPJdQP2ME= diff --git a/tests/testdata/buf.build/grpc/php/v1.82.0/petapis/plugin.sum b/tests/testdata/buf.build/grpc/php/v1.82.0/petapis/plugin.sum new file mode 100644 index 000000000..e9917b60f --- /dev/null +++ b/tests/testdata/buf.build/grpc/php/v1.82.0/petapis/plugin.sum @@ -0,0 +1 @@ +h1:naIZIvbTbik+yo7qkWOGg+6wGXddPG2kvdH2+V2CJU4= diff --git a/tests/testdata/buf.build/grpc/python/v1.82.0/eliza/plugin.sum b/tests/testdata/buf.build/grpc/python/v1.82.0/eliza/plugin.sum new file mode 100644 index 000000000..b342be875 --- /dev/null +++ b/tests/testdata/buf.build/grpc/python/v1.82.0/eliza/plugin.sum @@ -0,0 +1 @@ +h1:tJNtyiZTbcKqiV33j9uwLYiDtRnpqto8m072S5agIuA= diff --git a/tests/testdata/buf.build/grpc/python/v1.82.0/petapis/plugin.sum b/tests/testdata/buf.build/grpc/python/v1.82.0/petapis/plugin.sum new file mode 100644 index 000000000..631a8047e --- /dev/null +++ b/tests/testdata/buf.build/grpc/python/v1.82.0/petapis/plugin.sum @@ -0,0 +1 @@ +h1:yqq6+kfKxQdmg2Lwc3iWD4dO+L8OJg8/Hr+nIePmSwI= diff --git a/tests/testdata/buf.build/grpc/ruby/v1.82.0/eliza/plugin.sum b/tests/testdata/buf.build/grpc/ruby/v1.82.0/eliza/plugin.sum new file mode 100644 index 000000000..d04ee7f9b --- /dev/null +++ b/tests/testdata/buf.build/grpc/ruby/v1.82.0/eliza/plugin.sum @@ -0,0 +1 @@ +h1:y47G0y23L+GoClu0Kfl4ZgiV++TIrlmPeBxw0sKANjA= diff --git a/tests/testdata/buf.build/grpc/ruby/v1.82.0/petapis/plugin.sum b/tests/testdata/buf.build/grpc/ruby/v1.82.0/petapis/plugin.sum new file mode 100644 index 000000000..7e7dee7f8 --- /dev/null +++ b/tests/testdata/buf.build/grpc/ruby/v1.82.0/petapis/plugin.sum @@ -0,0 +1 @@ +h1:jT5MBhIRa08sICxgjVvNAQgauC2GnD8G9OZ64P+N5gY=