Analisar o gráfico de dependências

Uma versão bem-sucedida tem todas as dependências declaradas explicitamente no arquivo BUILD. O Bazel usa essas instruções para criar o gráfico de dependência do projeto, o que permite versões incrementais precisas.

Para visualizar as dependências do projeto de amostra, você pode gerar 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 instrui o Bazel a procurar todas as dependências do //main:hello-world de destino (exceto dependências implícitas e de host) e formatar a saída como um gráfico.

Em seguida, cole o texto em GraphViz.

No Ubuntu, para visualizar o gráfico localmente, instale o GraphViz e o xdot Dot Viewer:

sudo apt update && sudo apt install graphviz xdot

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

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

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

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

Figura 1. O gráfico de dependência de hello-world exibe 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, é possível aumentar a complexidade.