성공적인 빌드에는 모든 종속 항목이 BUILD
파일에 명시적으로 명시되어 있습니다. Bazel은 이러한 문을 사용하여 프로젝트의 종속 항목 그래프를 생성하므로 정확한 증분 빌드가 가능합니다.
샘플 프로젝트의 종속 항목을 시각화하려면 워크스페이스 루트에서 다음 명령어를 실행하여 종속 항목 그래프의 텍스트 표현을 생성하면 됩니다.
bazel query --notool_deps --noimplicit_deps "deps(//main:hello-world)" \
--output graph
위 명령어는 Bazel에 //main:hello-world
타겟의 모든 종속 항목 (호스트 및 암시적 종속 항목 제외)을 찾고 출력을 그래프로 포맷하도록 지시합니다.
그런 다음 텍스트를 GraphViz에 붙여넣습니다.
Ubuntu에서는 GraphViz와 xdot Dot Viewer를 설치하여 로컬에서 그래프를 볼 수 있습니다.
sudo apt update && sudo apt install graphviz xdot
그런 다음 위의 텍스트 출력을 xdot으로 바로 파이프하여 그래프를 생성하고 볼 수 있습니다.
xdot <(bazel query --notool_deps --noimplicit_deps "deps(//main:hello-world)" \
--output graph)
보시다시피 샘플 프로젝트의 첫 번째 단계에는 추가 종속 항목 없이 단일 소스 파일을 빌드하는 단일 타겟이 있습니다.
그림 1. hello-world
의 종속 항목 그래프에는 소스 파일이 하나인 타겟이 하나 표시됩니다.
작업공간을 설정하고 프로젝트를 빌드하고 종속 항목을 검사한 후 복잡성을 추가할 수 있습니다.