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

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

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

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

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

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

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

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

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

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