Elide разрешает зависимости Maven, объявленные в elide.pkl или в pom.xml.
elide installMaven — экосистема по умолчанию. Группы, репозитории, учётные данные и параметры установки: Зависимости.
Проекты только с 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).