종속 항목 그래프 검토

문제 신고 소스 보기 Nightly · 8.0 . 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

빌드가 성공하면 모든 종속 항목이 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)

보시다시피 샘플 프로젝트의 첫 번째 단계에는 추가 종속 항목 없이 단일 소스 파일을 빌드하는 단일 타겟이 있습니다.

&#39;hello-world&#39;의 종속 항목 그래프

그림 1. hello-world의 종속 항목 그래프는 단일 소스 파일이 있는 단일 타겟을 표시합니다.

워크스페이스를 설정하고 프로젝트를 빌드하고 종속 항목을 검사한 후 약간의 복잡성을 추가할 수 있습니다.