डिपेंडेंसी अपग्रेड का विश्लेषण करना और उन्हें ऑटोमेट करना

क्या आपको डिपेंडेंसी मैनेजमेंट को आसान बनाना है? अपनी प्रोसेस में कुछ टूल जोड़ने से, काम तेज़ी से हो सकता है. साथ ही, आपको उन चीज़ों के बारे में पता चल सकता है जिन पर ज़्यादा ध्यान देने की ज़रूरत है.

वर्शन अपने-आप अपग्रेड होना

Android Studio, एडिटर में लाइब्रेरी के पुराने वर्शन को हाइलाइट करता है. साथ ही, उन्हें अपग्रेड करने के लिए तुरंत ठीक करने के तरीके भी बताता है. हालांकि, इसके लिए आपको अपनी सभी बिल्ड फ़ाइलों की नियमित तौर पर जांच करनी होगी.

ऐसे कई तीसरे पक्ष के टूल हैं जो इस प्रोसेस को ऑटोमेट कर सकते हैं, आपकी बिल्ड फ़ाइलों को अपग्रेड कर सकते हैं और विकल्प के तौर पर, बदलाव के लिए पुल-अनुरोध बना सकते हैं. ये हर डिपेंडेंसी के सबसे नए वर्शन ढूंढते हैं और उन्हें अपडेट करते हैं. हालांकि, रिलीज़ करने से पहले आपको नतीजों का विश्लेषण करना होगा, ताकि यह पक्का किया जा सके कि ऐप्लिकेशन के व्यवहार में कोई बदलाव न हुआ हो. आम तौर पर, इस्तेमाल होने वाले कुछ प्लैटफ़ॉर्म हैं:

उपलब्ध अपग्रेड देखना

Gradle वर्शन प्लग इन की मदद से, मैन्युअल तरीके से अपग्रेड करने पर ज़्यादा कंट्रोल मिलता है. ./gradlew :dependencyUpdates के ज़रिए dependencyUpdates टास्क को चलाने पर, आपकी लाइब्रेरी डिपेंडेंसी के नए वर्शन की रिपोर्ट जनरेट होती है. इससे, लाइब्रेरी का स्टेटस देखने और मैन्युअल तरीके से यह तय करने में मदद मिलती है कि आपको किसी समय कौनसी लाइब्रेरी अपग्रेड करनी हैं.

यह खास तौर पर तब मददगार हो सकता है, जब वर्शन कैटलॉग के बजाय, अपनी डिपेंडेंसी के वर्शन बताने के लिए, कस्टम तरीके का इस्तेमाल किया जा रहा हो.

डिपेंडेंसी में हुए बदलावों की शिकायत करें

सीधे तौर पर इस्तेमाल की जाने वाली लाइब्रेरी के वर्शन को अपग्रेड करने से, आपके ऐप्लिकेशन पर काफ़ी असर पड़ सकता है. आपके इस्तेमाल की जाने वाली हर लाइब्रेरी के लिए, दूसरी लाइब्रेरी की डिपेंडेंसी की ज़रूरत पड़ सकती है. इससे बड़ा ट्रांज़िटिव डिपेंडेंसी ग्राफ़ बनता है.

Dependency guard, आपके ऐप्लिकेशन या लाइब्रेरी के वर्शन के बीच, उस ग्राफ़ में हुए बदलावों को दिखाता है. अपग्रेड के विश्लेषण के लिए, यह एक बेहतरीन टूल हो सकता है. इससे यह पक्का होता है कि आपने सीधे तौर पर और इनडायरेक्ट अपग्रेड के बारे में सोचा है.

इस्तेमाल नहीं की गई और गलत तरीके से इस्तेमाल की गई डिपेंडेंसी का पता लगाना

अपने बिल्ड को बेहतर बनाए रखने से, बिल्ड की स्पीड बेहतर हो सकती है. साथ ही, यह पक्का किया जा सकता है कि आपके ऐप्लिकेशन और लाइब्रेरी के पास, ज़रूरी डिपेंडेंसी का ऐक्सेस हो. डिपेंडेंसी का विश्लेषण करने वाला Gradle प्लग इन, आपको ऐसे टूल देता है जिनकी मदद से अपनी डिपेंडेंसी की जांच की जा सकती है. इससे यह जांच की जा सकती है कि आपकी बिल्ड फ़ाइलों में सही तरीके का इस्तेमाल किया गया है या नहीं.

इसकी रिपोर्ट में ये चीज़ें शामिल हैं:

  • इस्तेमाल नहीं की गई डिपेंडेंसी
  • इस्तेमाल की गई ट्रांज़िटिव डिपेंडेंसी (आपको इनके बारे में साफ़ तौर पर बताना चाहिए, ताकि अगर आपकी डायरेक्ट डिपेंडेंसी उनका इस्तेमाल करना बंद कर दें, तो आपका ऐप्लिकेशन उन्हें ऐक्सेस कर सके)
  • गलत दायरे में बताई गई डिपेंडेंसी
  • कुछ प्लग इन का गलत इस्तेमाल
  • आपकी डिपेंडेंसी के GraphViz व्यू

लाइसेंस मैनेजमेंट

हर लाइब्रेरी के डेवलपर, उन्हें आपके इस्तेमाल के लिए लाइसेंस देते हैं. आपको लाइसेंस की शर्तों का पालन करना होगा. ऐसा न करने पर, उस लाइब्रेरी का इस्तेमाल नहीं किया जा सकता. कुछ लाइसेंस बहुत ज़्यादा सहज होते हैं. इनका इस्तेमाल करने के लिए, अक्सर सिर्फ़ सूचना देनी होती है. कुछ लाइब्रेरी को "वायरल" माना जाता है. अगर उन लाइब्रेरी का इस्तेमाल किया जाता है, तो आपको अपने ऐप्लिकेशन या लाइब्रेरी पर भी वही लाइसेंस लागू करना होगा.

किसी भी रिलीज़ के साथ लाइसेंस बदल सकते हैं. जब भी अपग्रेड करें, तो आपको पुष्टि करनी चाहिए कि इस्तेमाल की जा रही डिपेंडेंसी का लाइसेंस, आपके ऐप्लिकेशन या लाइब्रेरी के साथ काम करता हो.

लाइसेंस की शिकायत करना

Gradle लाइसेंस रिपोर्ट प्लग इन, आपकी सभी डिपेंडेंसी के लाइसेंस की रिपोर्ट करने में मदद करता है. किसी भी डिपेंडेंसी को अपग्रेड करते समय, यह रिपोर्ट देखना न भूलें. पुष्टि करें कि लाइसेंस आपकी ज़रूरतों के मुताबिक हों. साथ ही, पक्का करें कि आपने लाइसेंस की ज़रूरी शर्तों को पूरा किया हो.

लाइसेंस से जुड़ी सूचनाएं जनरेट करें

लाइसेंस की शर्तों में अक्सर ऐसी सूचना शामिल होती है जिसे ऐप्लिकेशन के उपयोगकर्ता या लाइब्रेरी के उपभोक्ता ऐक्सेस कर सकते हैं. Gradle लाइसेंस प्लग इन, आपके ऐप्लिकेशन में ऐसी सूचनाएं दिखाने के लिए डेटा या एचटीएमएल जनरेट करता है.

हालांकि, यह सूचना से जुड़ी आपकी ज़्यादातर ज़रूरी शर्तों को अपने-आप पूरा करता है, लेकिन यह संसाधनों के लाइसेंस (जैसे कि फ़ॉन्ट, इमेज या साउंड के लिए ज़रूरी लाइसेंस) या इंटरनेट से कॉपी किए गए कोड स्निपेट के लाइसेंस की जानकारी नहीं देता. आपको इस तरह के इस्तेमाल को मैन्युअल तरीके से ट्रैक करना और उसकी शिकायत करनी होगी.