Revisa el gráfico de dependencias

Una compilación exitosa tiene todas sus dependencias declaradas de forma explícita en el archivo BUILD. Bazel usa esas declaraciones para crear el grafo 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 grafo de dependencia mediante la ejecución de 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 de 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 el visualizador de puntos de xdot:

sudo apt update && sudo apt install graphviz xdot

Luego, puedes generar y ver el grafo si canalizas el resultado de texto por encima de 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 objetivo que compila un solo archivo de origen sin dependencias adicionales:

Gráfico de dependencia de “hello-world”

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

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