From 2d54ac51c2b620d50a7eea6cdd7e89ff261c3fb7 Mon Sep 17 00:00:00 2001 From: "Philip K. Warren" Date: Mon, 8 Dec 2025 11:16:27 -0600 Subject: [PATCH] Ensure ignore_versions is respected for shared sources --- internal/cmd/fetcher/main.go | 7 +++++++ plugins/bufbuild/validate-java/source.yaml | 3 ++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/internal/cmd/fetcher/main.go b/internal/cmd/fetcher/main.go index 088d7edbc..b9e910cdf 100644 --- a/internal/cmd/fetcher/main.go +++ b/internal/cmd/fetcher/main.go @@ -11,6 +11,7 @@ import ( "os" "os/exec" "path/filepath" + "slices" "strings" "time" @@ -175,6 +176,12 @@ func run(ctx context.Context, root string) ([]createdPlugin, error) { } latestVersions[config.CacheKey()] = newVersion } + // Some plugins share the same source but specify different ignore versions. + // Ensure we continue to only fetch the latest version once but still respect ignores. + if slices.Contains(config.Source.IgnoreVersions, newVersion) { + log.Printf("skipping source: %s: %v", config.Filename, newVersion) + continue + } // example: plugins/grpc pluginDir := filepath.Dir(config.Filename) ok, err := checkDirExists(filepath.Join(pluginDir, newVersion)) diff --git a/plugins/bufbuild/validate-java/source.yaml b/plugins/bufbuild/validate-java/source.yaml index 772db9dcc..a9dd22457 100644 --- a/plugins/bufbuild/validate-java/source.yaml +++ b/plugins/bufbuild/validate-java/source.yaml @@ -1,6 +1,7 @@ source: ignore_versions: - - v1.3.0 # Temporarily ignore version until a release is published. + # Temporarily ignore version until a release is published. + - v1.3.0 github: owner: bufbuild repository: protoc-gen-validate