成功构建的 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)
如您所见,示例项目的第一阶段只有一个目标,用于构建一个没有其他依赖项的源文件:
图 1. hello-world
的依赖项图显示一个具有单个源文件的目标。
设置工作区、构建项目并检查其依赖项后,您可以增加一些复杂性。