grado | |
---|---|
Tipo de | herramienta de automatización de compilación [d] |
Escrito en | Java , Groovy [2] y Kotlin |
Sistema operativo | multiplataforma |
Primera edición | 2007 |
plataforma de hardware | máquina virtual de Java |
ultima versión |
|
Estado | activo |
Licencia | Licencia Apache 2.0 [3] |
Sitio web | gradle.org _ |
Archivos multimedia en Wikimedia Commons |
Gradle es un sistema de compilación automatizado basado en los principios de Apache Ant y Apache Maven , pero proporciona DSL en Groovy y Kotlin en lugar de la forma tradicional de representación de configuración de proyecto similar a XML .
A diferencia de Apache Maven , que se basa en el concepto de ciclo de vida del proyecto, y Apache Ant , en los que el orden de ejecución de tareas (objetivos) está determinado por dependencias (depends-on), Gradle utiliza un gráfico acíclico dirigido para determinar el orden en qué tareas se ejecutan.
Gradle se diseñó para compilaciones extensibles de varios proyectos y es compatible con el modelo de desarrollo en cascada , lo que determina qué partes del árbol de compilación no han cambiado y qué tareas que dependen de esas partes no necesitan reiniciarse.
Los complementos principales son para desarrollar e implementar aplicaciones Java , Groovy y Scala , pero hay complementos para otros lenguajes de programación : C++ , Swift , Kotlin y también Spring Project con Spring Boot.
Tiene su propio Gradle Daemon [4] : un proceso en segundo plano para acelerar la construcción del proyecto.
1. Vamos a la página de descarga Archivado el 31 de octubre de 2021 en Wayback Machine y elegimos un método conveniente para la instalación en su sistema operativo.
2. Configure el entorno para trabajar con Gradle configurando variables de entorno.
3. Verifique la instalación escribiendo en la línea de comando para obtener el número de versión:$ gradle -v или $ gradle -h - для помощи в работе программы.
Veamos un proyecto de ejemplo que utiliza la estructura de directorio estándar de Maven para los códigos fuente y los recursos.
Esta estructura incluye los siguientes directorios:
¡Todo! El proyecto ha sido creado y ahora se puede abrir en cualquier IDE y trabajar directamente con los directorios y archivos generados.
Busquemos el archivo de compilación de Gradle de nuestro proyecto en la ruta /app/build.gradle:
complementos { // Aplique el complemento de la aplicación para agregar soporte para crear una aplicación CLI en Java. id 'aplicación' } repositorios { // Usar Maven Central para resolver dependencias. mavenCentral () } dependencias { // Usar el marco de prueba JUnit. pruebaImplementación 'junit:junit:4.13.1' // Esta dependencia es utilizada por la aplicación. implementación 'com.google.guayaba:guayaba:30.0-jre' } aplicación { // Definir la clase principal de la aplicación. claseprincipal = 'proyectoprincipal.Aplicación' }Construyamos el proyecto usando el comando gradle build:
> compilación gradle :compilarJava :procesarRecursos :clases :frasco :armar :compilarPruebaJava :procesarRecursosPrueba :clasesdeprueba :prueba :controlar :construir CONSTRUIR CON ÉXITOEl archivo jar terminado estará en /app/build/libs: app.jar
Limpia los archivos compilados con el comando: gradle clean
Para ejecutar este jar desde la línea de comandos, agreguemos estas líneas al archivo build.gradle (la versión de Java y nuestra clase principal):
Java { sourceCompatibility = JavaVersion . VERSION_1_8 targetCompatibility = JavaVersion . VERSION_1_8 } tarro { manifiesto { atributos ( 'Clase principal' : 'mainProject.App' ) } }Construimos el proyecto nuevamente con el comando gradle build -> vaya al directorio /app/build/libs y escriba: java -cp . -jar app.jar
Deberíamos ver el saludo "¡Hola, mundo!".
Puede ver todas las tareas a través del comando: Gradle Tasks
Puede ver todas las dependencias del proyecto de la aplicación secundaria con el comando: gradle app:dependencies
El complemento de Java emula los ciclos de vida de Maven como tareas en un gráfico de dependencia acíclica dirigida para las entradas y salidas de cada tarea. En este ejemplo, la ejecución de la tarea de compilación depende del resultado de las tareas de verificación y ensamblaje . Además, la tarea de verificación depende de la prueba y el ensamblaje depende de la jarra .
Gradle también permite que los proyectos utilicen una estructura de directorios que difiere de la convención de Maven . El siguiente ejemplo considerará un proyecto donde el código fuente está en el directorio src/java en lugar de src/main/java .
construir.gradle
aplicar complemento: 'java' conjuntos de fuentes { principal { Java { srcDirs = [ 'origen/java' ] } } }
Para aplicaciones que consisten en módulos, es conveniente utilizar el enfoque multiproyecto de Gradle :
- Realización de tareas en la etapa de construcción ( pruebas, informes, registro, etc. / viajes a (red | servicios), en general, todo lo que puede hacer cualquier aplicación )
- Ensamblaje de bibliotecas dependientes del proyecto para la construcción, distribución del grado de acceso (como modificadores de acceso en lenguajes de programación) dentro del código de ejecución
Sistemas de automatización de montaje | |
---|---|