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

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

บิลด์ที่ประสบความสำเร็จมีการขึ้นต่อกันทั้งหมดที่ระบุไว้อย่างชัดเจนในไฟล์ 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 เพิ่มเติม

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

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

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