Um build bem-sucedido tem todas as dependências explicitamente declaradas no BUILD
.
. O Bazel usa essas instruções para criar o gráfico de dependências do projeto.
o que permite builds incrementais precisos.
Para visualizar as dependências do projeto de exemplo, gere um arquivo de texto representação do gráfico de dependência. Basta executar o comando 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 destino
//main:hello-world
(excluindo dependências implícitas e de host) e formate o
como um gráfico.
Depois, cole o texto no GraphViz.
No Ubuntu, é possível visualizar o gráfico localmente instalando o GraphViz e o xdot Visualizador de pontos:
sudo apt update && sudo apt install graphviz xdot
Em seguida, você pode gerar e visualizar o gráfico ao barrar a saída de texto acima direto para o xdot:
xdot <(bazel query --notool_deps --noimplicit_deps "deps(//main:hello-world)" \
--output graph)
Como pode notar, a primeira etapa do exemplo de projeto tem um único objetivo que cria um único arquivo de origem sem dependências adicionais:
Figura 1. O gráfico de dependência de hello-world
mostra um único destino com um único
arquivo de origem.
Depois de configurar seu espaço de trabalho, crie seu projeto e examine as dependências, você pode adicionar alguma complexidade.