تتيح لك كتالوجات إصدارات Gradle إضافة التبعيات والمكوّنات الإضافية والحفاظ عليها بطريقة قابلة للتوسّع. يسهّل استخدام كتالوجات إصدارات Gradle إدارة التبعيات والمكوّنات الإضافية عندما يكون لديك وحدات متعددة. بدلاً من ترميز أسماء التبعيات وإصداراتها في ملفات الإصدار الفردية وتعديل كل إدخال كلما احتجت إلى ترقية تبعية، يمكنك إنشاء قائمة إصدارات مركزية للتبعيات التي يمكن للوحدات المختلفة الرجوع إليها بطريقة تمنع أخطاء الكتابة بمساعدة "استوديو Android".
تقدّم هذه الصفحة معلومات أساسية حول نقل تطبيق Android إلى كتالوجات الإصدارات. لمزيد من المعلومات، يُرجى الاطّلاع على إضافة اعتماديات الإصدار ومستندات Gradle.
إنشاء ملف كتالوج الإصدارات
ابدأ بإنشاء ملف كتالوج الإصدارات. في مجلد gradle الخاص بمشروعك الجذر، أنشئ ملفًا باسم libs.versions.toml. يبحث Gradle عن الكتالوج
في ملف libs.versions.toml تلقائيًا،
لذا ننصح باستخدام هذا الاسم التلقائي.
في ملف libs.versions.toml، أضِف الأقسام التالية:
[versions]
[libraries]
[plugins]
يتم استخدام الأقسام على النحو التالي:
- في مجموعة الرموز البرمجية
versions، حدِّد المتغيّرات التي تحتوي على إصدارات التبعيات والمكوّنات الإضافية. يمكنك استخدام هذه المتغيّرات في الكتل اللاحقة (الكتلتانlibrariesوplugins). - في مجموعة
libraries، حدِّد التبعيات. - في الحزمة
plugins، حدِّد المكوّنات الإضافية.
خطوات نقل البيانات
ننصحك باتّباع الخطوات بالترتيب المذكور. يمكن أن تستهلك عملية الإنشاء التبعيات والمكوّنات الإضافية من نصوص الإنشاء والكتالوجات في الوقت نفسه، لذا ننصحك بالتمهُّل في نقل التبعيات والمكوّنات الإضافية بشكل فردي.
تتم عملية نقل البيانات على النحو التالي:
- أضِف الإدخال الجديد إلى الكتالوج.
- مزامنة مشروع Android
- استبدِل تعريف السلسلة السابق بدالة استرداد القيمة الآمنة من نوع الكتالوج.
نقل التبعيات
أضِف إدخالاً لكل تبعية في القسمَين versions وlibraries
من ملف libs.versions.toml. زامِن مشروعك، ثم استبدِل تعريفاتها في ملفات الإصدار بأسماء القوائم.
يعرض مقتطف الرمز هذا ملف build.gradle.kts قبل إزالة
التبعية:
Kotlin
dependencies { implementation("androidx.core:core-ktx:1.9.0") }
أنيق
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" }
ننصح باستخدام تنسيق dash-case (مثل 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 في ملفات 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 هو نموذج تطبيق يستخدم كتالوجات الإصدارات.