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

รายงานปัญหา ดูแหล่งที่มา รุ่น Nightly · 7.4 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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

หากต้องการแสดงภาพทรัพยากร Dependency ของโปรเจ็กต์ตัวอย่าง คุณจะสร้างการแสดงข้อความของกราฟทรัพยากร Dependency ได้โดยเรียกใช้คำสั่งนี้ที่รูทของพื้นที่ทำงาน

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)

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

กราฟทรัพยากร Dependency ของ &quot;hello-world&quot;

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

หลังจากตั้งค่าเวิร์กスペース สร้างโปรเจ็กต์ และตรวจสอบข้อกําหนดของโปรเจ็กต์แล้ว คุณสามารถเพิ่มความซับซ้อนได้