diff --git a/plugins/connectrpc/query-es/v1.4.1/.dockerignore b/plugins/connectrpc/query-es/v1.4.1/.dockerignore new file mode 100644 index 000000000..771bbbaa9 --- /dev/null +++ b/plugins/connectrpc/query-es/v1.4.1/.dockerignore @@ -0,0 +1,3 @@ +* +!Dockerfile +!package*.json diff --git a/plugins/connectrpc/query-es/v1.4.1/Dockerfile b/plugins/connectrpc/query-es/v1.4.1/Dockerfile new file mode 100644 index 000000000..9bb1f7e66 --- /dev/null +++ b/plugins/connectrpc/query-es/v1.4.1/Dockerfile @@ -0,0 +1,21 @@ +# syntax=docker/dockerfile:1.7 +FROM node:20.13.1-alpine3.19 AS build +WORKDIR /app +COPY --link package*.json . +RUN npm ci \ + && find node_modules/typescript ! -name 'typescript.js' ! -name 'package.json' -type f -exec rm -f {} + \ + && find node_modules/typescript -depth -type d -empty -delete \ + && ./node_modules/.bin/esbuild ./node_modules/.bin/protoc-gen-connect-query --bundle --external:typescript --platform=node --outfile=protoc-gen-connect-query.js + +FROM gcr.io/distroless/nodejs20-debian12:latest@sha256:36b2247bda45163fff0cfef127806d8c7661648ceb27b1c255eb987df3388551 AS node + +FROM gcr.io/distroless/cc-debian12:latest@sha256:e1065a1d58800a7294f74e67c32ec4146d09d6cbe471c1fa7ed456b2d2bf06e0 AS base + +FROM scratch +COPY --link --from=base / / +COPY --link --from=node --chmod=0755 /nodejs/bin/node /nodejs/bin/node +COPY --link --from=build --chmod=0755 /app/protoc-gen-connect-query.js /app/protoc-gen-connect-query.js +COPY --link --from=build /app/node_modules/typescript /app/node_modules/typescript +USER nobody +ENTRYPOINT ["/nodejs/bin/node"] +CMD [ "/app/protoc-gen-connect-query.js" ] diff --git a/plugins/connectrpc/query-es/v1.4.1/buf.plugin.yaml b/plugins/connectrpc/query-es/v1.4.1/buf.plugin.yaml new file mode 100644 index 000000000..bbd58c0a4 --- /dev/null +++ b/plugins/connectrpc/query-es/v1.4.1/buf.plugin.yaml @@ -0,0 +1,22 @@ +version: v1 +name: buf.build/connectrpc/query-es +plugin_version: v1.4.1 +source_url: https://github.com/connectrpc/connect-query-es +integration_guide_url: https://connectrpc.com/docs/web/query/getting-started +description: Generates client stubs for calling Connect services with TanStack Query. +deps: + - plugin: buf.build/bufbuild/es:v1.9.0 +output_languages: + - javascript + - typescript +registry: + npm: + import_style: module + rewrite_import_path_suffix: connectquery.js + deps: + - package: '@connectrpc/connect-query' + version: ^1.4.1 + - package: '@bufbuild/protobuf' + version: ^v1.9.0 +spdx_license_id: Apache-2.0 +license_url: https://github.com/connectrpc/connect-query-es/blob/v1.4.1/LICENSE diff --git a/plugins/connectrpc/query-es/v1.4.1/package-lock.json b/plugins/connectrpc/query-es/v1.4.1/package-lock.json new file mode 100644 index 000000000..3f2c7a76c --- /dev/null +++ b/plugins/connectrpc/query-es/v1.4.1/package-lock.json @@ -0,0 +1,503 @@ +{ + "name": "plugins-connectrpc-query-es", + "version": "1.4.1", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "plugins-connectrpc-query-es", + "version": "1.4.1", + "dependencies": { + "@connectrpc/protoc-gen-connect-query": "1.4.1" + }, + "devDependencies": { + "esbuild": "^0.21.3" + } + }, + "node_modules/@bufbuild/protobuf": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-1.9.0.tgz", + "integrity": "sha512-W7gp8Q/v1NlCZLsv8pQ3Y0uCu/SHgXOVFK+eUluUKWXmsb6VHkpNx0apdOWWcDbB9sJoKeP8uPrjmehJz6xETQ==" + }, + "node_modules/@bufbuild/protoplugin": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@bufbuild/protoplugin/-/protoplugin-1.9.0.tgz", + "integrity": "sha512-/mxMiGs5h78RUHT7v4+mv0Wt0gyRf/SOS5PLzKEg2sclEAlFPbXfZ8HjlvxJpXZP/YpP3HvsW/mil3E69G0mXg==", + "dependencies": { + "@bufbuild/protobuf": "1.9.0", + "@typescript/vfs": "^1.4.0", + "typescript": "4.5.2" + } + }, + "node_modules/@connectrpc/protoc-gen-connect-query": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@connectrpc/protoc-gen-connect-query/-/protoc-gen-connect-query-1.4.1.tgz", + "integrity": "sha512-L/x+f1x+GWgfsGvRs2XZjdX044cchIAiNOSWQFavOrfHadZD8Kb8qFykHHDj7Cw+7CyQ7+SeW5UxtIkBB1WB3Q==", + "dependencies": { + "@bufbuild/protobuf": "^1.9.0", + "@bufbuild/protoplugin": "^1.9.0" + }, + "bin": { + "protoc-gen-connect-query": "bin/protoc-gen-connect-query" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "@bufbuild/protoc-gen-es": "1.x" + }, + "peerDependenciesMeta": { + "@bufbuild/protoc-gen-es": { + "optional": true + } + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.3.tgz", + "integrity": "sha512-yTgnwQpFVYfvvo4SvRFB0SwrW8YjOxEoT7wfMT7Ol5v7v5LDNvSGo67aExmxOb87nQNeWPVvaGBNfQ7BXcrZ9w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.3.tgz", + "integrity": "sha512-bviJOLMgurLJtF1/mAoJLxDZDL6oU5/ztMHnJQRejbJrSc9FFu0QoUoFhvi6qSKJEw9y5oGyvr9fuDtzJ30rNQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.3.tgz", + "integrity": "sha512-c+ty9necz3zB1Y+d/N+mC6KVVkGUUOcm4ZmT5i/Fk5arOaY3i6CA3P5wo/7+XzV8cb4GrI/Zjp8NuOQ9Lfsosw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.3.tgz", + "integrity": "sha512-JReHfYCRK3FVX4Ra+y5EBH1b9e16TV2OxrPAvzMsGeES0X2Ndm9ImQRI4Ket757vhc5XBOuGperw63upesclRw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.3.tgz", + "integrity": "sha512-U3fuQ0xNiAkXOmQ6w5dKpEvXQRSpHOnbw7gEfHCRXPeTKW9sBzVck6C5Yneb8LfJm0l6le4NQfkNPnWMSlTFUQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.3.tgz", + "integrity": "sha512-3m1CEB7F07s19wmaMNI2KANLcnaqryJxO1fXHUV5j1rWn+wMxdUYoPyO2TnAbfRZdi7ADRwJClmOwgT13qlP3Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.3.tgz", + "integrity": "sha512-fsNAAl5pU6wmKHq91cHWQT0Fz0vtyE1JauMzKotrwqIKAswwP5cpHUCxZNSTuA/JlqtScq20/5KZ+TxQdovU/g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.3.tgz", + "integrity": "sha512-tci+UJ4zP5EGF4rp8XlZIdq1q1a/1h9XuronfxTMCNBslpCtmk97Q/5qqy1Mu4zIc0yswN/yP/BLX+NTUC1bXA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.3.tgz", + "integrity": "sha512-f6kz2QpSuyHHg01cDawj0vkyMwuIvN62UAguQfnNVzbge2uWLhA7TCXOn83DT0ZvyJmBI943MItgTovUob36SQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.3.tgz", + "integrity": "sha512-vvG6R5g5ieB4eCJBQevyDMb31LMHthLpXTc2IGkFnPWS/GzIFDnaYFp558O+XybTmYrVjxnryru7QRleJvmZ6Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.3.tgz", + "integrity": "sha512-HjCWhH7K96Na+66TacDLJmOI9R8iDWDDiqe17C7znGvvE4sW1ECt9ly0AJ3dJH62jHyVqW9xpxZEU1jKdt+29A==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.3.tgz", + "integrity": "sha512-BGpimEccmHBZRcAhdlRIxMp7x9PyJxUtj7apL2IuoG9VxvU/l/v1z015nFs7Si7tXUwEsvjc1rOJdZCn4QTU+Q==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.3.tgz", + "integrity": "sha512-5rMOWkp7FQGtAH3QJddP4w3s47iT20hwftqdm7b+loe95o8JU8ro3qZbhgMRy0VuFU0DizymF1pBKkn3YHWtsw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.3.tgz", + "integrity": "sha512-h0zj1ldel89V5sjPLo5H1SyMzp4VrgN1tPkN29TmjvO1/r0MuMRwJxL8QY05SmfsZRs6TF0c/IDH3u7XYYmbAg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.3.tgz", + "integrity": "sha512-dkAKcTsTJ+CRX6bnO17qDJbLoW37npd5gSNtSzjYQr0svghLJYGYB0NF1SNcU1vDcjXLYS5pO4qOW4YbFama4A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.3.tgz", + "integrity": "sha512-vnD1YUkovEdnZWEuMmy2X2JmzsHQqPpZElXx6dxENcIwTu+Cu5ERax6+Ke1QsE814Zf3c6rxCfwQdCTQ7tPuXA==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.3.tgz", + "integrity": "sha512-IOXOIm9WaK7plL2gMhsWJd+l2bfrhfilv0uPTptoRoSb2p09RghhQQp9YY6ZJhk/kqmeRt6siRdMSLLwzuT0KQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.3.tgz", + "integrity": "sha512-uTgCwsvQ5+vCQnqM//EfDSuomo2LhdWhFPS8VL8xKf+PKTCrcT/2kPPoWMTs22aB63MLdGMJiE3f1PHvCDmUOw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.3.tgz", + "integrity": "sha512-vNAkR17Ub2MgEud2Wag/OE4HTSI6zlb291UYzHez/psiKarp0J8PKGDnAhMBcHFoOHMXHfExzmjMojJNbAStrQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.3.tgz", + "integrity": "sha512-W8H9jlGiSBomkgmouaRoTXo49j4w4Kfbl6I1bIdO/vT0+0u4f20ko3ELzV3hPI6XV6JNBVX+8BC+ajHkvffIJA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.3.tgz", + "integrity": "sha512-EjEomwyLSCg8Ag3LDILIqYCZAq/y3diJ04PnqGRgq8/4O3VNlXyMd54j/saShaN4h5o5mivOjAzmU6C3X4v0xw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.3.tgz", + "integrity": "sha512-WGiE/GgbsEwR33++5rzjiYsKyHywE8QSZPF7Rfx9EBfK3Qn3xyR6IjyCr5Uk38Kg8fG4/2phN7sXp4NPWd3fcw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.3.tgz", + "integrity": "sha512-xRxC0jaJWDLYvcUvjQmHCJSfMrgmUuvsoXgDeU/wTorQ1ngDdUBuFtgY3W1Pc5sprGAvZBtWdJX7RPg/iZZUqA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@typescript/vfs": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@typescript/vfs/-/vfs-1.5.0.tgz", + "integrity": "sha512-AJS307bPgbsZZ9ggCT3wwpg3VbTKMFNHfaY/uF0ahSkYYrPF2dSSKDNIDIQAHm9qJqbLvCsSJH7yN4Vs/CsMMg==", + "dependencies": { + "debug": "^4.1.1" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/esbuild": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.3.tgz", + "integrity": "sha512-Kgq0/ZsAPzKrbOjCQcjoSmPoWhlcVnGAUo7jvaLHoxW1Drto0KGkR1xBNg2Cp43b9ImvxmPEJZ9xkfcnqPsfBw==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.3", + "@esbuild/android-arm": "0.21.3", + "@esbuild/android-arm64": "0.21.3", + "@esbuild/android-x64": "0.21.3", + "@esbuild/darwin-arm64": "0.21.3", + "@esbuild/darwin-x64": "0.21.3", + "@esbuild/freebsd-arm64": "0.21.3", + "@esbuild/freebsd-x64": "0.21.3", + "@esbuild/linux-arm": "0.21.3", + "@esbuild/linux-arm64": "0.21.3", + "@esbuild/linux-ia32": "0.21.3", + "@esbuild/linux-loong64": "0.21.3", + "@esbuild/linux-mips64el": "0.21.3", + "@esbuild/linux-ppc64": "0.21.3", + "@esbuild/linux-riscv64": "0.21.3", + "@esbuild/linux-s390x": "0.21.3", + "@esbuild/linux-x64": "0.21.3", + "@esbuild/netbsd-x64": "0.21.3", + "@esbuild/openbsd-x64": "0.21.3", + "@esbuild/sunos-x64": "0.21.3", + "@esbuild/win32-arm64": "0.21.3", + "@esbuild/win32-ia32": "0.21.3", + "@esbuild/win32-x64": "0.21.3" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/typescript": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.2.tgz", + "integrity": "sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + } + } +} diff --git a/plugins/connectrpc/query-es/v1.4.1/package.json b/plugins/connectrpc/query-es/v1.4.1/package.json new file mode 100644 index 000000000..f371d55a0 --- /dev/null +++ b/plugins/connectrpc/query-es/v1.4.1/package.json @@ -0,0 +1,10 @@ +{ + "name": "plugins-connectrpc-query-es", + "version": "1.4.1", + "dependencies": { + "@connectrpc/protoc-gen-connect-query": "1.4.1" + }, + "devDependencies": { + "esbuild": "^0.21.3" + } +} diff --git a/plugins/protocolbuffers/cpp/v27.0/.dockerignore b/plugins/protocolbuffers/cpp/v27.0/.dockerignore new file mode 100644 index 000000000..c80455688 --- /dev/null +++ b/plugins/protocolbuffers/cpp/v27.0/.dockerignore @@ -0,0 +1,4 @@ +* +!BUILD +!cpp.cc +!Dockerfile diff --git a/plugins/protocolbuffers/cpp/v27.0/BUILD b/plugins/protocolbuffers/cpp/v27.0/BUILD new file mode 100644 index 000000000..3cacc9e33 --- /dev/null +++ b/plugins/protocolbuffers/cpp/v27.0/BUILD @@ -0,0 +1,7 @@ +cc_binary( + name = "protoc-gen-cpp", + srcs = ["cpp.cc"], + deps = [ + "//:protoc_lib", + ], +) diff --git a/plugins/protocolbuffers/cpp/v27.0/Dockerfile b/plugins/protocolbuffers/cpp/v27.0/Dockerfile new file mode 100644 index 000000000..cb35851f8 --- /dev/null +++ b/plugins/protocolbuffers/cpp/v27.0/Dockerfile @@ -0,0 +1,27 @@ +# syntax=docker/dockerfile:1.7 +FROM debian:bookworm-20240513 AS build + +ARG TARGETARCH + +RUN apt-get update \ + && apt-get install -y curl git cmake build-essential g++ unzip zip +RUN arch=${TARGETARCH}; \ + if [ "${arch}" = "amd64" ]; then arch="x86_64"; fi; \ + curl -fsSL -o /usr/local/bin/bazel https://github.com/bazelbuild/bazel/releases/download/7.1.2/bazel-7.1.2-linux-${arch} \ + && chmod +x /usr/local/bin/bazel + +WORKDIR /build +RUN curl -fsSL -o protoc.tar.gz https://github.com/protocolbuffers/protobuf/releases/download/v27.0/protobuf-27.0.tar.gz \ + && tar --strip-components=1 -zxf protoc.tar.gz \ + && rm protoc.tar.gz +RUN bazel build '//:protoc_lib' +COPY --link BUILD cpp.cc plugins/ +RUN bazel build '//plugins:protoc-gen-cpp.stripped' + +FROM gcr.io/distroless/cc-debian12:latest@sha256:e1065a1d58800a7294f74e67c32ec4146d09d6cbe471c1fa7ed456b2d2bf06e0 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/v27.0/buf.plugin.yaml b/plugins/protocolbuffers/cpp/v27.0/buf.plugin.yaml new file mode 100644 index 000000000..22b49ca08 --- /dev/null +++ b/plugins/protocolbuffers/cpp/v27.0/buf.plugin.yaml @@ -0,0 +1,9 @@ +version: v1 +name: buf.build/protocolbuffers/cpp +plugin_version: v27.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/v27.0/LICENSE diff --git a/plugins/protocolbuffers/cpp/v27.0/cpp.cc b/plugins/protocolbuffers/cpp/v27.0/cpp.cc new file mode 100644 index 000000000..a3c5da56f --- /dev/null +++ b/plugins/protocolbuffers/cpp/v27.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/v27.0/.dockerignore b/plugins/protocolbuffers/csharp/v27.0/.dockerignore new file mode 100644 index 000000000..abbf4b500 --- /dev/null +++ b/plugins/protocolbuffers/csharp/v27.0/.dockerignore @@ -0,0 +1,4 @@ +* +!BUILD +!csharp.cc +!Dockerfile diff --git a/plugins/protocolbuffers/csharp/v27.0/BUILD b/plugins/protocolbuffers/csharp/v27.0/BUILD new file mode 100644 index 000000000..c68d051e0 --- /dev/null +++ b/plugins/protocolbuffers/csharp/v27.0/BUILD @@ -0,0 +1,7 @@ +cc_binary( + name = "protoc-gen-csharp", + srcs = ["csharp.cc"], + deps = [ + "//:protoc_lib", + ], +) diff --git a/plugins/protocolbuffers/csharp/v27.0/Dockerfile b/plugins/protocolbuffers/csharp/v27.0/Dockerfile new file mode 100644 index 000000000..b418550b9 --- /dev/null +++ b/plugins/protocolbuffers/csharp/v27.0/Dockerfile @@ -0,0 +1,27 @@ +# syntax=docker/dockerfile:1.7 +FROM debian:bookworm-20240513 AS build + +ARG TARGETARCH + +RUN apt-get update \ + && apt-get install -y curl git cmake build-essential g++ unzip zip +RUN arch=${TARGETARCH}; \ + if [ "${arch}" = "amd64" ]; then arch="x86_64"; fi; \ + curl -fsSL -o /usr/local/bin/bazel https://github.com/bazelbuild/bazel/releases/download/7.1.2/bazel-7.1.2-linux-${arch} \ + && chmod +x /usr/local/bin/bazel + +WORKDIR /build +RUN curl -fsSL -o protoc.tar.gz https://github.com/protocolbuffers/protobuf/releases/download/v27.0/protobuf-27.0.tar.gz \ + && tar --strip-components=1 -zxf protoc.tar.gz \ + && rm protoc.tar.gz +RUN bazel build '//:protoc_lib' +COPY --link BUILD csharp.cc plugins/ +RUN bazel build '//plugins:protoc-gen-csharp.stripped' + +FROM gcr.io/distroless/cc-debian12:latest@sha256:e1065a1d58800a7294f74e67c32ec4146d09d6cbe471c1fa7ed456b2d2bf06e0 AS base + +FROM scratch +COPY --from=base --link / / +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/v27.0/buf.plugin.yaml b/plugins/protocolbuffers/csharp/v27.0/buf.plugin.yaml new file mode 100644 index 000000000..2631b2f6f --- /dev/null +++ b/plugins/protocolbuffers/csharp/v27.0/buf.plugin.yaml @@ -0,0 +1,9 @@ +version: v1 +name: buf.build/protocolbuffers/csharp +plugin_version: v27.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/v27.0/LICENSE diff --git a/plugins/protocolbuffers/csharp/v27.0/csharp.cc b/plugins/protocolbuffers/csharp/v27.0/csharp.cc new file mode 100644 index 000000000..a82366018 --- /dev/null +++ b/plugins/protocolbuffers/csharp/v27.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/v27.0/.dockerignore b/plugins/protocolbuffers/java/v27.0/.dockerignore new file mode 100644 index 000000000..9612bcbe0 --- /dev/null +++ b/plugins/protocolbuffers/java/v27.0/.dockerignore @@ -0,0 +1,4 @@ +* +!BUILD +!Dockerfile +!java.cc diff --git a/plugins/protocolbuffers/java/v27.0/BUILD b/plugins/protocolbuffers/java/v27.0/BUILD new file mode 100644 index 000000000..34a738a84 --- /dev/null +++ b/plugins/protocolbuffers/java/v27.0/BUILD @@ -0,0 +1,7 @@ +cc_binary( + name = "protoc-gen-java", + srcs = ["java.cc"], + deps = [ + "//:protoc_lib", + ], +) diff --git a/plugins/protocolbuffers/java/v27.0/Dockerfile b/plugins/protocolbuffers/java/v27.0/Dockerfile new file mode 100644 index 000000000..45a64ed7a --- /dev/null +++ b/plugins/protocolbuffers/java/v27.0/Dockerfile @@ -0,0 +1,27 @@ +# syntax=docker/dockerfile:1.7 +FROM debian:bookworm-20240513 AS build + +ARG TARGETARCH + +RUN apt-get update \ + && apt-get install -y curl git cmake build-essential g++ unzip zip +RUN arch=${TARGETARCH}; \ + if [ "${arch}" = "amd64" ]; then arch="x86_64"; fi; \ + curl -fsSL -o /usr/local/bin/bazel https://github.com/bazelbuild/bazel/releases/download/7.1.2/bazel-7.1.2-linux-${arch} \ + && chmod +x /usr/local/bin/bazel + +WORKDIR /build +RUN curl -fsSL -o protoc.tar.gz https://github.com/protocolbuffers/protobuf/releases/download/v27.0/protobuf-27.0.tar.gz \ + && tar --strip-components=1 -zxf protoc.tar.gz \ + && rm protoc.tar.gz +RUN bazel build '//:protoc_lib' +COPY --link BUILD java.cc plugins/ +RUN bazel build '//plugins:protoc-gen-java.stripped' + +FROM gcr.io/distroless/cc-debian12:latest@sha256:e1065a1d58800a7294f74e67c32ec4146d09d6cbe471c1fa7ed456b2d2bf06e0 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/v27.0/buf.plugin.yaml b/plugins/protocolbuffers/java/v27.0/buf.plugin.yaml new file mode 100644 index 000000000..0f6b56864 --- /dev/null +++ b/plugins/protocolbuffers/java/v27.0/buf.plugin.yaml @@ -0,0 +1,19 @@ +version: v1 +name: buf.build/protocolbuffers/java +plugin_version: v27.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/v27.0/LICENSE +registry: + maven: + deps: + - com.google.protobuf:protobuf-java:4.27.0 + additional_runtimes: + - name: lite + deps: + - com.google.protobuf:protobuf-javalite:4.27.0 + - build.buf:protobuf-javalite:4.27.0 + opts: [lite] diff --git a/plugins/protocolbuffers/java/v27.0/java.cc b/plugins/protocolbuffers/java/v27.0/java.cc new file mode 100644 index 000000000..bd5cb1386 --- /dev/null +++ b/plugins/protocolbuffers/java/v27.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/v27.0/.dockerignore b/plugins/protocolbuffers/kotlin/v27.0/.dockerignore new file mode 100644 index 000000000..d02a40d82 --- /dev/null +++ b/plugins/protocolbuffers/kotlin/v27.0/.dockerignore @@ -0,0 +1,4 @@ +* +!BUILD +!Dockerfile +!kotlin.cc diff --git a/plugins/protocolbuffers/kotlin/v27.0/BUILD b/plugins/protocolbuffers/kotlin/v27.0/BUILD new file mode 100644 index 000000000..340328b4c --- /dev/null +++ b/plugins/protocolbuffers/kotlin/v27.0/BUILD @@ -0,0 +1,7 @@ +cc_binary( + name = "protoc-gen-kotlin", + srcs = ["kotlin.cc"], + deps = [ + "//:protoc_lib", + ], +) diff --git a/plugins/protocolbuffers/kotlin/v27.0/Dockerfile b/plugins/protocolbuffers/kotlin/v27.0/Dockerfile new file mode 100644 index 000000000..b922a2794 --- /dev/null +++ b/plugins/protocolbuffers/kotlin/v27.0/Dockerfile @@ -0,0 +1,27 @@ +# syntax=docker/dockerfile:1.7 +FROM debian:bookworm-20240513 AS build + +ARG TARGETARCH + +RUN apt-get update \ + && apt-get install -y curl git cmake build-essential g++ unzip zip +RUN arch=${TARGETARCH}; \ + if [ "${arch}" = "amd64" ]; then arch="x86_64"; fi; \ + curl -fsSL -o /usr/local/bin/bazel https://github.com/bazelbuild/bazel/releases/download/7.1.2/bazel-7.1.2-linux-${arch} \ + && chmod +x /usr/local/bin/bazel + +WORKDIR /build +RUN curl -fsSL -o protoc.tar.gz https://github.com/protocolbuffers/protobuf/releases/download/v27.0/protobuf-27.0.tar.gz \ + && tar --strip-components=1 -zxf protoc.tar.gz \ + && rm protoc.tar.gz +RUN bazel build '//:protoc_lib' +COPY --link BUILD kotlin.cc plugins/ +RUN bazel build '//plugins:protoc-gen-kotlin.stripped' + +FROM gcr.io/distroless/cc-debian12:latest@sha256:e1065a1d58800a7294f74e67c32ec4146d09d6cbe471c1fa7ed456b2d2bf06e0 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/v27.0/buf.plugin.yaml b/plugins/protocolbuffers/kotlin/v27.0/buf.plugin.yaml new file mode 100644 index 000000000..0a148652a --- /dev/null +++ b/plugins/protocolbuffers/kotlin/v27.0/buf.plugin.yaml @@ -0,0 +1,27 @@ +version: v1 +name: buf.build/protocolbuffers/kotlin +plugin_version: v27.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:v27.0 +output_languages: + - kotlin +spdx_license_id: BSD-3-Clause +license_url: https://github.com/protocolbuffers/protobuf/blob/v27.0/LICENSE +registry: + maven: + compiler: + kotlin: + version: 1.8.22 + deps: + - com.google.protobuf:protobuf-kotlin:4.27.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.27.0 + - org.jetbrains.kotlin:kotlin-stdlib:1.8.22 + opts: [lite] diff --git a/plugins/protocolbuffers/kotlin/v27.0/kotlin.cc b/plugins/protocolbuffers/kotlin/v27.0/kotlin.cc new file mode 100644 index 000000000..25cf6e5c6 --- /dev/null +++ b/plugins/protocolbuffers/kotlin/v27.0/kotlin.cc @@ -0,0 +1,7 @@ +#include +#include + +int main(int argc, char *argv[]) { + google::protobuf::compiler::java::KotlinGenerator generator; + return google::protobuf::compiler::PluginMain(argc, argv, &generator); +} diff --git a/plugins/protocolbuffers/objc/v27.0/.dockerignore b/plugins/protocolbuffers/objc/v27.0/.dockerignore new file mode 100644 index 000000000..28438c51d --- /dev/null +++ b/plugins/protocolbuffers/objc/v27.0/.dockerignore @@ -0,0 +1,4 @@ +* +!BUILD +!Dockerfile +!objectivec.cc diff --git a/plugins/protocolbuffers/objc/v27.0/BUILD b/plugins/protocolbuffers/objc/v27.0/BUILD new file mode 100644 index 000000000..cc22935a3 --- /dev/null +++ b/plugins/protocolbuffers/objc/v27.0/BUILD @@ -0,0 +1,7 @@ +cc_binary( + name = "protoc-gen-objectivec", + srcs = ["objectivec.cc"], + deps = [ + "//:protoc_lib", + ], +) diff --git a/plugins/protocolbuffers/objc/v27.0/Dockerfile b/plugins/protocolbuffers/objc/v27.0/Dockerfile new file mode 100644 index 000000000..730cecefc --- /dev/null +++ b/plugins/protocolbuffers/objc/v27.0/Dockerfile @@ -0,0 +1,27 @@ +# syntax=docker/dockerfile:1.7 +FROM debian:bookworm-20240513 AS build + +ARG TARGETARCH + +RUN apt-get update \ + && apt-get install -y curl git cmake build-essential g++ unzip zip +RUN arch=${TARGETARCH}; \ + if [ "${arch}" = "amd64" ]; then arch="x86_64"; fi; \ + curl -fsSL -o /usr/local/bin/bazel https://github.com/bazelbuild/bazel/releases/download/7.1.2/bazel-7.1.2-linux-${arch} \ + && chmod +x /usr/local/bin/bazel + +WORKDIR /build +RUN curl -fsSL -o protoc.tar.gz https://github.com/protocolbuffers/protobuf/releases/download/v27.0/protobuf-27.0.tar.gz \ + && tar --strip-components=1 -zxf protoc.tar.gz \ + && rm protoc.tar.gz +RUN bazel build '//:protoc_lib' +COPY --link BUILD objectivec.cc plugins/ +RUN bazel build '//plugins:protoc-gen-objectivec.stripped' + +FROM gcr.io/distroless/cc-debian12:latest@sha256:e1065a1d58800a7294f74e67c32ec4146d09d6cbe471c1fa7ed456b2d2bf06e0 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/v27.0/buf.plugin.yaml b/plugins/protocolbuffers/objc/v27.0/buf.plugin.yaml new file mode 100644 index 000000000..963ebf932 --- /dev/null +++ b/plugins/protocolbuffers/objc/v27.0/buf.plugin.yaml @@ -0,0 +1,9 @@ +version: v1 +name: buf.build/protocolbuffers/objc +plugin_version: v27.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/v27.0/LICENSE diff --git a/plugins/protocolbuffers/objc/v27.0/objectivec.cc b/plugins/protocolbuffers/objc/v27.0/objectivec.cc new file mode 100644 index 000000000..1fda20829 --- /dev/null +++ b/plugins/protocolbuffers/objc/v27.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/v27.0/.dockerignore b/plugins/protocolbuffers/php/v27.0/.dockerignore new file mode 100644 index 000000000..1cc459074 --- /dev/null +++ b/plugins/protocolbuffers/php/v27.0/.dockerignore @@ -0,0 +1,4 @@ +* +!BUILD +!Dockerfile +!php.cc diff --git a/plugins/protocolbuffers/php/v27.0/BUILD b/plugins/protocolbuffers/php/v27.0/BUILD new file mode 100644 index 000000000..a813f9104 --- /dev/null +++ b/plugins/protocolbuffers/php/v27.0/BUILD @@ -0,0 +1,7 @@ +cc_binary( + name = "protoc-gen-php", + srcs = ["php.cc"], + deps = [ + "//:protoc_lib", + ], +) diff --git a/plugins/protocolbuffers/php/v27.0/Dockerfile b/plugins/protocolbuffers/php/v27.0/Dockerfile new file mode 100644 index 000000000..758b22a33 --- /dev/null +++ b/plugins/protocolbuffers/php/v27.0/Dockerfile @@ -0,0 +1,27 @@ +# syntax=docker/dockerfile:1.7 +FROM debian:bookworm-20240513 AS build + +ARG TARGETARCH + +RUN apt-get update \ + && apt-get install -y curl git cmake build-essential g++ unzip zip +RUN arch=${TARGETARCH}; \ + if [ "${arch}" = "amd64" ]; then arch="x86_64"; fi; \ + curl -fsSL -o /usr/local/bin/bazel https://github.com/bazelbuild/bazel/releases/download/7.1.2/bazel-7.1.2-linux-${arch} \ + && chmod +x /usr/local/bin/bazel + +WORKDIR /build +RUN curl -fsSL -o protoc.tar.gz https://github.com/protocolbuffers/protobuf/releases/download/v27.0/protobuf-27.0.tar.gz \ + && tar --strip-components=1 -zxf protoc.tar.gz \ + && rm protoc.tar.gz +RUN bazel build '//:protoc_lib' +COPY --link BUILD php.cc plugins/ +RUN bazel build '//plugins:protoc-gen-php.stripped' + +FROM gcr.io/distroless/cc-debian12:latest@sha256:e1065a1d58800a7294f74e67c32ec4146d09d6cbe471c1fa7ed456b2d2bf06e0 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/v27.0/buf.plugin.yaml b/plugins/protocolbuffers/php/v27.0/buf.plugin.yaml new file mode 100644 index 000000000..6abd4d337 --- /dev/null +++ b/plugins/protocolbuffers/php/v27.0/buf.plugin.yaml @@ -0,0 +1,9 @@ +version: v1 +name: buf.build/protocolbuffers/php +plugin_version: v27.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/v27.0/LICENSE diff --git a/plugins/protocolbuffers/php/v27.0/php.cc b/plugins/protocolbuffers/php/v27.0/php.cc new file mode 100644 index 000000000..107efe882 --- /dev/null +++ b/plugins/protocolbuffers/php/v27.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/v27.0/.dockerignore b/plugins/protocolbuffers/pyi/v27.0/.dockerignore new file mode 100644 index 000000000..54ca5b118 --- /dev/null +++ b/plugins/protocolbuffers/pyi/v27.0/.dockerignore @@ -0,0 +1,4 @@ +* +!BUILD +!Dockerfile +!pyi.cc diff --git a/plugins/protocolbuffers/pyi/v27.0/BUILD b/plugins/protocolbuffers/pyi/v27.0/BUILD new file mode 100644 index 000000000..89eebd092 --- /dev/null +++ b/plugins/protocolbuffers/pyi/v27.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/v27.0/Dockerfile b/plugins/protocolbuffers/pyi/v27.0/Dockerfile new file mode 100644 index 000000000..3e3a8600f --- /dev/null +++ b/plugins/protocolbuffers/pyi/v27.0/Dockerfile @@ -0,0 +1,27 @@ +# syntax=docker/dockerfile:1.7 +FROM debian:bookworm-20240513 AS build + +ARG TARGETARCH + +RUN apt-get update \ + && apt-get install -y curl git cmake build-essential g++ unzip zip +RUN arch=${TARGETARCH}; \ + if [ "${arch}" = "amd64" ]; then arch="x86_64"; fi; \ + curl -fsSL -o /usr/local/bin/bazel https://github.com/bazelbuild/bazel/releases/download/7.1.2/bazel-7.1.2-linux-${arch} \ + && chmod +x /usr/local/bin/bazel + +WORKDIR /build +RUN curl -fsSL -o protoc.tar.gz https://github.com/protocolbuffers/protobuf/releases/download/v27.0/protobuf-27.0.tar.gz \ + && tar --strip-components=1 -zxf protoc.tar.gz \ + && rm protoc.tar.gz +RUN bazel build '//:protoc_lib' +COPY BUILD pyi.cc plugins/ +RUN bazel build '//plugins:protoc-gen-pyi.stripped' + +FROM gcr.io/distroless/cc-debian12:latest@sha256:e1065a1d58800a7294f74e67c32ec4146d09d6cbe471c1fa7ed456b2d2bf06e0 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/v27.0/buf.plugin.yaml b/plugins/protocolbuffers/pyi/v27.0/buf.plugin.yaml new file mode 100644 index 000000000..346c1604b --- /dev/null +++ b/plugins/protocolbuffers/pyi/v27.0/buf.plugin.yaml @@ -0,0 +1,18 @@ +version: v1 +name: buf.build/protocolbuffers/pyi +plugin_version: v27.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/v27.0/LICENSE +registry: + python: + package_type: "stub-only" + # https://github.com/protocolbuffers/protobuf/blob/v27.0/python/dist/setup.py#L78 + requires_python: ">=3.8" + deps: + # https://pypi.org/project/protobuf/ + - "protobuf~=5.27" + - "types-protobuf" diff --git a/plugins/protocolbuffers/pyi/v27.0/pyi.cc b/plugins/protocolbuffers/pyi/v27.0/pyi.cc new file mode 100644 index 000000000..4d32abebf --- /dev/null +++ b/plugins/protocolbuffers/pyi/v27.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/v27.0/.dockerignore b/plugins/protocolbuffers/python/v27.0/.dockerignore new file mode 100644 index 000000000..ee7c3bab2 --- /dev/null +++ b/plugins/protocolbuffers/python/v27.0/.dockerignore @@ -0,0 +1,4 @@ +* +!BUILD +!Dockerfile +!python.cc diff --git a/plugins/protocolbuffers/python/v27.0/BUILD b/plugins/protocolbuffers/python/v27.0/BUILD new file mode 100644 index 000000000..013f4312b --- /dev/null +++ b/plugins/protocolbuffers/python/v27.0/BUILD @@ -0,0 +1,7 @@ +cc_binary( + name = "protoc-gen-python", + srcs = ["python.cc"], + deps = [ + "//:protoc_lib", + ], +) diff --git a/plugins/protocolbuffers/python/v27.0/Dockerfile b/plugins/protocolbuffers/python/v27.0/Dockerfile new file mode 100644 index 000000000..857ae770a --- /dev/null +++ b/plugins/protocolbuffers/python/v27.0/Dockerfile @@ -0,0 +1,27 @@ +# syntax=docker/dockerfile:1.7 +FROM debian:bookworm-20240513 AS build + +ARG TARGETARCH + +RUN apt-get update \ + && apt-get install -y curl git cmake build-essential g++ unzip zip +RUN arch=${TARGETARCH}; \ + if [ "${arch}" = "amd64" ]; then arch="x86_64"; fi; \ + curl -fsSL -o /usr/local/bin/bazel https://github.com/bazelbuild/bazel/releases/download/7.1.2/bazel-7.1.2-linux-${arch} \ + && chmod +x /usr/local/bin/bazel + +WORKDIR /build +RUN curl -fsSL -o protoc.tar.gz https://github.com/protocolbuffers/protobuf/releases/download/v27.0/protobuf-27.0.tar.gz \ + && tar --strip-components=1 -zxf protoc.tar.gz \ + && rm protoc.tar.gz +RUN bazel build '//:protoc_lib' +COPY --link BUILD python.cc plugins/ +RUN bazel build '//plugins:protoc-gen-python.stripped' + +FROM gcr.io/distroless/cc-debian12:latest@sha256:e1065a1d58800a7294f74e67c32ec4146d09d6cbe471c1fa7ed456b2d2bf06e0 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/v27.0/buf.plugin.yaml b/plugins/protocolbuffers/python/v27.0/buf.plugin.yaml new file mode 100644 index 000000000..7ac474d4b --- /dev/null +++ b/plugins/protocolbuffers/python/v27.0/buf.plugin.yaml @@ -0,0 +1,17 @@ +version: v1 +name: buf.build/protocolbuffers/python +plugin_version: v27.0 +source_url: https://github.com/protocolbuffers/protobuf +description: Base types for Python. Generates message and enum types. +output_languages: + - python +spdx_license_id: BSD-3-Clause +license_url: https://github.com/protocolbuffers/protobuf/blob/v27.0/LICENSE +registry: + python: + package_type: "runtime" + # https://github.com/protocolbuffers/protobuf/blob/v27.0/python/dist/setup.py#L78 + requires_python: ">=3.8" + deps: + # https://pypi.org/project/protobuf/ + - "protobuf~=5.27" diff --git a/plugins/protocolbuffers/python/v27.0/python.cc b/plugins/protocolbuffers/python/v27.0/python.cc new file mode 100644 index 000000000..f8a9f636d --- /dev/null +++ b/plugins/protocolbuffers/python/v27.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/v27.0/.dockerignore b/plugins/protocolbuffers/ruby/v27.0/.dockerignore new file mode 100644 index 000000000..2bdb552e6 --- /dev/null +++ b/plugins/protocolbuffers/ruby/v27.0/.dockerignore @@ -0,0 +1,4 @@ +* +!BUILD +!Dockerfile +!ruby.cc diff --git a/plugins/protocolbuffers/ruby/v27.0/BUILD b/plugins/protocolbuffers/ruby/v27.0/BUILD new file mode 100644 index 000000000..8bd93e181 --- /dev/null +++ b/plugins/protocolbuffers/ruby/v27.0/BUILD @@ -0,0 +1,7 @@ +cc_binary( + name = "protoc-gen-ruby", + srcs = ["ruby.cc"], + deps = [ + "//:protoc_lib", + ], +) diff --git a/plugins/protocolbuffers/ruby/v27.0/Dockerfile b/plugins/protocolbuffers/ruby/v27.0/Dockerfile new file mode 100644 index 000000000..358946a98 --- /dev/null +++ b/plugins/protocolbuffers/ruby/v27.0/Dockerfile @@ -0,0 +1,27 @@ +# syntax=docker/dockerfile:1.7 +FROM debian:bookworm-20240513 AS build + +ARG TARGETARCH + +RUN apt-get update \ + && apt-get install -y curl git cmake build-essential g++ unzip zip +RUN arch=${TARGETARCH}; \ + if [ "${arch}" = "amd64" ]; then arch="x86_64"; fi; \ + curl -fsSL -o /usr/local/bin/bazel https://github.com/bazelbuild/bazel/releases/download/7.1.2/bazel-7.1.2-linux-${arch} \ + && chmod +x /usr/local/bin/bazel + +WORKDIR /build +RUN curl -fsSL -o protoc.tar.gz https://github.com/protocolbuffers/protobuf/releases/download/v27.0/protobuf-27.0.tar.gz \ + && tar --strip-components=1 -zxf protoc.tar.gz \ + && rm protoc.tar.gz +RUN bazel build '//:protoc_lib' +COPY --link BUILD ruby.cc plugins/ +RUN bazel build '//plugins:protoc-gen-ruby.stripped' + +FROM gcr.io/distroless/cc-debian12:latest@sha256:e1065a1d58800a7294f74e67c32ec4146d09d6cbe471c1fa7ed456b2d2bf06e0 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/v27.0/buf.plugin.yaml b/plugins/protocolbuffers/ruby/v27.0/buf.plugin.yaml new file mode 100644 index 000000000..60b88d9aa --- /dev/null +++ b/plugins/protocolbuffers/ruby/v27.0/buf.plugin.yaml @@ -0,0 +1,9 @@ +version: v1 +name: buf.build/protocolbuffers/ruby +plugin_version: v27.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/v27.0/LICENSE diff --git a/plugins/protocolbuffers/ruby/v27.0/ruby.cc b/plugins/protocolbuffers/ruby/v27.0/ruby.cc new file mode 100644 index 000000000..73ba6a6ae --- /dev/null +++ b/plugins/protocolbuffers/ruby/v27.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/connectrpc/query-es/v1.4.1/eliza/plugin.sum b/tests/testdata/buf.build/connectrpc/query-es/v1.4.1/eliza/plugin.sum new file mode 100644 index 000000000..3e05f6c1b --- /dev/null +++ b/tests/testdata/buf.build/connectrpc/query-es/v1.4.1/eliza/plugin.sum @@ -0,0 +1 @@ +h1:quP47tcm/xIIl7mCbKdfYTdPXhxEEqyMkvnKheRTMPk= diff --git a/tests/testdata/buf.build/connectrpc/query-es/v1.4.1/petapis/plugin.sum b/tests/testdata/buf.build/connectrpc/query-es/v1.4.1/petapis/plugin.sum new file mode 100644 index 000000000..93353380a --- /dev/null +++ b/tests/testdata/buf.build/connectrpc/query-es/v1.4.1/petapis/plugin.sum @@ -0,0 +1 @@ +h1:21wLVIRlZzvnCqRIEGogQsku4KgCVSN6CBxTw4xrTew= diff --git a/tests/testdata/buf.build/protocolbuffers/cpp/v27.0/eliza/plugin.sum b/tests/testdata/buf.build/protocolbuffers/cpp/v27.0/eliza/plugin.sum new file mode 100644 index 000000000..437149d30 --- /dev/null +++ b/tests/testdata/buf.build/protocolbuffers/cpp/v27.0/eliza/plugin.sum @@ -0,0 +1 @@ +h1:6E1byL0F+/PolwWGldoPRGEkZ1z2G8GGc/dVcnW5pnA= diff --git a/tests/testdata/buf.build/protocolbuffers/cpp/v27.0/petapis/plugin.sum b/tests/testdata/buf.build/protocolbuffers/cpp/v27.0/petapis/plugin.sum new file mode 100644 index 000000000..6ef00f3ad --- /dev/null +++ b/tests/testdata/buf.build/protocolbuffers/cpp/v27.0/petapis/plugin.sum @@ -0,0 +1 @@ +h1:MeUmtShLza6krteG/0ZAeqH+s7sQ38kQjn4FXZyfWyg= diff --git a/tests/testdata/buf.build/protocolbuffers/csharp/v27.0/eliza/plugin.sum b/tests/testdata/buf.build/protocolbuffers/csharp/v27.0/eliza/plugin.sum new file mode 100644 index 000000000..95d53abf0 --- /dev/null +++ b/tests/testdata/buf.build/protocolbuffers/csharp/v27.0/eliza/plugin.sum @@ -0,0 +1 @@ +h1:4JRr0Z1jJV8c1HVCYRD525tsd+FSlTsW6DaZik9m7XE= diff --git a/tests/testdata/buf.build/protocolbuffers/csharp/v27.0/petapis/plugin.sum b/tests/testdata/buf.build/protocolbuffers/csharp/v27.0/petapis/plugin.sum new file mode 100644 index 000000000..04a7fe876 --- /dev/null +++ b/tests/testdata/buf.build/protocolbuffers/csharp/v27.0/petapis/plugin.sum @@ -0,0 +1 @@ +h1:cOr2ruxoSy0FCK5MHdAZZavnr/u1KjEd5UnolU7OFR8= diff --git a/tests/testdata/buf.build/protocolbuffers/java/v27.0/eliza/plugin.sum b/tests/testdata/buf.build/protocolbuffers/java/v27.0/eliza/plugin.sum new file mode 100644 index 000000000..d680a598b --- /dev/null +++ b/tests/testdata/buf.build/protocolbuffers/java/v27.0/eliza/plugin.sum @@ -0,0 +1 @@ +h1:RncDUqe2ooIq0Wk4hRcuiyq2jfurCPn78WRFcveyunA= diff --git a/tests/testdata/buf.build/protocolbuffers/java/v27.0/petapis/plugin.sum b/tests/testdata/buf.build/protocolbuffers/java/v27.0/petapis/plugin.sum new file mode 100644 index 000000000..d09aaa16a --- /dev/null +++ b/tests/testdata/buf.build/protocolbuffers/java/v27.0/petapis/plugin.sum @@ -0,0 +1 @@ +h1:M1KVBdlNX8yBBdbr+lK9b3DKzcY+d2vefqWGyBIH/ZQ= diff --git a/tests/testdata/buf.build/protocolbuffers/kotlin/v27.0/eliza/plugin.sum b/tests/testdata/buf.build/protocolbuffers/kotlin/v27.0/eliza/plugin.sum new file mode 100644 index 000000000..47ccf94dd --- /dev/null +++ b/tests/testdata/buf.build/protocolbuffers/kotlin/v27.0/eliza/plugin.sum @@ -0,0 +1 @@ +h1:J7eqKMamjBNfAPioiyv+/SNJN7P9AMcM5uGb4bDCyKs= diff --git a/tests/testdata/buf.build/protocolbuffers/kotlin/v27.0/petapis/plugin.sum b/tests/testdata/buf.build/protocolbuffers/kotlin/v27.0/petapis/plugin.sum new file mode 100644 index 000000000..2433cece3 --- /dev/null +++ b/tests/testdata/buf.build/protocolbuffers/kotlin/v27.0/petapis/plugin.sum @@ -0,0 +1 @@ +h1:QjhbNh2VNvm1b4I39W/2o3iItNkkz3GstPO9AQrogBw= diff --git a/tests/testdata/buf.build/protocolbuffers/objc/v27.0/eliza/plugin.sum b/tests/testdata/buf.build/protocolbuffers/objc/v27.0/eliza/plugin.sum new file mode 100644 index 000000000..7abdb2fe2 --- /dev/null +++ b/tests/testdata/buf.build/protocolbuffers/objc/v27.0/eliza/plugin.sum @@ -0,0 +1 @@ +h1:HfvkwqqGUPXgyC9l37RZTYdlI1kS57CxtpstA9Be6bY= diff --git a/tests/testdata/buf.build/protocolbuffers/objc/v27.0/petapis/plugin.sum b/tests/testdata/buf.build/protocolbuffers/objc/v27.0/petapis/plugin.sum new file mode 100644 index 000000000..364644b86 --- /dev/null +++ b/tests/testdata/buf.build/protocolbuffers/objc/v27.0/petapis/plugin.sum @@ -0,0 +1 @@ +h1:geYGzbm7oeicvukn5UwTZRI8pGeT5C845yFCkFrdeoM= diff --git a/tests/testdata/buf.build/protocolbuffers/php/v27.0/eliza/plugin.sum b/tests/testdata/buf.build/protocolbuffers/php/v27.0/eliza/plugin.sum new file mode 100644 index 000000000..0aa8e4a79 --- /dev/null +++ b/tests/testdata/buf.build/protocolbuffers/php/v27.0/eliza/plugin.sum @@ -0,0 +1 @@ +h1:QPzrHiVqsKch2vJglfhENTiriA0ABNl6Lc9w1JsO/V4= diff --git a/tests/testdata/buf.build/protocolbuffers/php/v27.0/petapis/plugin.sum b/tests/testdata/buf.build/protocolbuffers/php/v27.0/petapis/plugin.sum new file mode 100644 index 000000000..f79558f09 --- /dev/null +++ b/tests/testdata/buf.build/protocolbuffers/php/v27.0/petapis/plugin.sum @@ -0,0 +1 @@ +h1:+GG6Adj0BzYv7HYczwo99yo0zPmoV42aukDGOgfG8oI= diff --git a/tests/testdata/buf.build/protocolbuffers/pyi/v27.0/eliza/plugin.sum b/tests/testdata/buf.build/protocolbuffers/pyi/v27.0/eliza/plugin.sum new file mode 100644 index 000000000..196fe700f --- /dev/null +++ b/tests/testdata/buf.build/protocolbuffers/pyi/v27.0/eliza/plugin.sum @@ -0,0 +1 @@ +h1:G5FqoiiggweB/wzLjL0N+pmAmS9MVvZ0r88nEeOKuWg= diff --git a/tests/testdata/buf.build/protocolbuffers/pyi/v27.0/petapis/plugin.sum b/tests/testdata/buf.build/protocolbuffers/pyi/v27.0/petapis/plugin.sum new file mode 100644 index 000000000..4d6c0bdb4 --- /dev/null +++ b/tests/testdata/buf.build/protocolbuffers/pyi/v27.0/petapis/plugin.sum @@ -0,0 +1 @@ +h1:yGQNs1uA0Kxe7D26svDauCkaVnqJKw60EztlQUbbxlo= diff --git a/tests/testdata/buf.build/protocolbuffers/python/v27.0/eliza/plugin.sum b/tests/testdata/buf.build/protocolbuffers/python/v27.0/eliza/plugin.sum new file mode 100644 index 000000000..ee71f6e62 --- /dev/null +++ b/tests/testdata/buf.build/protocolbuffers/python/v27.0/eliza/plugin.sum @@ -0,0 +1 @@ +h1:XPSnzr5SUjtPkUh9q0XnVkP0ctULiu9Hyybc9HzT9y4= diff --git a/tests/testdata/buf.build/protocolbuffers/python/v27.0/petapis/plugin.sum b/tests/testdata/buf.build/protocolbuffers/python/v27.0/petapis/plugin.sum new file mode 100644 index 000000000..739eddf5e --- /dev/null +++ b/tests/testdata/buf.build/protocolbuffers/python/v27.0/petapis/plugin.sum @@ -0,0 +1 @@ +h1:DUqDMe+aGKDgq9I+79rCwsdOzJ2JBec9HgyerdP6Ba0= diff --git a/tests/testdata/buf.build/protocolbuffers/ruby/v27.0/eliza/plugin.sum b/tests/testdata/buf.build/protocolbuffers/ruby/v27.0/eliza/plugin.sum new file mode 100644 index 000000000..154470232 --- /dev/null +++ b/tests/testdata/buf.build/protocolbuffers/ruby/v27.0/eliza/plugin.sum @@ -0,0 +1 @@ +h1:wL1Q3+8iavxHmdyq5u83vd727a1AWCxrMG95KTx7C+Y= diff --git a/tests/testdata/buf.build/protocolbuffers/ruby/v27.0/petapis/plugin.sum b/tests/testdata/buf.build/protocolbuffers/ruby/v27.0/petapis/plugin.sum new file mode 100644 index 000000000..e3e7d09f4 --- /dev/null +++ b/tests/testdata/buf.build/protocolbuffers/ruby/v27.0/petapis/plugin.sum @@ -0,0 +1 @@ +h1:MGkHm05RCCLhPfU20vGzQ4ZpJgM9pJ1Zehn2jZyCzVA=