Analisar o gráfico de dependências

Um build bem-sucedido tem todas as dependências declaradas explicitamente no BUILD arquivo. O Bazel usa essas declarações para criar o gráfico de dependência do projeto, o que permite builds incrementais precisos.

Para visualizar as dependências do projeto de exemplo, gere uma representação de texto do gráfico de dependência executando este comando na raiz do espaço de trabalho:

bazel query --notool_deps --noimplicit_deps "deps(//main:hello-world)" \
  --output graph

O comando acima informa ao Bazel para procurar todas as dependências do destino //main:hello-world (exceto dependências implícitas e de host) e formatar a saída como um gráfico.

Em seguida, cole o texto no GraphViz.

No Ubuntu, é possível visualizar o gráfico localmente instalando o GraphViz e o visualizador de pontos xdot:

sudo apt update && sudo apt install graphviz xdot

Em seguida, gere e visualize o gráfico canalizando a saída de texto acima diretamente para o xdot:

xdot <(bazel query --notool_deps --noimplicit_deps "deps(//main:hello-world)" \
  --output graph)

Como você pode ver, a primeira etapa do projeto de exemplo tem um único destino que cria um único arquivo de origem sem dependências adicionais:

Gráfico de dependência para &quot;hello-world&quot;

Figura 1. O gráfico de dependência de hello-world mostra um único destino com um único arquivo de origem.

Depois de configurar o espaço de trabalho, criar o projeto e examinar as dependências, você poderá adicionar alguma complexidade.