当使用瞪羚生成 BUILD 文件时,
bazel run //:gazelle
,我在 protobuf 包中遇到了奇怪的依赖关系。我在生成的输出中添加了一些奇怪的部分的注释。没有这些部门,构建似乎没问题。
go.mod
proto/
BUILD.bazel
user.proto
command.proto
core.proto
load("@rules_proto//proto:defs.bzl", "proto_library")
load("@io_bazel_rules_go//go:def.bzl", "go_library")
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
proto_library(
name = "api_proto",
srcs = [
"command.proto",
"core.proto",
"user.proto",
],
visibility = ["//visibility:public"],
deps = [
"//:root_proto", # THIS DOESN'T EXIST
"@com_google_protobuf//:any_proto",
],
)
go_proto_library(
name = "api_go_proto",
compilers = ["@io_bazel_rules_go//proto:go_grpc"],
importpath = "kubelt.com/kubelt/api",
proto = ":api_proto",
visibility = ["//visibility:public"],
deps = [ # THESE ARE NOT GO DEPS
"//:command.proto",
"//:core.proto",
"//:user.proto",
],
)
go_library(
name = "api",
embed = [":api_go_proto"],
importpath = "kubelt.com/kubelt/api",
visibility = ["//visibility:public"],
)
就我而言,问题是我的 x.proto 文件之一由于我进行了复制粘贴而导入了自身。
所以我只需要删除该行。