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

समस्या की शिकायत करें स्रोत देखें

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

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

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

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

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

Ubuntu पर, आप ग्राफ़Viz और xdot व्यूअर इंस्टॉल करके ग्राफ़ स्थानीय रूप से देख सकते हैं:

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 के लिए डिपेंडेंसी ग्राफ़, सिंगल सोर्स फ़ाइल वाला एक टारगेट दिखाता है.

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