Gradle - Gestión de dependencias
El script de construcción de Gradle define un proceso para construir proyectos; cada proyecto contiene algunas dependencias y algunas publicaciones. Las dependencias son las cosas que apoyan la construcción de su proyecto, como el archivo JAR requerido de otros proyectos y los archivos JAR externos como JDBC JAR o Eh-cache JAR en la ruta de clases. Publicaciones significa los resultados del proyecto, como archivos de clases de prueba y archivos de compilación, como archivos war.
Casi todos los proyectos no son autónomos. Necesitan archivos creados por otros proyectos para compilar y probar los archivos de origen. Por ejemplo, para usar Hibernate en el proyecto, debe incluir algunos JAR de Hibernate en la ruta de clases. Gradle usa un script especial para definir las dependencias, que deben descargarse.
Gradle se encarga de crear y publicar los resultados en algún lugar. La publicación se basa en la tarea que defina. Es posible que desee copiar los archivos al directorio local o cargarlos en un repositorio remoto de Maven o lvy, o puede usar los archivos de otro proyecto en la misma compilación multiproyecto. Podemos llamar publicación al proceso de publicación de una tarea.
Declaración de sus dependencias
La configuración de dependencias no es más que define un conjunto de dependencias. Puede utilizar esta función para declarar las dependencias externas que desea descargar de la web. Esto define diferentes standers como sigue.
apply plugin: 'java'
repositories {
mavenCentral()
}
dependencies {
compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final'
testCompile group: 'junit', name: 'junit', version: '4.+'
}
Configuraciones de dependencia
La configuración de dependencias no es más que define un conjunto de dependencias. Puede utilizar esta función para declarar dependencias externas, que desea descargar de la web. Esto define las siguientes configuraciones estándar diferentes.
Compile - Las dependencias necesarias para compilar la fuente de producción del proyecto.
Runtime- Las dependencias requeridas por las clases de producción en tiempo de ejecución. De forma predeterminada, también incluye las dependencias de tiempo de compilación.
Test Compile- Las dependencias necesarias para compilar la fuente de prueba del proyecto. De forma predeterminada, incluye clases de producción compiladas y las dependencias de tiempo de compilación.
Test Runtime- Las dependencias necesarias para ejecutar las pruebas. De forma predeterminada, incluye dependencias de compilación de pruebas y tiempo de ejecución.
Dependencias externas
Las dependencias externas son las del tipo de dependencias. Esta es una dependencia de algunos archivos creados fuera de la compilación actual, y almacenados en un repositorio de algún tipo, como Maven central, o un repositorio corporativo de Maven o lvy, o un directorio en el sistema de archivos local.
El siguiente fragmento de código es para definir la dependencia externa. Utilice este código enbuild.gradle archivo.
dependencies {
compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final'
}
Una dependencia externa está declarando dependencias externas y el formulario de acceso directo se parece a "grupo: nombre: versión".
Repositorios
Al agregar dependencias externas. Gradle los busca en un repositorio. Un repositorio es solo una colección de archivos, organizados por grupo, nombre y versión. De forma predeterminada, Gradle no define ningún repositorio. Tenemos que definir al menos un repositorio de forma explícita. El siguiente fragmento de código define cómo definir el repositorio de maven. Utilice este código enbuild.gradle archivo.
repositories {
mavenCentral()
}
El siguiente código es para definir maven remoto. Utilice este código enbuild.gradle archivo.
repositories {
maven {
url "http://repo.mycompany.com/maven2"
}
}
Publicar artefactos
Las configuraciones de dependencia también se utilizan para publicar archivos. Estos archivos publicados se denominan artefactos. Por lo general, usamos complementos para definir artefactos. Sin embargo, debe indicarle a Gradle dónde publicar los artefactos. Puede lograr esto adjuntando repositorios a la tarea de carga de archivos. Eche un vistazo a la siguiente sintaxis para publicar el repositorio de Maven. Mientras se ejecuta, Gradle generará y cargará un Pom.xml según los requisitos del proyecto. Utilice este código enbuild.gradle archivo.
apply plugin: 'maven'
uploadArchives {
repositories {
mavenDeployer {
repository(url: "file://localhost/tmp/myRepo/")
}
}
}