Elide löst Maven-Abhängigkeiten auf, die in elide.pkl oder einer pom.xml deklariert sind.
elide installMaven ist das Standard-Ökosystem. Buckets, Repositorys, Zugangsdaten und Installationsoptionen: Abhängigkeiten.
Projekte mit nur einer pom.xml
elide install -p .Elide liest die direkten Abhängigkeiten des POM, ${property}-Werte und sein eigenes dependencyManagement.
Eltern-POMs und importierte BOMs werden nicht zusammengeführt; eine Abhängigkeit, deren Version nur ein Eltern-POM
festlegt, entfällt.
| POM-Scope | Bucket |
|---|---|
compile | packages |
provided, system | compileOnly |
runtime | runtimeOnly |
test | testPackages |
Um Maven-Goals auszuführen, verwenden Sie Native Maven.
Code von Abhängigkeiten untersuchen
In einem elide.pkl-Projekt erfasst der experimentelle Codeindex für Abhängigkeiten Typen,
Member und Referenzen aus aufgelösten Maven-JARs. Mit elide index resolve finden Sie das Artefakt, das eine Klasse
definiert, mit elide index references sehen Sie, was eine Klasse aus einer Abhängigkeit verwendet.
OpenRewrite nutzt diesen Index, um Java-Rezepte auszuführen. Deklarieren Sie zusätzliche
Rezeptmodule unter dependencies.maven.devPackages und prüfen Sie Änderungen an den Quellen vorab mit --dry-run.
Annotationsprozessoren
dependencies {
maven {
packages { "org.mapstruct:mapstruct:1.6.3" }
processors { "org.mapstruct:mapstruct-processor:1.6.3" }
}
}- Prozessoren laufen in
elide buildundelide javac, für die Haupt- und Test-Source-Sets. - Ein geändertes Prozessor-JAR löst eine Neukompilierung aus.
- Generierte Quellen werden nach
.dev/jvm/generated-sources/<set>/javageschrieben und mit dem Set kompiliert. - Prozessoren sehen nur Java-Quellen, nie Kotlin-Deklarationen. Kotlin wird vor der Java-Verarbeitung kompiliert; Kotlin-Code, der generierte Typen nutzt, muss sie daher aus einem vorgelagerten Source-Set oder Projekt beziehen.
- KAPT und KSP werden nicht unterstützt.
-proc:none,-proc:onlyund-proc:fullverhalten sich wie injavac.
elide javac --capabilities meldet, was dieser Elide-Build unterstützt:
{
"version": 1,
"javaAnnotationProcessing": true,
"kotlinSymbolProcessing": false,
"kotlinCompilerPlugins": false
}| Feld | Bedeutung |
|---|---|
javaAnnotationProcessing | Java-Annotationsprozessoren laufen. |
kotlinSymbolProcessing | KSP-Prozessoren laufen. |
kotlinCompilerPlugins | Kotlin-Compiler-Plugins von Drittanbietern laufen im eingebetteten Compiler. Integrierte Plugins und eine verwaltete oder eigene Werkzeugkette sind nicht betroffen. |
Setzen Sie ELIDE_TRACE_PROCESSORS=1, um jede Prozessorklasse beim Laden auszugeben
(Loading processor dependency: demo.HelloProcessor).