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

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

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

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