ตรวจสอบกราฟทรัพยากร Dependency

รายงานปัญหา ดูแหล่งที่มา

บิลด์ที่ประสบความสำเร็จมีทรัพยากร Dependency ทั้งหมดที่ระบุไว้อย่างชัดเจนในไฟล์ BUILD ส่วน Bazel จะใช้คำสั่งเหล่านั้นเพื่อสร้างกราฟการอ้างอิงของโปรเจ็กต์ ซึ่งช่วยให้สร้างบิลด์เพิ่มขึ้นได้อย่างแม่นยำ

หากต้องการแสดงภาพทรัพยากร 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 เพิ่มเติม

กราฟการขึ้นต่อกันของ &quot;hello-world&quot;

รูปที่ 1 กราฟการขึ้นต่อกันสำหรับ hello-world แสดงเป้าหมายเดียวที่มีไฟล์แหล่งที่มาเดียว

หลังจากตั้งค่าพื้นที่ทำงานแล้ว ให้สร้างโปรเจ็กต์ และตรวจสอบการขึ้นต่อกันของพื้นที่ทำงาน จากนั้นคุณอาจเพิ่มความซับซ้อนลงไปได้