اندرويد | ما الفرق بين compile و implementation في Gradle
إذا كنت مطور تطبيقات أندرويد فلا شك انك تعرف الـ Gradle
إبتداء من النسخة Gradle 3.0 تم الإستغناء "deprecated" عن إمر الإعداد "compile" وإستبداله بـ api او implementation
لذلك السؤال الذي يراودنا ما الذي يجب تغييره في مشروعي
فقط إستبدل التالي
compile
withimplementation
testCompile
withtestImplementation
debugCompile
withdebugImplementation
androidTestCompile
withandroidTestImplementation
سؤال أخر لازال يجول في خاطري ما الفرق بين Api و implementation ببساطة
إذا كان تطبيقك يستخدم المكتبة X و المكتبة x نفسها تعتمد على y,z. فإن الإمر implementation سيعطيك فقط المكتبة x اما في حالة API فإنه سيتم الإعتماد على x و y و z
طيب ما الفائدة ؟
النشر النظيف: عندما تستخدم بالاقتران معmaven-publish plugin ، تنتج مكتبات جافا ملفات POM files التي تميز بالضبط ما هو مطلوب لتجميع ضد المكتبة وما هو مطلوب لاستخدام المكتبة في وقت التشغيل " runtime" (وبعبارة أخرى، لا يتم المزج بينما هو مطلوب لتجميع المكتبة وما هو المطلوب من المكتبة نفسها ).
اخيراً يمكن إستخدام الأمر compile لا كن ينصح بعد إستخدامه وإستبداله في المكتبات الحديثة بأحد الأمرين اعلاه
تعليقات
إرسال تعليق