डिपेंडेंसी ग्राफ़ की समीक्षा करना

एक सफल बिल्ड की वे सभी चीज़ें होती हैं जिनके बारे में BUILD फ़ाइल में साफ़ तौर पर बताया गया है. Bazel इन स्टेटमेंट का इस्तेमाल करके, प्रोजेक्ट का डिपेंडेंसी ग्राफ़ बनाता है. इससे प्रोजेक्ट का इंक्रीमेंटल (बढ़ने वाला) ग्राफ़ बनाने में मदद मिलती है.

सैंपल प्रोजेक्ट की डिपेंडेंसी विज़ुअलाइज़ करने के लिए, वर्कस्पेस रूट पर इस कमांड को चलाकर, डिपेंडेंसी ग्राफ़ का टेक्स्ट रिप्रज़ेंटेशन जनरेट करें:

bazel query --notool_deps --noimplicit_deps "deps(//main:hello-world)" \
  --output graph

ऊपर दिए गए निर्देश से, Bazel को टारगेट //main:hello-world के लिए सभी डिपेंडेंसी खोजने के बारे में पता चलता है. इसमें होस्ट और इंप्लिसिट डिपेंडेंसी शामिल नहीं हैं. साथ ही, यह आउटपुट को ग्राफ़ के तौर पर फ़ॉर्मैट करता है.

इसके बाद, टेक्स्ट को GraphViz में चिपकाएं.

Ubuntu पर, ग्राफ़Viz और 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)

जैसा कि देखा जा सकता है, सैंपल प्रोजेक्ट के पहले चरण में एक ही टारगेट होता है जो बिना किसी अतिरिक्त डिपेंडेंसी के, सिंगल सोर्स फ़ाइल बनाता है:

&#39;नमस्ते-वर्ल्ड&#39; के लिए डिपेंडेंसी ग्राफ़

पहला डायग्राम. hello-world के लिए डिपेंडेंसी ग्राफ़, एक सोर्स फ़ाइल वाला एक टारगेट दिखाता है.

अपना फ़ाइल फ़ोल्डर सेट अप करने, प्रोजेक्ट बनाने, और उसकी डिपेंडेंसी जांचने के बाद, कुछ मुश्किलें जोड़ी जा सकती हैं.