يحلّ Elide تبعيات Maven المعرّفة في elide.pkl أو في pom.xml.
elide installالمنظومة الافتراضية هي Maven. الفئات والمستودعات وبيانات الاعتماد وخيارات التثبيت: التبعيات.
مشاريع لا تحتوي إلا على pom.xml
elide install -p .يقرأ Elide التبعيات المباشرة في POM، وقيم ${property}، والقسم dependencyManagement الخاص به. ولا تُدمج ملفات
POM الأم ولا قوائم BOM المستوردة؛ وتُسقَط التبعية التي لا يحدد إصدارها سوى ملف أم.
| نطاق POM | الفئة |
|---|---|
compile | packages |
provided, system | compileOnly |
runtime | runtimeOnly |
test | testPackages |
لتشغيل أهداف Maven، استخدم Native Maven.
فحص شيفرة التبعيات
في مشروع يستخدم elide.pkl، يسجّل فهرس شيفرة التبعيات التجريبي الأنواع والأعضاء
والمراجع من ملفات JAR الخاصة بـ Maven بعد حلّها. استخدم elide index resolve لمعرفة المُخرَج الذي يعرّف صنفًا، أو
elide index references لفحص ما يستخدمه صنف من تبعية.
تستخدم OpenRewrite هذا الفهرس لتشغيل وصفات Java. عرّف وحدات وصفات إضافية تحت
dependencies.maven.devPackages، وعاين التغييرات على المصادر باستخدام --dry-run.
معالجات التعليقات التوضيحية
dependencies {
maven {
packages { "org.mapstruct:mapstruct:1.6.3" }
processors { "org.mapstruct:mapstruct-processor:1.6.3" }
}
}- تعمل المعالجات في
elide buildوelide javac، على مجموعتَي المصادر الرئيسية والاختبارية. - يؤدي تغيّر ملف JAR لمعالج إلى إعادة التصريف.
- تُكتب المصادر المولّدة في
.dev/jvm/generated-sources/<set>/javaوتُصرَّف مع مجموعتها. - لا ترى المعالجات إلا مصادر Java، ولا ترى تصريحات Kotlin أبدًا. تُصرَّف شيفرة Kotlin قبل معالجة Java، لذا يجب أن تحصل شيفرة Kotlin التي تستخدم أنواعًا مولّدة عليها من مجموعة مصادر أو مشروع يسبقها.
- لا يُدعم KAPT ولا KSP.
- يعمل
-proc:noneو-proc:onlyو-proc:fullكما فيjavac.
يعرض elide javac --capabilities ما تدعمه نسخة Elide هذه:
{
"version": 1,
"javaAnnotationProcessing": true,
"kotlinSymbolProcessing": false,
"kotlinCompilerPlugins": false
}| الحقل | المعنى |
|---|---|
javaAnnotationProcessing | تعمل معالجات التعليقات التوضيحية في Java. |
kotlinSymbolProcessing | تعمل معالجات KSP. |
kotlinCompilerPlugins | تعمل إضافات مُصرّف Kotlin من جهات خارجية داخل المُصرّف المدمج. ولا يتأثر بذلك الإضافات المدمجة ولا سلسلة الأدوات المُدارة أو المخصّصة. |
اضبط ELIDE_TRACE_PROCESSORS=1 لطباعة كل صنف معالج عند تحميله
(Loading processor dependency: demo.HelloProcessor).