किसी बने हुए बिल्ड की सभी डिपेंडेंसी, BUILD
फ़ाइल में साफ़ तौर पर बताई गई होती हैं. Baज़ल, प्रोजेक्ट का डिपेंडेंसी ग्राफ़ बनाने के लिए इन स्टेटमेंट का इस्तेमाल करता है. इससे इंक्रीमेंटल बिल्ड सही तरीके से काम करने की सुविधा मिलती है.
सैंपल प्रोजेक्ट की डिपेंडेंसी को विज़ुअलाइज़ करने के लिए, Workspace के रूट पर इस कमांड को चलाकर, डिपेंडेंसी ग्राफ़ को टेक्स्ट के तौर पर दिखाया जा सकता है:
bazel query --notool_deps --noimplicit_deps "deps(//main:hello-world)" \
--output graph
ऊपर दिया गया निर्देश, Bazel को टारगेट //main:hello-world
के लिए सभी डिपेंडेंसी ढूंढने के लिए कहता है. इसमें होस्ट और इनपुट डिपेंडेंसी शामिल नहीं हैं. साथ ही, यह निर्देश आउटपुट को ग्राफ़ के तौर पर फ़ॉर्मैट करने के लिए भी कहता है.
इसके बाद, टेक्स्ट को 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)
जैसा कि आप देख सकते हैं, सैंपल प्रोजेक्ट के पहले चरण में एक टारगेट है, जो बिना किसी अतिरिक्त डिपेंडेंसी के एक सोर्स फ़ाइल बनाता है:
पहला डायग्राम. hello-world
के लिए डिपेंडेंसी ग्राफ़, एक सोर्स फ़ाइल के साथ एक टारगेट दिखाता है.
अपना फ़ाइल फ़ोल्डर सेट अप करने, अपना प्रोजेक्ट बनाने, और उसकी डिपेंडेंसी की जांच करने के बाद, कुछ मुश्किलें जोड़ी जा सकती हैं.