Gradle वर्शन कैटलॉग की मदद से, डिपेंडेंसी और प्लगिन को आसानी से जोड़ा और मैनेज किया जा सकता है. Gradle वर्शन कैटलॉग का इस्तेमाल करने से, कई मॉड्यूल होने पर डिपेंडेंसी और प्लगिन को मैनेज करना आसान हो जाता है. अलग-अलग बिल्ड फ़ाइलों में, डिपेंडेंसी के नाम और वर्शन को हार्डकोड करने के बजाय, डिपेंडेंसी का एक सेंट्रल वर्शन कैटलॉग बनाया जा सकता है. इससे, अलग-अलग मॉड्यूल, Android Studio की मदद से टाइप-सेफ़ तरीके से इसे रेफ़रंस कर सकते हैं. साथ ही, जब भी किसी डिपेंडेंसी को अपग्रेड करने की ज़रूरत हो, तो हर एंट्री को अपडेट करने के बजाय, सिर्फ़ एक जगह पर अपडेट किया जा सकता है.
इस पेज पर, Android ऐप्लिकेशन को वर्शन कैटलॉग में माइग्रेट करने के बारे में बुनियादी जानकारी दी गई है. ज़्यादा जानने के लिए, बिल्ड डिपेंडेंसी जोड़ना और Gradle का दस्तावेज़ देखें.
वर्शन कैटलॉग फ़ाइल बनाना
वर्शन कैटलॉग फ़ाइल बनाकर शुरुआत करें. अपने रूट प्रोजेक्ट के gradle
फ़ोल्डर में, libs.versions.toml
नाम की फ़ाइल बनाएं. Gradle, कैटलॉग को libs.versions.toml
फ़ाइल में डिफ़ॉल्ट रूप से ढूंढता है. इसलिए, हमारा सुझाव है कि आप इस डिफ़ॉल्ट नाम का इस्तेमाल करें.
अपनी libs.versions.toml
फ़ाइल में ये सेक्शन जोड़ें:
[versions]
[libraries]
[plugins]
इन सेक्शन का इस्तेमाल इस तरह किया जाता है:
versions
ब्लॉक में, ऐसे वैरिएबल तय करें जिनमें आपकी डिपेंडेंसी और प्लगिन के वर्शन शामिल हों. इन वैरिएबल का इस्तेमाल, बाद के ब्लॉक (libraries
औरplugins
ब्लॉक) में किया जाता है.libraries
ब्लॉक में, अपनी डिपेंडेंसी तय करें.plugins
ब्लॉक में, अपने प्लगिन तय करें.
माइग्रेशन के चरण
हमारा सुझाव है कि आप यहां दिए गए क्रम में ही ये चरण पूरे करें. कोई बिल्ड, बिल्ड स्क्रिप्ट और कैटलॉग से एक साथ डिपेंडेंसी और प्लगिन इस्तेमाल कर सकता है. इसलिए, अपनी डिपेंडेंसी और प्लगिन को अलग-अलग माइग्रेट करने के लिए समय लें.
माइग्रेशन की प्रोसेस यह है:
- कैटलॉग में नई एंट्री जोड़ें.
- अपने Android प्रोजेक्ट को सिंक करें.
- स्ट्रिंग के पिछले एलान को कैटलॉग के टाइप-सेफ़ ऐक्सेसर से बदलें.
डिपेंडेंसी माइग्रेट करना
libs.versions.toml
फ़ाइल के versions
और libraries
सेक्शन, दोनों में हर डिपेंडेंसी के लिए एक एंट्री जोड़ें. अपने प्रोजेक्ट को सिंक करें. इसके बाद, बिल्ड फ़ाइलों में मौजूद उनके एलान को कैटलॉग के नामों से बदलें.
इस कोड स्निपेट में, डिपेंडेंसी हटाने से पहले की build.gradle.kts
फ़ाइल दिखाई गई है:
Kotlin
dependencies { implementation("androidx.core:core-ktx:1.9.0") }
ग्रूवी
dependencies { implementation 'androidx.core:core-ktx:1.9.0' }
इस कोड स्निपेट में बताया गया है कि version catalog फ़ाइल में डिपेंडेंसी कैसे तय की जाती है:
[versions]
ktx = "1.9.0"
[libraries]
androidx-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "ktx" }
कैटलॉग में dependencies ब्लॉक के लिए, केबाब केस (जैसे कि androidx-ktx
) का इस्तेमाल करने का सुझाव दिया जाता है. इससे आपकी बिल्ड फ़ाइलों में कोड पूरा करने में मदद मिलती है.
डिपेंडेंसी की ज़रूरत वाले हर मॉड्यूल की build.gradle.kts
फ़ाइल में, TOML फ़ाइल में तय किए गए नामों के हिसाब से डिपेंडेंसी तय करें.
Kotlin
dependencies { implementation(libs.androidx.ktx) }
ग्रूवी
dependencies { implementation libs.androidx.ktx }
प्लगिन माइग्रेट करना
libs.versions.toml
फ़ाइल के दोनों वर्शन और प्लगिन सेक्शन में, हर प्लगिन के लिए एक एंट्री जोड़ें. अपने प्रोजेक्ट को सिंक करें. इसके बाद, बिल्ड फ़ाइलों में मौजूद plugins{}
ब्लॉक में उनके एलान को कैटलॉग के नामों से बदलें.
इस कोड स्निपेट में, प्लगिन हटाने से पहले की build.gradle.kts
फ़ाइल दिखाई गई है:
Kotlin
// Top-level `build.gradle.kts` file plugins { id("com.android.application") version "7.4.1" apply false } // Module-level `build.gradle.kts` file plugins { id("com.android.application") }
ग्रूवी
// Top-level `build.gradle` file plugins { id 'com.android.application' version '7.4.1' apply false } // Module-level `build.gradle` file plugins { id 'com.android.application' }
इस कोड स्निपेट में, वर्शन कैटलॉग फ़ाइल में प्लगिन को तय करने का तरीका बताया गया है:
[versions]
androidGradlePlugin = "7.4.1"
[plugins]
android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" }
डिपेंडेंसी की तरह ही, plugins
ब्लॉक कैटलॉग की एंट्री के लिए, केबाब केस (जैसे, android-application
) में फ़ॉर्मैट करने का सुझाव दिया जाता है. इससे आपकी बिल्ड फ़ाइलों में कोड पूरा करने में बेहतर मदद मिलती है.
यहां दिए गए कोड में, टॉप और मॉड्यूल लेवल की com.android.application
फ़ाइलों में com.android.application
प्लगिन को तय करने का तरीका बताया गया है.build.gradle.kts
वर्शन कैटलॉग फ़ाइल से आने वाले प्लगिन के लिए alias
और वर्शन कैटलॉग फ़ाइल से न आने वाले प्लगिन के लिए id
का इस्तेमाल करें. जैसे, कन्वेंशन प्लगिन.
Kotlin
// Top-level build.gradle.kts plugins { alias(libs.plugins.android.application) apply false } // module build.gradle.kts plugins { alias(libs.plugins.android.application) }
ग्रूवी
// Top-level build.gradle plugins { alias libs.plugins.android.application apply false } // module build.gradle plugins { alias libs.plugins.android.application }
ज़्यादा जानें
वर्शन कैटलॉग को कॉन्फ़िगर करने के अन्य विकल्पों के बारे में जानने के लिए, ये संसाधन देखें:
- वर्शन कैटलॉग की TOML फ़ाइल फ़ॉर्मैट में, कैटलॉग फ़ाइल को कॉन्फ़िगर करने के लिए अतिरिक्त विकल्पों के बारे में बताया गया है.
- Now in Android हमारा सैंपल ऐप्लिकेशन है, जो वर्शन कैटलॉग का इस्तेमाल करता है.