查看依赖项图表

报告问题 查看源代码 每夜 build · 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

成功构建的 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 的依赖关系图显示具有单个源文件的单个目标。

设置工作区后,构建项目并检查其依赖项,然后便可以增加一定的复杂性。