Skip to content

Commit 997520f

Browse files
authored
feat(pkg-drv): allow setting custom aspect and kinds (#3328)
* feat(pkg-drv): allow setting custom aspect and kinds * fixup! use kinds array * fixup! format
1 parent 8a731c5 commit 997520f

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

go/tools/gopackagesdriver/bazel_json_builder.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,15 @@ const (
3030
RulesGoStdlibLabel = "@io_bazel_rules_go//:stdlib"
3131
)
3232

33+
var _defaultKinds = []string{"go_library", "go_test", "go_binary"}
34+
3335
func (b *BazelJSONBuilder) fileQuery(filename string) string {
3436
if filepath.IsAbs(filename) {
3537
fp, _ := filepath.Rel(b.bazel.WorkspaceRoot(), filename)
3638
filename = fp
3739
}
38-
return fmt.Sprintf(`kind("go_library|go_test|go_binary", same_pkg_direct_rdeps("%s"))`, filename)
40+
kinds := append(_defaultKinds, additionalKinds...)
41+
return fmt.Sprintf(`kind("%s", same_pkg_direct_rdeps("%s"))`, strings.Join(kinds, "|"), filename)
3942
}
4043

4144
func (b *BazelJSONBuilder) packageQuery(importPath string) string {
@@ -120,7 +123,7 @@ func (b *BazelJSONBuilder) Build(ctx context.Context, mode LoadMode) ([]string,
120123
"--experimental_convenience_symlinks=ignore",
121124
"--ui_event_filters=-info,-stderr",
122125
"--noshow_progress",
123-
"--aspects=" + rulesGoRepositoryName + "//go/tools/gopackagesdriver:aspect.bzl%go_pkg_info_aspect",
126+
"--aspects=" + customAspect,
124127
"--output_groups=" + b.outputGroupsForMode(mode),
125128
"--keep_going", // Build all possible packages
126129
}, bazelFlags, bazelBuildFlags, labels)

go/tools/gopackagesdriver/main.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ var (
5858
bazelQueryScope = getenvDefault("GOPACKAGESDRIVER_BAZEL_QUERY_SCOPE", "")
5959
bazelBuildFlags = strings.Fields(os.Getenv("GOPACKAGESDRIVER_BAZEL_BUILD_FLAGS"))
6060
workspaceRoot = os.Getenv("BUILD_WORKSPACE_DIRECTORY")
61+
customAspect = getenvDefault("GOPACKAGESDRIVER_BAZEL_ASPECT", rulesGoRepositoryName+"//go/tools/gopackagesdriver:aspect.bzl%go_pkg_info_aspect")
62+
additionalKinds = strings.Fields(os.Getenv("GOPACKAGESDRIVER_BAZEL_KINDS"))
6163
emptyResponse = &driverResponse{
6264
NotHandled: false,
6365
Sizes: types.SizesFor("gc", "amd64").(*types.StdSizes),

0 commit comments

Comments
 (0)