كتالوجات الإصدارات
أديروا إصدارات التبعيات
كتالوجات الإصدارات درس مجاني في Kotlin Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Kotlin Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Kotlin Academy 4 دروس في المجموع.
مشكلة الإصدارات المتناثرة
في المشاريع متعددة الوحدات، تتكرر إصدارات الاعتمادات في العديد من ملفات البناء. ويعني تحديث مكتبة واحدة تعديل أماكن كثيرة — ما يعرّضكم للأخطاء ويؤدي إلى عدم الاتساق.
ما كتالوج الإصدارات؟
يُركّز كتالوج الإصدارات إحداثيات الاعتمادات وإصداراتها في مكان واحد. وينشئ Gradle موصّلًا آمنًا من حيث الأنواع يمكنكم الرجوع إليه من أي وحدة.
ملف libs.versions.toml
يوجد الكتالوج الافتراضي في gradle/libs.versions.toml. ويحتوي على أقسام للإصدارات والمكتبات والإضافات والحِزم.
[versions]
kotlin = "2.0.0"
coroutines = "1.8.1"إعلان المكتبات
يربط قسم [libraries] اسمًا مستعارًا بالإحداثيات، مع الإشارة إلى إصدار باستخدام اسمه.
[libraries]
coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" }
guava = { module = "com.google.guava:guava", version = "33.2.1-jre" }استخدام مكتبة في build.gradle.kts
يمكنكم الرجوع إلى إدخالات الكتالوج من خلال الموصّل libs الذي يتم إنشاؤه تلقائيًا. وتتحول الشرطات إلى نقاط.
dependencies {
implementation(libs.coroutines.core)
implementation(libs.guava)
}إعلان الإضافات
يركّز قسم [plugins] معرّفات الإضافات وإصداراتها في مكان واحد.
[plugins]
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }تطبيق إضافات الكتالوج
يمكنكم الرجوع إلى إضافات الكتالوج داخل كتلة plugins { } باستخدام الدالة alias.
plugins {
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.serialization)
}الحِزم
تجمع الحزمة مكتبات ذات صلة، مما يتيح لكم إضافتها باستخدام موصّل واحد.
[bundles]
testing = ["junit", "mockk"]
// build.gradle.kts:
// testImplementation(libs.bundles.testing)أمان الأنواع والإكمال التلقائي
بما أن libs شيفرة يتم إنشاؤها تلقائيًا، يكمل IDE الإدخالات تلقائيًا، ويفشل البناء بسرعة إذا أشرتم إلى اسم مستعار غير موجود — وهذا أكثر أمانًا بكثير من السلاسل النصية الخام.
قواعد التسمية
تستخدم الأسماء المستعارة الشرطات أو النقاط كفواصل، وتتحول هذه الفواصل إلى موصّلات متداخلة. يتحول coroutines-core إلى libs.coroutines.core. تجنبوا الشرطات السفلية.
المشاركة بين الوحدات
يظهر ملف TOML الواحد تلقائيًا لكل وحدة. حدّثوا الإصدار مرة واحدة، وستستخدمه جميع الوحدات — وهذه هي الفائدة الأساسية للكتالوجات.
تحقق سريع
ما الميزة الأساسية لكتالوج الإصدارات في مشروع متعدد الوحدات؟
مراجعة
تساعد كتالوجات الإصدارات على ضبط إدارة الاعتمادات:
- إعلان الإصدارات والمكتبات والإضافات والحِزم في
gradle/libs.versions.toml - الرجوع إليها عبر الموصّل الآمن من حيث الأنواع
libsوalias(...) - يؤدي تعديل واحد إلى تحديث كل وحدة
بهذا يكتمل مساق Gradle.
الأسئلة الشائعة
هل درس «كتالوجات الإصدارات» مجاني؟
نعم — نص درس «كتالوجات الإصدارات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Kotlin Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Kotlin Academy 4 دروس في المجموع.
ماذا ستتعلم في «كتالوجات الإصدارات»؟
أديروا إصدارات التبعيات تتمرن على Kotlin Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Kotlin Academy؟
لا تُشترط خبرة سابقة. Kotlin Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «كتالوجات الإصدارات»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Kotlin Academy هذا؟
نعم. كل درس في Kotlin Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- Gradle Kotlin DSL
- التبعيات والإضافات
- المهام المخصصة
- كتالوجات الإصدارات