在我的WORKSPACE中,我为importpath golang.org/x/net定义了go_repostitory。
go_repository(
name = "org_golang_x_net",
commit = "5ccada7d0a7ba9aeb5d3aca8d3501b4c2a509fec",
importpath = "golang.org/x/net",
)
但是当我运行gazelle时,添加到BUILD.Bazel的依赖项不是@ org_golang_x_net // context:go_default_library。相反,它是以下内容://golang.org/x/net/context:go_default_library
为什么gazelle忽略定义的go_repository?有没有办法考虑在WORKSPACE中定义的deps?
答案 0 :(得分:1)
我猜测你previous question这是因为你使用的是空前缀。
瞪羚通过几个步骤解决了Go进口到Bazel标签的问题:
go_library
且匹配importpath
,则Gazelle将使用该库的名称。//golang.org/x/net/content:go_default_library
的标签。
importpath
属性)。我已提交bazelbuild/bazel-gazelle#101来解决此问题。目前,您可能希望向顶级构建文件添加指令,如:
# gazelle:prefix __do_not_match__
这基本上会禁用第二种情况,因为不会从那开始导入。您的src目录中仍然有一个空前缀(在src / BUILD.bazel中设置为# gazelle:prefix
),因此您的库仍将具有正确的importpath
指令。您可能希望将其设置为更具体的子目录。