Revisa el gráfico de dependencias

Una compilación correcta tiene todas sus dependencias declaradas de manera explícita en el archivo BUILD. Bazel usa esas instrucciones 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 ejecutando 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 del //main:hello-world de destino (excepto las dependencias implícitas y de host) y que formatee el resultado como un gráfico.

Luego, pega el texto en GraphViz.

En Ubuntu, puedes ver el gráfico 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 canalizando 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 solo destino que compila un solo archivo fuente sin dependencias adicionales:

Gráfico de dependencias para “hello-world”

Figura 1. El gráfico de dependencia de hello-world muestra un solo destino con un solo archivo de origen.

Después de configurar el lugar de trabajo, compilar el proyecto y examinar sus dependencias, puedes agregar complejidad.