From 69c3362c544b2050fe4702bef39554dfb1f8f400 Mon Sep 17 00:00:00 2001 From: Steve Barrau <98589981+stevebarrau@users.noreply.github.com> Date: Tue, 12 Dec 2023 13:52:06 +0000 Subject: [PATCH] update runfiles style --- .../gazelle/private/servermanager/BUILD.bazel | 2 +- .../private/servermanager/servermanager.go | 28 ++++++------------- 2 files changed, 9 insertions(+), 21 deletions(-) diff --git a/java/gazelle/private/servermanager/BUILD.bazel b/java/gazelle/private/servermanager/BUILD.bazel index 7714f576..f8420e9f 100644 --- a/java/gazelle/private/servermanager/BUILD.bazel +++ b/java/gazelle/private/servermanager/BUILD.bazel @@ -8,7 +8,7 @@ go_library( visibility = ["//java/gazelle:__subpackages__"], deps = [ "//java/gazelle/private/javaparser/proto/gazelle/java/javaparser/v0:javaparser", - "@io_bazel_rules_go//go/tools/bazel:go_default_library", + "@io_bazel_rules_go//go/runfiles:go_default_library", "@org_golang_google_grpc//:go_default_library", ], ) diff --git a/java/gazelle/private/servermanager/servermanager.go b/java/gazelle/private/servermanager/servermanager.go index a78eca26..d3b093f0 100644 --- a/java/gazelle/private/servermanager/servermanager.go +++ b/java/gazelle/private/servermanager/servermanager.go @@ -8,17 +8,14 @@ import ( "os/exec" "path/filepath" "strconv" - "strings" "sync" "time" pb "github.com/bazel-contrib/rules_jvm/java/gazelle/private/javaparser/proto/gazelle/java/javaparser/v0" - "github.com/bazelbuild/rules_go/go/tools/bazel" + "github.com/bazelbuild/rules_go/go/runfiles" "google.golang.org/grpc" ) -const javaparser = "java/src/com/github/bazel_contrib/contrib_rules_jvm/javaparser/generators/Main" - type ServerManager struct { workspace string javaLogLevel string @@ -89,27 +86,18 @@ func (m *ServerManager) Connect() (*grpc.ClientConn, error) { } func locateJavaparser() (string, error) { - runfiles, err := bazel.ListRunfiles() + rf, err := runfiles.New() if err != nil { - return "", fmt.Errorf("failed to find javaparser in runfiles: %w", err) - } - - possiblePaths := make(map[string]bool) - for _, rf := range runfiles { - if strings.HasSuffix(rf.ShortPath, javaparser) { - possiblePaths[rf.Path] = true - } + return "", fmt.Errorf("failed to init new style runfiles: %w", err) } - if len(possiblePaths) == 0 { - return "", fmt.Errorf("failed to find javaparser in runfiles") + // We want //java/src/com/github/bazel_contrib/contrib_rules_jvm/javaparser/generators:Main + loc, err := rf.Rlocation("contrib_rules_jvm/java/src/com/github/bazel_contrib/contrib_rules_jvm/javaparser/generators/Main") + if err != nil { + return "", fmt.Errorf("failed to call RLocation: %w", err) } - // The set may contain multiple element indirectly pointing to the same thing. - for path := range possiblePaths { - return path, nil - } - panic("unreachable code") + return loc, nil } func readPort(path string) (int32, error) {