Elide resuelve las dependencias Maven declaradas en elide.pkl o en un pom.xml.
elide installMaven es el ecosistema predeterminado. Grupos, repositorios, credenciales y opciones de instalación: Dependencias.
Proyectos con solo un pom.xml
elide install -p .Elide lee las dependencias directas del POM, los valores ${property} y su propio dependencyManagement. Los POM
padre y los BOM importados no se combinan; una dependencia cuya versión solo define un padre se descarta.
| Ámbito del POM | Grupo |
|---|---|
compile | packages |
provided, system | compileOnly |
runtime | runtimeOnly |
test | testPackages |
Para ejecutar objetivos de Maven, use Native Maven.
Inspeccionar el código de las dependencias
En un proyecto con elide.pkl, el índice de código de dependencias experimental registra
tipos, miembros y referencias de los JAR de Maven resueltos. Use elide index resolve para encontrar el artefacto que
define una clase, o elide index references para ver qué usa una clase de una dependencia.
OpenRewrite usa ese índice para ejecutar recetas de Java. Declare módulos de recetas
adicionales en dependencies.maven.devPackages y previsualice los cambios en las fuentes con --dry-run.
Procesadores de anotaciones
dependencies {
maven {
packages { "org.mapstruct:mapstruct:1.6.3" }
processors { "org.mapstruct:mapstruct-processor:1.6.3" }
}
}- Los procesadores se ejecutan en
elide buildyelide javac, en los conjuntos de fuentes principal y de pruebas. - Si cambia el JAR de un procesador, se recompila.
- Las fuentes generadas van a
.dev/jvm/generated-sources/<set>/javay se compilan con su conjunto. - Los procesadores solo ven fuentes Java, nunca declaraciones de Kotlin. Kotlin se compila antes del procesamiento de Java, así que el código Kotlin que usa tipos generados debe obtenerlos de un conjunto de fuentes o proyecto anterior.
- KAPT y KSP no son compatibles.
-proc:none,-proc:onlyy-proc:fullse comportan como enjavac.
elide javac --capabilities informa de lo que admite esta compilación de Elide:
{
"version": 1,
"javaAnnotationProcessing": true,
"kotlinSymbolProcessing": false,
"kotlinCompilerPlugins": false
}| Campo | Significado |
|---|---|
javaAnnotationProcessing | Se ejecutan los procesadores de anotaciones de Java. |
kotlinSymbolProcessing | Se ejecutan los procesadores KSP. |
kotlinCompilerPlugins | Se ejecutan plugins de terceros del compilador de Kotlin en el compilador integrado. No afecta a los plugins incorporados ni a una cadena de herramientas gestionada o personalizada. |
Defina ELIDE_TRACE_PROCESSORS=1 para imprimir cada clase de procesador a medida que se carga
(Loading processor dependency: demo.HelloProcessor).