Saltar al contenido

Dependencias Maven

Instale dependencias Maven con elide install, también en proyectos que solo tienen un pom.xml, y configure procesadores de anotaciones en un proyecto de Elide.

En esta página

Elide resuelve las dependencias Maven declaradas en elide.pkl o en un pom.xml.

elide install

Maven 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 POMGrupo
compilepackages
provided, systemcompileOnly
runtimeruntimeOnly
testtestPackages

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 build y elide 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>/java y 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:only y -proc:full se comportan como en javac.

elide javac --capabilities informa de lo que admite esta compilación de Elide:

{
  "version": 1,
  "javaAnnotationProcessing": true,
  "kotlinSymbolProcessing": false,
  "kotlinCompilerPlugins": false
}
CampoSignificado
javaAnnotationProcessingSe ejecutan los procesadores de anotaciones de Java.
kotlinSymbolProcessingSe ejecutan los procesadores KSP.
kotlinCompilerPluginsSe 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).

¿Te resultó útil esta página?