Elide розв’язує залежності Maven, оголошені в elide.pkl або в pom.xml.
elide installMaven — екосистема за замовчуванням. Групи, репозиторії, облікові дані та параметри встановлення: Залежності.
Проєкти лише з pom.xml
elide install -p .Elide читає прямі залежності POM, значення ${property} і власний dependencyManagement. Батьківські POM та
імпортовані BOM не об’єднуються; залежність, версію якої задає лише батьківський POM, відкидається.
| Область 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).