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.
permitindo 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 este comando no 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 você 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.