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

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

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

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

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

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

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

Ubuntu पर, Graveiz और xdot Viewer इंस्टॉल करके, ग्राफ़ को स्थानीय रूप से देखा जा सकता है:

sudo apt update && sudo apt install graphviz xdot

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

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

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

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

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

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