نقل إصدارك إلى كتالوجات الإصدارات

تتيح لك كتالوجات إصدارات 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. استبدِل تعريف السلسلة السابق بموصّل آمن من حيث النوع خاص بالفهرس.

نقل المهام التابعة

أضِف إدخالاً لكل عنصر تابع في القسمَين versions وlibraries من ملف libs.versions.toml. زامِن مشروعك، ثم استبدِل تعريفات العناصر في ملفات الإنشاء بأسماء العناصر في الكتالوج.

يعرض مقتطف الرمز البرمجي هذا الملف build.gradle.kts قبل إزالة التبعية:

Kotlin

dependencies {
    implementation("androidx.core:core-ktx:1.9.0")

}

Groovy

dependencies {
    implementation 'androidx.core:core-ktx:1.9.0'

}

يوضّح مقتطف الرمز البرمجي هذا كيفية تحديد التبعية في ملف قائمة الإصدارات:

[versions]
ktx = "1.9.0"

[libraries]
androidx-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "ktx" }

تكون التسمية المقترَحة لكتلة التبعيات في الكتالوجات هي kebab case (مثل androidx-ktx) للحصول على مساعدة أفضل في إكمال الرمز في ملفات الإنشاء.

في ملف build.gradle.kts لكل وحدة تتطلّب العنصر التابع، حدِّد العناصر التابعة بالأسماء التي حدّدتها في ملف TOML.

Kotlin

dependencies {
   implementation(libs.androidx.ktx)

}

Groovy

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")

}

Groovy

// 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 block catalog هو kebab case (مثل 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)

}

Groovy

// Top-level build.gradle
plugins {
   alias libs.plugins.android.application apply false

}

// module build.gradle
plugins {
   alias libs.plugins.android.application

}

مزيد من المعلومات

للاطّلاع على خيارات إضافية لإعداد قائمة إصداراتك، يُرجى الرجوع إلى المراجع التالية: