查看依赖项图表

报告问题 查看来源 每晚 · 7.2。 · 7.1敬上 · 7.0 · 6.5 · 6.4

成功的 build 会在 BUILD 中明确声明其所有依赖项 文件。Bazel 会使用这些语句来创建项目的依赖关系图, 可实现准确的增量构建。

要直观呈现示例项目的依赖项,您可以生成一段文本 表示依赖关系图的表示,方法是在 工作区根目录:

bazel query --notool_deps --noimplicit_deps "deps(//main:hello-world)" \
  --output graph

上述命令会告知 Bazel 查找目标的所有依赖项 //main:hello-world(不包括主机和隐式依赖项)并设置 输出为图表。

然后,将文本粘贴到 GraphViz 中。

在 Ubuntu 上,您可以通过安装 GraphViz 和 xdot 在本地查看图表 点查看器:

sudo apt update && sudo apt install graphviz xdot

然后,通过竖线输出上面的文本来生成和查看图表 直奔 xdot:

xdot <(bazel query --notool_deps --noimplicit_deps "deps(//main:hello-world)" \
  --output graph)

如您所见,示例项目的第一阶段只有一个目标, 构建无其他依赖项的单个源文件:

“hello-world”的依赖关系图

图 1. hello-world 的依赖关系图显示具有单个目标的单个目标 源文件。

设置完工作区后,构建项目并检查其 依赖项,就可以增加一些复杂性。