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

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

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

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

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

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