تكرار السؤال: …
الإجابة المختصرة
توفر مكانًا مركزيًا وموحدًا لإدارة إصدارات المكتبات والـ Plugins عبر جميع وحدات المشروع، مع دعم الإكمال التلقائي والتحقق الصارم من الأنواع في ملفات kts.
الشرح
في المشاريع الكبيرة متعددة الوحدات، كان تكرار أسماء المكتبات يسبب تضاربًا في الإصدارات وصعوبة في الترقية. يقسم ملف libs.versions.toml التبعيات إلى أربعة أقسام: [versions] للإصدارات، [libraries] للمكتبات، [bundles] لتجميع مكتبات ذات صلة في متغير واحد، و [plugins] لإضافات Gradle، مما يمنع الأخطاء المطبعية تمامًا.
مثال بالكود
// 1. ملف gradle/libs.versions.toml:
[versions]
retrofit = "2.11.0"
[libraries]
retrofit-core = { group = "com.squareup.retrofit2", name = "retrofit", version.ref = "retrofit" }
// 2. الاستخدام في build.gradle.kts:
dependencies {
implementation(libs.retrofit.core)
}أخطاء شائعة
- تثبيت إصدارات مختلفة لنفس المكتبة يدويًا داخل بعض الوحدات الفرعية متجاوزًا الـ Version Catalog.