Deklarieren Sie Abhängigkeiten in elide.pkl und installieren Sie sie mit elide install.
| Ökosystem | Aktivieren mit | Gelesen aus |
|---|---|---|
| Maven | Standard | elide.pkl oder einem mit -p ausgewählten pom.xml-Projekt |
| npm | --ecosystems=npm | elide.pkl und package.json |
| PyPI | — | dependencies.pypi wird akzeptiert; elide install installiert es nicht |
Abhängigkeiten installieren
elide install # Maven
elide install --ecosystems=npm # npm
elide install --ecosystems=maven,npm # both
elide install --workspace # every ecosystem the project declaresEine package.json schaltet npm nicht ein; nennen Sie jedes Ökosystem, das CI braucht. Ein unbekanntes oder nicht
verfügbares Ökosystem ist ein Bedienungsfehler.
Abhängigkeiten deklarieren
amends "elide:project.pkl"
dependencies {
maven {
packages {
"com.google.guava:guava:33.4.8-jre"
}
}
npm {
packages { "react@19.0.0" }
devPackages { "typescript@5.6.2" }
}
pypi {
packages { "requests>=2" }
optionalPackages { ["dev"] { "pytest>=8" } }
}
}Für ein Projekt, das nur eine pom.xml hat, führen Sie elide install -p . aus; siehe
Maven-Abhängigkeiten.
Maven-Buckets
Ein Eintrag ist group:artifact:version[:classifier], eine MavenPackageSpec, ein lokaler JAR-Pfad oder eine
project("name")-Referenz. Workspace-Mitglieder können die Version weglassen und die der Wurzel übernehmen
(Workspaces). Konflikte werden wie bei Maven nach dem nächstgelegenen Eintrag
aufgelöst.
| Bucket | Gilt für |
|---|---|
packages | Compile- und Laufzeit-Classpath der Produktions-Sets. |
devPackages | Nur zur Entwicklungszeit. |
modules | --module-path für Kompilierungen, Ausführungen, Tests und native Images. |
compileOnly | Nur den Compile-Classpath. |
runtimeOnly | Nur den Laufzeit-Classpath. |
processors | Annotation-Processor-Pfad; siehe Maven-Abhängigkeiten. |
testPackages | Test-Sets, zusätzlich zu den Abhängigkeiten ihres Produktions-Sets. |
kotlinPlugins | Kotlin-Compiler-Plugins; siehe Kotlin-Compiler. |
exclusions | Aus der Auflösung und aus jedem Classpath entfernt. |
substitutions | Lokale Dateien, die eine Koordinate in jedem Classpath ersetzen; siehe Referenz. |
Spring-Boot-Starter:
dependencies {
spring {
version = "4.0.0"
starter { "web"; "actuator" }
testStarter { "test" }
}
}Jeder Name wird zu org.springframework.boot:spring-boot-starter-<name>:<version> in packages oder testPackages.
Andere Spring-Artefakte (spring-boot-devtools, org.springframework:*) gehören in maven; beide werden
zusammengeführt.
Repositorys
dependencies {
maven {
repositories {
["company"] = "https://maven.example.com/releases"
["private"] {
url = "https://packages.example.com/maven"
credentials {
username = read("env:MAVEN_USER")
password = read("env:MAVEN_TOKEN")
}
}
}
localRepository = ".m2/repository"
}
}| Eigenschaft | Bedeutung |
|---|---|
repositories[name].url | URL des Repositorys. |
repositories[name]., .password | Basic-Authentifizierung. |
repositories[name]., .ntlmWorkstation | Jede der beiden wählt NTLM. |
repositories[name].name, .description | Anzeigename und Beschreibung. |
enableDefaultRepositories | Maven Central einbeziehen (Standard true). |
localRepository | Lokales Maven-Repository, in das aufgelöst wird. |
- Unverschlüsseltes
http://zu einem Ziel außerhalb von127.0.0.0/8schlägt mitMaven repository 'name' uses plain HTTPfehl.elide build deps --allow-http-repositoriesakzeptiert es. read("env:…")braucht--allow-env; siehe Build-Flags.- Mit
enableDefaultRepositorieskommen Maven-Artefakte zuerst vom Proxymaven.pkg.st, dann von Maven Central.elide build deps --use-pkgst=false(oder--no-use-pkgst) verwendet nur Maven Central; die globalen Flags--pkgstund--no-pkgständern daran nichts.
Maven-Optionen
| Option | Wirkung |
|---|---|
--slim | Quellen und Javadoc überspringen. |
--with=sources | Zusätzlich Quellen laden; javadoc und docs funktionieren ebenfalls. Unbekannte Werte enden mit Exit-Code 2. |
--direct | Artefakte ins Projekt kopieren, statt sie zu verlinken. |
--fresh | Jede Abhängigkeit erneut herunterladen und so den globalen Cache auffrischen. |
elide build deps führt dieselbe Auflösung als Task aus und akzeptiert außerdem --offline,
--allow-http-repositories und --use-pkgst.
Installierte Dateien
| Pfad | Inhalt |
|---|---|
. | npm-Pakete; node_modules in der Projektwurzel verweist hierher. |
aube-lock.yaml | npm-Lockfile. |
.dev/dependencies/m2 | Links in den Standard-Maven-Cache. |
. | Aufgelöste Classpaths; siehe elide classpath. |
In einem Workspace liegen die Links in .dev/dependencies/ der Wurzel; Classpath-Dateien bleiben pro Projekt. Es gibt
kein ökosystemübergreifendes Lockfile; siehe Build-Zustand.
Code von Abhängigkeiten abfragen
Der experimentelle Codeindex für Abhängigkeiten erfasst Typen, Member und Referenzen aus
aufgelösten Maven-JARs. Erstellen Sie ihn mit elide index build --layers=l1,l2,l3 und verwenden Sie dann resolve,
um herauszufinden, welches Artefakt eine Klasse definiert, get, um einen Typ oder Member zu untersuchen, und
references, um seinen Codereferenzen zu folgen. used-by findet passende kompilierte lokale Quellen.
OpenRewrite verwendet denselben Index für Transformationen von Java-Quellcode. Fügen Sie
Rezeptmodule zu devPackages hinzu; sie sind Entwicklungswerkzeuge und von den Abhängigkeiten der Anwendung getrennt.
Implizite JVM-Bibliotheken
- Reine Java-Wurzeln erhalten keine impliziten Kotlin-Bibliotheken, keine Metro-Laufzeitbibliothek und keine
Annotations-API von Elide, auch nicht mit einem
kotlin-Block. - Kotlin-Wurzeln erhalten die Bibliotheken, die ihre
kotlin.featuresaktivieren. - Kotlin-Wurzeln erhalten außerdem die atomicfu-Laufzeitbibliothek, sofern nicht
kotlin.features.atomicfu = false. - Test-Sets erhalten das mitgelieferte JUnit, sofern nicht
jvm.features.testing = false;elide testbraucht dann eine eigenejunit-platform-consolefür JVM-Tests. dev.elide:elide-apiundelide-insightakzeptierenlatestals Version und werden zum mitgelieferten Artefakt aufgelöst.
Die vollständige Liste mit Versionen: JVM-APIs. Um Elide-Annotationen aus Java zu verwenden:
dependencies {
maven {
compileOnly { "dev.elide:elide-api:1.0.0" }
}
}Details zu npm: npm-Installer.