diff --git a/go/tools/gopackagesdriver/bazel_json_builder.go b/go/tools/gopackagesdriver/bazel_json_builder.go index bb50f7a044..0f5e92e559 100644 --- a/go/tools/gopackagesdriver/bazel_json_builder.go +++ b/go/tools/gopackagesdriver/bazel_json_builder.go @@ -189,7 +189,7 @@ func (b *BazelJSONBuilder) query(ctx context.Context, query string) ([]string, e return labels, nil } -func (b *BazelJSONBuilder) Labels(ctx context.Context, requests []string) ([]string, error) { +func (b *BazelJSONBuilder) Labels(ctx context.Context, requests []string, additionalLabels []string) ([]string, error) { labels, err := b.query(ctx, b.queryFromRequests(requests...)) if err != nil { return nil, fmt.Errorf("query failed: %w", err) @@ -198,8 +198,7 @@ func (b *BazelJSONBuilder) Labels(ctx context.Context, requests []string) ([]str if len(labels) == 0 { return nil, fmt.Errorf("found no labels matching the requests") } - - return labels, nil + return append(labels, additionalLabels...), nil } func (b *BazelJSONBuilder) Build(ctx context.Context, labels []string, mode packages.LoadMode) ([]string, error) { diff --git a/go/tools/gopackagesdriver/main.go b/go/tools/gopackagesdriver/main.go index dea1e57909..28d7482b5b 100644 --- a/go/tools/gopackagesdriver/main.go +++ b/go/tools/gopackagesdriver/main.go @@ -66,6 +66,7 @@ var ( buildWorkingDirectory = os.Getenv("BUILD_WORKING_DIRECTORY") additionalAspects = strings.Fields(os.Getenv("GOPACKAGESDRIVER_BAZEL_ADDTL_ASPECTS")) additionalKinds = strings.Fields(os.Getenv("GOPACKAGESDRIVER_BAZEL_KINDS")) + additionalLabels = strings.Fields(os.Getenv("GOPACKAGESDRIVER_BAZEL_ADDTL_LABELS")) emptyResponse = &driverResponse{ NotHandled: true, Compiler: "gc", @@ -93,7 +94,7 @@ func run(ctx context.Context, in io.Reader, out io.Writer, args []string) error return fmt.Errorf("unable to build JSON files: %w", err) } - labels, err := bazelJsonBuilder.Labels(ctx, queries) + labels, err := bazelJsonBuilder.Labels(ctx, queries, additionalLabels) if err != nil { return fmt.Errorf("unable to lookup package: %w", err) }