这可能吗? AFAICT没有内置的py_proto_library
规则,因此尝试使用我自己的genrule
:
genrule(
name = "my_proto",
srcs = ["my.proto"],
outs = ["my_pb2.py", "my_pb2_grpc.py"],
cmd = "python -m grpc_tools.protoc --python_out=$(@D) --grpc_python_out=$(@D) $<"
)
deps
的py_binary
中的错误,出现'//:my_proto' does not have mandatory provider 'py'.
最佳答案
像滚动文件一样,它可以很好地滚动您自己的原型文件,只需将它们添加到srcs
的deps
(不是py_binary
)中。deps
仅用于py_library
(如果愿意,也可以将.py
包装在py_library
中,然后使二进制文件依赖于此)。