يشغّل elide mvn عمليات بناء Apache Maven 4 دون تثبيت منفصل لـ Maven أو JDK.
تشغيل بناء
elide mvn -- package
elide mvn -- -f app/pom.xml clean install
elide mvn -- --versionكل ما يأتي بعد -- يذهب إلى Maven، باستثناء --flavor و --mode و --yes و --porcelain التي يعالجها elide mvn.
وجذر المشروع هو أقرب مجلد .mvn فوق -f/--file أو فوق مجلد العمل.
التشغيل الأول
تُنزَّل كل نكهة مرة واحدة، مع طلب تأكيد عند أول استخدام:
Native Maven component 'generic' is not installed. Download it now? [Y/n]تُثبَّت الصور في lib/maven/bin/ داخل مجلد Elide الرئيسي. تنزّل الجلسات غير التفاعلية دون سؤال؛ وفي الطرفية يتخطّى
--yes طلب التأكيد:
elide mvn -- --yes package| المنصة | المعمارية |
|---|---|
| Linux | x86_64، aarch64 |
| macOS | aarch64 |
| Windows | x86_64 |
النكهات
النكهة هي مجموعة إضافات Maven التي تعمل تشغيلًا أصليًا.
| النكهة | الإضافات | لأي مشاريع |
|---|---|---|
generic | دورة الحياة الافتراضية: clean و resources و compiler و surefire و jar و install و deploy | مشاريع Java أو Kotlin العادية |
spring@4.1.0 | كل ما يستخدمه مشروع Boot 4.1 من Spring Initializr | Spring Boot 4.1.x |
spring@4.0.7 | الشيء نفسه، لـ Boot 4.0 | Spring Boot 4.0.x |
يختار Elide نكهة spring التي تطابق major.minor لإصدار الأصل spring-boot-starter-parent أو
spring-boot-maven-plugin في pom.xml (Boot 4.1.3 → spring@4.1.0). وفي غير ذلك، بما في ذلك العناصر النائبة
${…}، يستخدم generic. لتجاوز هذا الاختيار:
elide mvn -- --flavor spring@4.1.0 package
elide mvn -- --flavor=spring@4.0.7 -f app/pom.xml installالأوضاع
يحدّد --mode=<value> (أو -Dnmvn.mode=<value>؛ والأولوية للخيار) ما يشغّل الإضافات التي ليست في النكهة:
elide mvn -- --mode=mixed package| الوضع | السلوك |
|---|---|
native (الافتراضي) | لا تعمل إلا إضافات النكهة. وتؤدي الإضافة المفقودة إلى فشل مبكر يذكر النكهة التي تحويها ويقترح --mode=mixed. |
mixed | تعمل إضافات النكهة تشغيلًا أصليًا؛ وتعمل الأهداف الأخرى واحدًا تلو الآخر على JVM في العملية نفسها. |
legacy | يعمل البناء كله بوصفه Apache Maven عاديًا على JVM داخل العملية، كخط أساس للمقارنة. |
ينزّل الوضعان mixed و legacy توزيعة Maven إلى lib/maven/ عند أول استخدام. ولا حاجة إلى JDK منفصل.
قيود الوضع المختلط
- يضيف كل هدف مُفوَّض نحو 0.2 ثانية بعد بدء تشغيل لمرة واحدة. إن فُوِّضت معظم الأهداف، فاختر نكهة تحوي عددًا أكبر من إضافاتها.
- لا تُلحق مُخرَجات الهدف المُفوَّض بالجلسة. إن لم تكن إضافة jar في النكهة، فشغّل
packageلاinstallأوdeploy. - لا يصل إعداد الإضافات من سطر الأوامر إلى الأهداف المُفوَّضة إلا بوصفه خصائص
-D.
المخرجات
تعرض الطرفية سطر حالة (الإضافة، والهدف، والإصدار، والوحدة)، ثم ملخّصًا للمراحل ومدة البناء؛ وعند الفشل يُطبع سجل Maven
كاملًا. ويبثّ --porcelain مخرجات Maven نفسها، كما تفعل التشغيلات المفصّلة وتشغيلات تصحيح الأخطاء والتشغيلات غير
التفاعلية:
elide mvn -- --porcelain packageفحص صورة مثبّتة
<elide-home>/lib/maven/bin/nmvn-generic --info
<elide-home>/lib/maven/bin/nmvn-spring-4.1.0 --info=pluginsيطبع --info النكهة والطبعة والإضافات؛ ويطبع كلٌّ من --info=plugins و --info=flavor و --info=variant واحدًا
منها.
التوافق
يقرأ Native Maven ملف pom.xml نفسه ويتبع دورة الحياة نفسها التي يتبعها Apache Maven 4. وتقتصر تغطية الإضافات على
النكهات المنشورة. يجري التصريف داخل العملية؛ والإضافات التي تشغّل المُصرّف في عملية منفصلة تستخدم javac من Elide.