अपने बिल्ड को वर्शन कैटलॉग पर माइग्रेट करें

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 ब्लॉक में, अपने प्लगिन तय करें.

माइग्रेशन के चरण

हमारा सुझाव है कि आप यहां दिए गए क्रम में ही ये चरण पूरे करें. कोई बिल्ड, बिल्ड स्क्रिप्ट और कैटलॉग से एक साथ डिपेंडेंसी और प्लगिन इस्तेमाल कर सकता है. इसलिए, अपनी डिपेंडेंसी और प्लगिन को अलग-अलग माइग्रेट करने के लिए समय लें.

माइग्रेशन की प्रोसेस यह है:

  1. कैटलॉग में नई एंट्री जोड़ें.
  2. अपने Android प्रोजेक्ट को सिंक करें.
  3. स्ट्रिंग के पिछले एलान को कैटलॉग के टाइप-सेफ़ ऐक्सेसर से बदलें.

डिपेंडेंसी माइग्रेट करना

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

}

ज़्यादा जानें

वर्शन कैटलॉग को कॉन्फ़िगर करने के अन्य विकल्पों के बारे में जानने के लिए, ये संसाधन देखें: