成功的 build 会在 BUILD
文件中明确声明其所有依赖项。Bazel 会使用这些语句来创建项目的依赖关系图,
从而实现准确的增量 build。
如需直观呈现示例项目的依赖项,您可以在工作区根目录下运行以下命令,以生成依赖关系图的文本 表示形式:
bazel query --notool_deps --noimplicit_deps "deps(//main:hello-world)" \
--output graph
上述命令会告知 Bazel 查找目标
//main:hello-world 的所有依赖项(不包括主机和隐式依赖项),并将
输出格式设置为图表。
然后,将文本粘贴到 GraphViz 中。
在 Ubuntu 上,您可以通过安装 GraphViz 和 xdot Dot Viewer 在本地查看图表:
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 的依赖关系图显示了一个目标,其中包含一个
源文件。
设置工作区、构建项目并检查其 依赖项后,您可以添加一些复杂性。