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查询打印此关系信息?
您可以想象,想知道哪些规则被使用,而其他规则作为项目的大小和许多规则是可用的,这是多么困难。
发布于 2019-02-26 21:48:07
您可以通过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
https://stackoverflow.com/questions/54891651
复制相似问题