Bazel规则可以组成其他bazel规则。 例如:
def cpp_library(name,deps=[]):
explicit_cpp_file = name + ".cpp"
explicit_hpp_file = name + ".hpp"
native.cc_library(
name = name,
srcs = [explicit_cpp_file],
hdrs = [explicit_hpp_file],
deps = deps,
)
在这里我们看到cpp_library
使用native.cc_library
。
是否可以使用bazel查询来打印此关系信息?
您可以想象难以想象随着项目规模的增长和许多可用规则的出现,很难知道其他哪些规则使用了哪些规则。
答案 0 :(得分:0)
您可以通过bazel query
和--output
获得此信息。 --output build
将在运行宏后显示规则。 --output graph
将显示规则之间的关系,例如
bazel query //some/package --output graph | xdot
(或例如| dot -Tpng > /tmp/dep.png
)
请参见https://docs.bazel.build/versions/master/query.html#output-formats