บิลด์ที่ประสบความสำเร็จมีการขึ้นต่อกันทั้งหมดที่ระบุไว้อย่างชัดเจนในไฟล์ BUILD
Bazel ใช้คำสั่งดังกล่าวเพื่อสร้างกราฟ Dependency ของโปรเจ็กต์ ซึ่งช่วยให้สร้างบิลด์บางส่วนได้อย่างแม่นยำ
หากต้องการแสดงภาพทรัพยากร Dependency ของโปรเจ็กต์ตัวอย่าง คุณสร้างการแสดงข้อความของกราฟทรัพยากร Dependency ได้โดยเรียกใช้คำสั่งนี้ที่รูทของพื้นที่ทำงาน
bazel query --notool_deps --noimplicit_deps "deps(//main:hello-world)" \
--output graph
คำสั่งด้านบนจะบอกให้ Bazel ค้นหาทรัพยากร Dependency ทั้งหมดสำหรับเป้าหมาย //main:hello-world
(ยกเว้นทรัพยากร Dependency ของโฮสต์และการอ้างอิงโดยนัย) และจัดรูปแบบเอาต์พุตเป็นกราฟ
จากนั้นจึงวางข้อความลงใน GraphViz
ใน Ubuntu คุณสามารถดูกราฟในเครื่องได้โดยติดตั้ง GraphViz และ xdot Viewer:
sudo apt update && sudo apt install graphviz xdot
จากนั้นคุณจะสร้างและดูกราฟได้โดยการวางเอาต์พุตข้อความด้านบนตรงไปยัง xdot
xdot <(bazel query --notool_deps --noimplicit_deps "deps(//main:hello-world)" \
--output graph)
คุณจะเห็นว่าขั้นตอนแรกของโปรเจ็กต์ตัวอย่างมีเป้าหมายเดียวที่สร้างไฟล์ต้นฉบับเดียวโดยไม่มีทรัพยากร Dependency เพิ่มเติม
รูปที่ 1 กราฟการขึ้นต่อกันของ hello-world
แสดงเป้าหมายเดียวที่มีไฟล์แหล่งที่มาเดียว
หลังจากตั้งค่าพื้นที่ทำงาน สร้างโปรเจ็กต์ และตรวจสอบการอ้างอิงของพื้นที่ทำงานแล้ว คุณก็เพิ่มความซับซ้อนได้