Saltar al contenido

Dependencias

Declare dependencias de Maven, npm y PyPI en elide.pkl e instale los paquetes de Maven y npm con elide install: ecosistemas, opciones y archivos instalados.

En esta página

Declare las dependencias en elide.pkl e instálelas con elide install.

EcosistemaSe activa conSe lee de
Mavenpredeterminadoelide.pkl, o un proyecto pom.xml seleccionado con -p
npm--ecosystems=npmelide.pkl y package.json
PyPI—dependencies.pypi se acepta; elide install no lo instala

Instalar dependencias

elide install                         # Maven
elide install --ecosystems=npm        # npm
elide install --ecosystems=maven,npm  # both
elide install --workspace             # every ecosystem the project declares
0:30 / 0:30

Un package.json no activa npm; nombre cada ecosistema que necesite CI. Un ecosistema desconocido o no disponible es un error de uso.

Declarar dependencias

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" } }
  }
}

Para un proyecto que solo tiene un pom.xml, ejecute elide install -p .; consulte Dependencias Maven.

Grupos de Maven

Una entrada es group:artifact:version[:classifier], un MavenPackageSpec, la ruta de un JAR local o una referencia project("name"). Los miembros de un espacio de trabajo pueden omitir la versión y tomar la de la raíz (Espacios de trabajo). Los conflictos se resuelven por cercanía, como en Maven.

GrupoSe aplica a
packagesClasspath de compilación y de ejecución de los conjuntos de producción.
devPackagesSolo en tiempo de desarrollo.
modules--module-path para compilaciones, ejecuciones, pruebas e imágenes nativas.
compileOnlySolo el classpath de compilación.
runtimeOnlySolo el classpath de ejecución.
processorsRuta de los procesadores de anotaciones; consulte Dependencias Maven.
testPackagesConjuntos de prueba, además de las dependencias de su conjunto de producción.
kotlinPluginsPlugins del compilador de Kotlin; consulte Compilador Kotlin.
exclusionsSe eliminan de la resolución y de todos los classpath.
substitutionsArchivos locales que reemplazan una coordenada en todos los classpath; consulte la referencia.

Starters de Spring Boot:

dependencies {
  spring {
    version = "4.0.0"
    starter { "web"; "actuator" }
    testStarter { "test" }
  }
}

Cada nombre se convierte en org.springframework.boot:spring-boot-starter-<name>:<version> en packages o testPackages. Los demás artefactos de Spring (spring-boot-devtools, org.springframework:*) van en maven; ambos se combinan.

Repositorios

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"
  }
}
PropiedadSignificado
repositories[name].urlURL del repositorio.
repositories[name].credentials.username, .passwordAutenticación básica.
repositories[name].credentials.ntlmDomain, .ntlmWorkstationCualquiera de los dos selecciona NTLM.
repositories[name].name, .descriptionNombre visible y descripción.
enableDefaultRepositoriesIncluir Maven Central (predeterminado true).
localRepositoryRepositorio Maven local en el que se resuelve.
  • http:// sin cifrar hacia cualquier destino fuera de 127.0.0.0/8 falla con Maven repository 'name' uses plain HTTP. elide build deps --allow-http-repositories lo acepta.
  • read("env:…") necesita --allow-env; consulte Opciones de compilación.
  • Con enableDefaultRepositories, los artefactos de Maven se obtienen primero del proxy maven.pkg.st y luego de Maven Central. elide build deps --use-pkgst=false (o --no-use-pkgst) usa solo Maven Central; las opciones globales --pkgst y --no-pkgst no cambian esto.

Opciones de Maven

OpciónEfecto
--slimOmite las fuentes y el Javadoc.
--with=sourcesDescarga también las fuentes; javadoc y docs también funcionan. Los valores desconocidos salen con 2.
--directCopia los artefactos en el proyecto en lugar de enlazarlos.
--freshVuelve a descargar todas las dependencias y actualiza la caché global.

elide build deps ejecuta la misma resolución como tarea y además acepta --offline, --allow-http-repositories y --use-pkgst.

Archivos instalados

RutaContenido
.dev/dependencies/npm/node_modulesPaquetes npm; node_modules en la raíz del proyecto enlaza aquí.
aube-lock.yamlArchivo de bloqueo de npm.
.dev/dependencies/m2Enlaces a la caché estándar de Maven.
.dev/dependencies/m2/{compile,runtime,test,processors}.classpathClasspath resueltos; consulte elide classpath.

En un espacio de trabajo, los enlaces están en el .dev/dependencies/ de la raíz; los archivos de classpath siguen siendo de cada proyecto. No hay un archivo de bloqueo común a todos los ecosistemas; consulte Estado de compilación.

Consultar el código de las dependencias

El índice de código de dependencias experimental registra tipos, miembros y referencias de los JAR de Maven resueltos. Créelo con elide index build --layers=l1,l2,l3 y luego use resolve para saber qué artefacto define una clase, get para inspeccionar un tipo o un miembro y references para seguir sus referencias en el código. used-by encuentra las fuentes locales compiladas que coinciden.

OpenRewrite usa el mismo índice para las transformaciones de código fuente Java. Añada los módulos de recetas a devPackages; son herramientas de desarrollo, separadas de las dependencias de la aplicación.

Bibliotecas JVM implícitas

  • Las raíces que solo tienen Java no reciben bibliotecas implícitas de Kotlin, el runtime de Metro ni la API de anotaciones de Elide, aunque tengan un bloque kotlin.
  • Las raíces Kotlin reciben las bibliotecas que activan sus kotlin.features.
  • Las raíces Kotlin reciben también el runtime de atomicfu, salvo que kotlin.features.atomicfu = false.
  • Los conjuntos de prueba reciben el JUnit incluido, salvo que jvm.features.testing = false; en ese caso, elide test necesita su propio junit-platform-console para las pruebas JVM.
  • dev.elide:elide-api y elide-insight aceptan latest como versión y se resuelven al artefacto incluido.

La lista completa, con versiones: API de la JVM. Para usar las Anotaciones de Elide desde Java:

dependencies {
  maven {
    compileOnly { "dev.elide:elide-api:1.0.0" }
  }
}

Detalles de npm: Instalador npm.

¿Te resultó útil esta página?