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

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

सैंपल प्रोजेक्ट की डिपेंडेंसी देखने के लिए, इस रूट पर डिपेंडेंसी ग्राफ़ को टेक्स्ट के तौर पर जनरेट किया जा सकता है:

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

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

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

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

sudo apt update && sudo apt install graphviz xdot

इसके बाद, टेक्स्ट आउटपुट को सीधे xडॉट में पाइप करके, ग्राफ़ को जनरेट और देखा जा सकता है:

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

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

&#39;hello-world&#39; के लिए डिपेंडेंसी ग्राफ़

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

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