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

किसी समस्या की शिकायत करें सोर्स देखें Nightly · 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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

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

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

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

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

Ubuntu पर, GraphViz और 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;hello-world&#39; के लिए डिपेंडेंसी ग्राफ़

पहली इमेज. hello-world के लिए डिपेंडेंसी ग्राफ़, सिंगल टारगेट के साथ सोर्स फ़ाइल के लिए उपलब्ध है.

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