Uma versão bem-sucedida tem todas as dependências explicitamente declaradas no arquivo
BUILD
. O Bazel usa essas instruções para criar o gráfico de dependências do projeto, o que permite versões incrementais precisas.
Para visualizar as dependências do projeto de amostra, é possível gerar uma representação de texto do gráfico de dependências 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 diz ao Bazel para procurar todas as dependências do //main:hello-world
de destino (excluindo dependências implícitas de host) e formatar a saída como um gráfico.
Em seguida, cole o texto em GraphViz.
No Ubuntu, você pode ver o gráfico localmente instalando o GraphViz e o xdot Dot Viewer:
sudo apt update && sudo apt install graphviz xdot
Depois, gere e visualize o gráfico encadeando 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:
Figura 1. O gráfico de dependências 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 analisar as dependências, adicione alguma complexidade.