Una compilación correcta tiene todas sus dependencias indicadas de forma explícita en el archivo
BUILD
. Bazel usa esas declaraciones para crear el gráfico de dependencia del proyecto,
que permite compilaciones incrementales precisas.
Para visualizar las dependencias del proyecto de muestra, puedes generar una representación de texto del gráfico de dependencias. Para ello, ejecuta este comando en la raíz del lugar de trabajo:
bazel query --notool_deps --noimplicit_deps "deps(//main:hello-world)" \
--output graph
El comando anterior le indica a Bazel que busque todas las dependencias para el //main:hello-world
de destino (excepto las dependencias implícitas y del host) y que formatee el
resultado como un gráfico.
Luego, pega el texto en GraphViz.
En Ubuntu, puedes ver el grafo de forma local si instalas GraphViz y xdot Dot Viewer:
sudo apt update && sudo apt install graphviz xdot
Luego, puedes generar y ver el grafo si canalizas el resultado de texto anterior directamente a xdot:
xdot <(bazel query --notool_deps --noimplicit_deps "deps(//main:hello-world)" \
--output graph)
Como puedes ver, la primera etapa del proyecto de muestra tiene un único destino que compila un solo archivo de origen sin dependencias adicionales:
Figura 1: El gráfico de dependencia de hello-world
muestra un solo destino con un solo archivo de origen.
Después de configurar tu lugar de trabajo, compila tu proyecto y examina sus dependencias. Luego, puedes agregar algo de complejidad.