التبعيات والإضافات
اضبطوا عملية البناء
التبعيات والإضافات درس مجاني في Kotlin Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Kotlin Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Kotlin Academy 4 دروس في المجموع.
إعدادات الاعتماديات
يجمع Gradle الاعتماديات حسب الإعداد، الذي يتحكم في وقت ومكان توفرها:
implementation— للترجمة ووقت التشغيل، ولا يتم كشفها للمستهلكينapi— يتم كشفها أيضًا للمستهلكينtestImplementation— للاختبارات فقط
implementation مقابل api
يخفي implementation الاعتمادية عن الوحدات التي تعتمد على وحدتك، مما يحسّن أداء الإنشاء والعزل. استخدم api فقط عندما تظهر الاعتمادية في الأنواع العامة الخاصة بك.
dependencies {
api("com.squareup.okio:okio:3.9.0") // leaks into public API
implementation("com.google.code.gson:gson:2.11.0") // internal only
}compileOnly وruntimeOnly
تحتاج بعض الاعتماديات إلى مرحلة واحدة فقط:
compileOnly— متوفرة في وقت الترجمة، ولا يتم تضمينها في الحزمة (مثل التعليقات التوضيحية)runtimeOnly— متوفرة في وقت التشغيل فقط (مثل برنامج تشغيل JDBC)
dependencies {
compileOnly("org.projectlombok:lombok:1.18.32")
runtimeOnly("org.postgresql:postgresql:42.7.3")
}إحداثيات الاعتمادية
تكون الإحداثيات بالصيغة group:name:version. ويمكنك فصلها صراحةً لمزيد من الوضوح.
dependencies {
implementation(group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version = "1.8.1")
}اعتمادات المشروع
في عملية بناء متعددة الوحدات، تعتمد إحدى الوحدات على أخرى باستخدام project(...).
dependencies {
implementation(project(":core"))
}تطبيق الإضافات الأساسية
لا تحتاج الإضافات المضمّنة إلى إصدار. أما إضافات المجتمع فتُطبَّق باستخدام معرّف وإصدار.
plugins {
id("java-library")
kotlin("jvm") version "2.0.0"
id("com.github.johnrengelman.shadow") version "8.1.1"
}الإضافات من البوابة
تُحل معظم الإضافات تلقائيًا من Gradle Plugin Portal عند تطبيقها باستخدام المعرّف داخل كتلة plugins { }.
plugins {
id("org.jetbrains.kotlin.plugin.serialization") version "2.0.0"
}استبعاد الاعتمادات الانتقالية
يمكنكم استبعاد اعتماد انتقالي غير مرغوب فيه يأتي مع مكتبة أخرى.
dependencies {
implementation("com.example:lib:1.0") {
exclude(group = "org.slf4j", module = "slf4j-api")
}
}فرض إصدار
يمكنكم حل التعارضات بفرض إصدار محدد من خلال استراتيجية الحل.
configurations.all {
resolutionStrategy {
force("com.google.guava:guava:33.2.1-jre")
}
}فحص شجرة الاعتمادات
استخدموا مهمة dependencies لعرض الرسم البياني المحلول وتشخيص التعارضات.
// ./gradlew dependencies
// ./gradlew app:dependencies --configuration runtimeClasspathاختيار التهيئة المناسبة
اجعلوا الخيار الافتراضي هو implementation. استخدموا api بحذر، وtestImplementation للاختبارات، والزوج compileOnly/runtimeOnly للاحتياجات الخاصة بمرحلة معينة.
تحقق سريع
تُستخدم مكتبة تسجيل داخل وحدتكم فقط، ولا تظهر مطلقًا في الأنواع العامة الخاصة بكم. ما التهيئة الأنسب؟
مراجعة
لقد قمتم بتهيئة عملية البناء:
- التهيئات:
implementationوapiوcompileOnlyوruntimeOnlyوtestImplementation - تطبيق الإضافات باستخدام المعرّف (مع الإصدار) أو باعتبارها إضافات أساسية
- استبعاد الإصدارات أو فرضها وفحص الشجرة
التالي: كتابة مهام مخصّصة.
الأسئلة الشائعة
هل درس «التبعيات والإضافات» مجاني؟
نعم — نص درس «التبعيات والإضافات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Kotlin Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Kotlin Academy 4 دروس في المجموع.
ماذا ستتعلم في «التبعيات والإضافات»؟
اضبطوا عملية البناء تتمرن على Kotlin Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Kotlin Academy؟
لا تُشترط خبرة سابقة. Kotlin Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «التبعيات والإضافات»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Kotlin Academy هذا؟
نعم. كل درس في Kotlin Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- Gradle Kotlin DSL
- التبعيات والإضافات
- المهام المخصصة
- كتالوجات الإصدارات