Elide résout les dépendances Maven déclarées dans elide.pkl ou dans un pom.xml.
elide installMaven est l’écosystème par défaut. Groupes, dépôts, identifiants et options d’installation : Dépendances.
Projets avec seulement un pom.xml
elide install -p .Elide lit les dépendances directes du POM, les valeurs ${property} et son propre dependencyManagement. Les POM
parents et les BOM importés ne sont pas fusionnés ; une dépendance dont la version n’est définie que par un parent
est ignorée.
| Portée POM | Groupe |
|---|---|
compile | packages |
provided, system | compileOnly |
runtime | runtimeOnly |
test | testPackages |
Pour exécuter des goals Maven, utilisez Native Maven.
Inspecter le code des dépendances
Dans un projet elide.pkl, l’index du code des dépendances, expérimental, enregistre les
types, les membres et les références des JAR Maven résolus. Utilisez elide index resolve pour trouver l’artefact qui
définit une classe, ou elide index references pour voir ce qu’utilise une classe d’une dépendance.
OpenRewrite utilise cet index pour exécuter des recettes Java. Déclarez des modules de recettes
supplémentaires sous dependencies.maven.devPackages et prévisualisez les modifications des sources avec --dry-run.
Processeurs d’annotations
dependencies {
maven {
packages { "org.mapstruct:mapstruct:1.6.3" }
processors { "org.mapstruct:mapstruct-processor:1.6.3" }
}
}- Les processeurs s’exécutent dans
elide buildetelide javac, sur les source sets principal et de test. - Un JAR de processeur modifié entraîne une recompilation.
- Les sources générées vont dans
.dev/jvm/generated-sources/<set>/javaet sont compilées avec leur source set. - Les processeurs ne voient que les sources Java, jamais les déclarations Kotlin. Kotlin est compilé avant le traitement Java : le code Kotlin qui utilise des types générés doit donc les obtenir d’un source set ou d’un projet en amont.
- KAPT et KSP ne sont pas pris en charge.
-proc:none,-proc:onlyet-proc:fullse comportent comme dansjavac.
elide javac --capabilities indique ce que prend en charge ce build d’Elide :
{
"version": 1,
"javaAnnotationProcessing": true,
"kotlinSymbolProcessing": false,
"kotlinCompilerPlugins": false
}| Champ | Signification |
|---|---|
javaAnnotationProcessing | Les processeurs d’annotations Java s’exécutent. |
kotlinSymbolProcessing | Les processeurs KSP s’exécutent. |
kotlinCompilerPlugins | Les plugins tiers du compilateur Kotlin s’exécutent dans le compilateur intégré. Les plugins intégrés et une chaîne d’outils gérée ou personnalisée ne sont pas concernés. |
Définissez ELIDE_TRACE_PROCESSORS=1 pour afficher chaque classe de processeur à son chargement
(Loading processor dependency: demo.HelloProcessor).