From f7630594eb54d0c05cd42d33f496f56dae9976e0 Mon Sep 17 00:00:00 2001 From: "app-token-plugins[bot]" Date: Wed, 18 Mar 2026 15:26:43 +0000 Subject: [PATCH 1/3] detected new plugin versions --- .../connectrpc/kotlin/v0.8.0/.dockerignore | 3 + plugins/connectrpc/kotlin/v0.8.0/Dockerfile | 20 +++++ .../connectrpc/kotlin/v0.8.0/buf.plugin.yaml | 30 ++++++++ plugins/connectrpc/kotlin/v0.8.0/pom.xml | 76 +++++++++++++++++++ .../connectrpc/kotlin/v0.8.0/eliza/plugin.sum | 1 + .../kotlin/v0.8.0/petapis/plugin.sum | 1 + 6 files changed, 131 insertions(+) create mode 100644 plugins/connectrpc/kotlin/v0.8.0/.dockerignore create mode 100644 plugins/connectrpc/kotlin/v0.8.0/Dockerfile create mode 100644 plugins/connectrpc/kotlin/v0.8.0/buf.plugin.yaml create mode 100644 plugins/connectrpc/kotlin/v0.8.0/pom.xml create mode 100644 tests/testdata/buf.build/connectrpc/kotlin/v0.8.0/eliza/plugin.sum create mode 100644 tests/testdata/buf.build/connectrpc/kotlin/v0.8.0/petapis/plugin.sum diff --git a/plugins/connectrpc/kotlin/v0.8.0/.dockerignore b/plugins/connectrpc/kotlin/v0.8.0/.dockerignore new file mode 100644 index 000000000..7ff6309df --- /dev/null +++ b/plugins/connectrpc/kotlin/v0.8.0/.dockerignore @@ -0,0 +1,3 @@ +* +!Dockerfile +!pom.xml diff --git a/plugins/connectrpc/kotlin/v0.8.0/Dockerfile b/plugins/connectrpc/kotlin/v0.8.0/Dockerfile new file mode 100644 index 000000000..456cd2f6f --- /dev/null +++ b/plugins/connectrpc/kotlin/v0.8.0/Dockerfile @@ -0,0 +1,20 @@ +# syntax=docker/dockerfile:1.22 +FROM debian:bookworm-20260316 AS build + +RUN apt-get update \ + && apt-get install -y curl +WORKDIR /app +RUN curl -fsSL -o /app/protoc-gen-connect-kotlin.jar https://repo1.maven.org/maven2/com/connectrpc/protoc-gen-connect-kotlin/0.8.0/protoc-gen-connect-kotlin-0.8.0.jar + +FROM gcr.io/distroless/java21-debian12:latest@sha256:f34fd3e4e2d7a246d764d0614f5e6ffb3a735930723fac4cfc25a72798950262 as base + +FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps +COPY pom.xml /tmp/pom.xml +RUN cd /tmp && mvn -f pom.xml dependency:go-offline + +FROM scratch +COPY --from=base --link / / +COPY --from=build --link --chmod=0755 --chown=root:root /app/protoc-gen-connect-kotlin.jar . +COPY --from=maven-deps /root/.m2/repository /maven-repository +USER nobody +ENTRYPOINT [ "/usr/bin/java", "-jar", "/protoc-gen-connect-kotlin.jar"] diff --git a/plugins/connectrpc/kotlin/v0.8.0/buf.plugin.yaml b/plugins/connectrpc/kotlin/v0.8.0/buf.plugin.yaml new file mode 100644 index 000000000..146da090e --- /dev/null +++ b/plugins/connectrpc/kotlin/v0.8.0/buf.plugin.yaml @@ -0,0 +1,30 @@ +version: v1 +name: buf.build/connectrpc/kotlin +plugin_version: v0.8.0 +source_url: https://github.com/connectrpc/connect-kotlin +integration_guide_url: https://connectrpc.com/docs/kotlin/getting-started +description: Idiomatic gRPC & Connect RPCs for Kotlin. +deps: + - plugin: buf.build/protocolbuffers/kotlin:v34.0 +output_languages: + - kotlin +spdx_license_id: Apache-2.0 +license_url: https://github.com/connectrpc/connect-kotlin/blob/v0.8.0/LICENSE +registry: + opts: + - generateCallbackMethods=true + maven: + compiler: + kotlin: + api_version: "1.8" + version: "2.1.0" + deps: + - com.connectrpc:connect-kotlin:0.8.0 + - com.connectrpc:connect-kotlin-google-java-ext:0.8.0 + - com.connectrpc:connect-kotlin-okhttp:0.8.0 + additional_runtimes: + - name: lite + deps: + - com.connectrpc:connect-kotlin:0.8.0 + - com.connectrpc:connect-kotlin-google-javalite-ext:0.8.0 + - com.connectrpc:connect-kotlin-okhttp:0.8.0 diff --git a/plugins/connectrpc/kotlin/v0.8.0/pom.xml b/plugins/connectrpc/kotlin/v0.8.0/pom.xml new file mode 100644 index 000000000..3b60890a4 --- /dev/null +++ b/plugins/connectrpc/kotlin/v0.8.0/pom.xml @@ -0,0 +1,76 @@ + + 4.0.0 + temp + temp + 1.0 + + + com.connectrpc + connect-kotlin + 0.8.0 + + + com.connectrpc + connect-kotlin-google-java-ext + 0.8.0 + + + com.connectrpc + connect-kotlin-okhttp + 0.8.0 + + + com.google.protobuf + protobuf-kotlin + 4.34.0 + + + org.jetbrains.kotlin + kotlin-stdlib + 1.8.22 + + + org.jetbrains.kotlin + kotlin-stdlib-jdk8 + 1.8.22 + + + com.google.protobuf + protobuf-java + 4.34.0 + + + + com.connectrpc + connect-kotlin-google-javalite-ext + 0.8.0 + + + com.google.protobuf + protobuf-kotlin-lite + 4.34.0 + + + com.google.protobuf + protobuf-javalite + 4.34.0 + + + build.buf + protobuf-javalite + 4.34.0 + + + + + + org.jetbrains.kotlin + kotlin-maven-plugin + 2.1.0 + + 1.8 + + + + + diff --git a/tests/testdata/buf.build/connectrpc/kotlin/v0.8.0/eliza/plugin.sum b/tests/testdata/buf.build/connectrpc/kotlin/v0.8.0/eliza/plugin.sum new file mode 100644 index 000000000..b77f0285d --- /dev/null +++ b/tests/testdata/buf.build/connectrpc/kotlin/v0.8.0/eliza/plugin.sum @@ -0,0 +1 @@ +h1:jZozX+zN6UUwiUu38R4IG3BD2PFi7novwzYovV5V5mY= diff --git a/tests/testdata/buf.build/connectrpc/kotlin/v0.8.0/petapis/plugin.sum b/tests/testdata/buf.build/connectrpc/kotlin/v0.8.0/petapis/plugin.sum new file mode 100644 index 000000000..c591f7283 --- /dev/null +++ b/tests/testdata/buf.build/connectrpc/kotlin/v0.8.0/petapis/plugin.sum @@ -0,0 +1 @@ +h1:qI/BZM1TvMxo1xA+W5Y+h5jGfuIHe2aFsVRriNpB/3M= From f977fc34960c0d50b271fb111467d21799a76395 Mon Sep 17 00:00:00 2001 From: "Philip K. Warren" Date: Wed, 18 Mar 2026 12:15:31 -0500 Subject: [PATCH 2/3] Update kotlin api and plugin version --- plugins/connectrpc/kotlin/v0.8.0/buf.plugin.yaml | 4 ++-- plugins/connectrpc/kotlin/v0.8.0/pom.xml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/connectrpc/kotlin/v0.8.0/buf.plugin.yaml b/plugins/connectrpc/kotlin/v0.8.0/buf.plugin.yaml index 146da090e..c39f72293 100644 --- a/plugins/connectrpc/kotlin/v0.8.0/buf.plugin.yaml +++ b/plugins/connectrpc/kotlin/v0.8.0/buf.plugin.yaml @@ -16,8 +16,8 @@ registry: maven: compiler: kotlin: - api_version: "1.8" - version: "2.1.0" + api_version: "2.1" + version: "2.2.21" deps: - com.connectrpc:connect-kotlin:0.8.0 - com.connectrpc:connect-kotlin-google-java-ext:0.8.0 diff --git a/plugins/connectrpc/kotlin/v0.8.0/pom.xml b/plugins/connectrpc/kotlin/v0.8.0/pom.xml index 3b60890a4..1688f4436 100644 --- a/plugins/connectrpc/kotlin/v0.8.0/pom.xml +++ b/plugins/connectrpc/kotlin/v0.8.0/pom.xml @@ -66,9 +66,9 @@ org.jetbrains.kotlin kotlin-maven-plugin - 2.1.0 + 2.2.21 - 1.8 + 2.1 From abf7b35c5a3a006f5b8f7d0e1affafaed90500dd Mon Sep 17 00:00:00 2001 From: "Philip K. Warren" Date: Wed, 18 Mar 2026 12:31:19 -0500 Subject: [PATCH 3/3] Add a test to ensure buf.plugin.yaml and pom.xml stay in sync --- tests/plugins_test.go | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/tests/plugins_test.go b/tests/plugins_test.go index f0dd876bf..4528571c2 100644 --- a/tests/plugins_test.go +++ b/tests/plugins_test.go @@ -6,6 +6,7 @@ import ( "cmp" "context" "encoding/xml" + "errors" "fmt" "io" "io/fs" @@ -25,6 +26,7 @@ import ( "golang.org/x/mod/semver" "golang.org/x/mod/sumdb/dirhash" + "github.com/bufbuild/plugins/internal/maven" "github.com/bufbuild/plugins/internal/plugin" "github.com/bufbuild/plugins/internal/source" ) @@ -326,6 +328,38 @@ func TestMavenDependencies(t *testing.T) { } } +func TestMavenPOMInSync(t *testing.T) { + t.Parallel() + plugins := loadFilteredPlugins(t) + pluginsDir, err := filepath.Abs(filepath.Join("..", "plugins")) + require.NoError(t, err) + for _, p := range plugins { + if p.Registry.Maven == nil { + continue + } + pomPath := filepath.Join(filepath.Dir(p.Path), "pom.xml") + if _, err := os.Stat(pomPath); err != nil { + if errors.Is(err, fs.ErrNotExist) { + continue + } + require.NoError(t, err) + } + t.Run(fmt.Sprintf("%s/%s@%s", p.Identity.Owner(), p.Identity.Plugin(), p.PluginVersion), func(t *testing.T) { + t.Parallel() + pluginVersionDir := filepath.Dir(p.Path) + pluginConfig, err := bufremotepluginconfig.ParseConfig(p.Path) + require.NoError(t, err) + require.NoError(t, maven.MergeTransitiveDeps(pluginConfig, pluginsDir)) + require.NoError(t, maven.DeduplicateAllDeps(pluginConfig.Registry.Maven)) + expectedPOM, err := maven.RenderPOM(pluginConfig) + require.NoError(t, err) + actualPOM, err := os.ReadFile(filepath.Join(pluginVersionDir, "pom.xml")) + require.NoError(t, err) + assert.Equal(t, expectedPOM, string(actualPOM), "pom.xml is out of sync with buf.plugin.yaml") + }) + } +} + func TestNugetDependencies(t *testing.T) { t.Parallel()