Comenzando con gradle
Instalación de Gradle
Requisitos: Java JDK o JRE instalado (versión 7 o superior para la versión Gradle 3.x)
Pasos de instalación:
- Descargue la distribución de Gradle desde el sitio web oficial
- Descomprima el ZIP
- Agregue la variable de entorno
GRADLE_HOME
. Esta variable debe apuntar a los archivos descomprimidos del paso anterior. - Agregue
GRADLE_HOME/bin
a su variable de entornoPATH
, para que pueda ejecutar Gradle desde la interfaz de línea de comandos (CLI) - Pruebe su instalación de Gradle escribiendo
gradle -v
en la CLI. El resultado debe contener la versión de Gradle instalada y los detalles de configuración actuales de Gradle
Puede encontrar más información en la guía oficial del usuario
Instalación con homebrew en OS X / macOS
Los usuarios de homebrew pueden instalar gradle ejecutando
brew install gradle
Instalación con SdkMan
Los usuarios de SdkMan pueden instalar Gradle ejecutando:
sdk install gradle
Instalar versión específica
sdk list gradle
sdk install gradle 2.14
Cambiar versiones
sdk use gradle 2.12
Instale el complemento Gradle para Eclipse
Estos son los pasos necesarios para instalar el complemento Gradle en Eclipse:
- Abra Eclipse y vaya a Ayuda -> Eclipse Marketplace
- En la barra de búsqueda, ingrese buildship y presione enter
- Seleccione “Buildship Gradle Integration 1.0” y haga clic en Instalar
- En la siguiente ventana, haga clic en Confirmar
- Luego, acepte los términos y la licencia del acuerdo, luego haga clic en Finalizar
- Después de la instalación, Eclipse deberá reiniciarse, haga clic en Sí
Hola Mundo
Las tareas de Gradle se pueden escribir usando código Groovy desde dentro de un archivo build.gradle de proyectos. Estas tareas se pueden ejecutar usando > gradle [taskname]
en la terminal o ejecutando la tarea desde dentro de un IDE como Eclipse.
Para crear el ejemplo de Hello World en gradle, debemos definir una tarea que imprimirá una cadena en la consola usando Groovy. Usaremos printLn
de Groovy para llamar al método System.out.printLn
de Java para imprimir el texto en la consola.
construir.gradle
task hello {
doLast {
println 'Hello world!'
}
}
Luego podemos ejecutar esta tarea usando > gradle hello
o > gradle -q hello
. El -q
se usa para suprimir los mensajes de registro de Gradle para que solo se muestre el resultado de la tarea.
Salida de > gradle -q hola
:
> gradle -q hello
Hello world!
Más sobre tareas
En primer lugar: el operador <<
(leftShift) es equivalente a doLast {closure}
. A partir de gradle 3.2 está obsoleto. Todo el código de la tarea se escribe en un build.gradle.
Una tarea representa algún trabajo atómico que realiza una compilación. Esto podría estar compilando algunas clases, creando un JAR, generando Javadoc, o publicando algunos archivos en un repositorio.
Gradle admite dos grandes tipos de tareas: simples y mejoradas.
Observemos algunos estilos de definición de tareas:
task hello {
doLast{
//some code
}
}
O el:
task(hello) {
doLast{
//some code
}
}
Estas tareas anteriores son equivalentes. Además, puede proporcionar algunas extensiones a la tarea, como: dependsOn
, mustRunAfter
, type
, etc.
Puede extender la tarea agregando acciones después de la definición de la tarea, como esta:
task hello {
doLast{
println 'Inside task'
}
}
hello.doLast {
println 'added code'
}
Cuando ejecutemos esto, obtendremos:
> gradle -q hello
Inside task
added code
Preguntas sobre dependencias de tareas y pedidos examinados [aquí] (https://www.wikiod.com/es/gradle/dependencias-de-tareas)
Hablemos de dos grandes tipos de tareas.
Simple:
Tareas que definimos con un cierre de acción:
task hello {
doLast{
println "Hello from a simple task"
}
}
Mejorado
Enhanced es una tarea con un comportamiento preconfigurado. Todos los complementos que usa en su proyecto son extendidos o tareas mejoradas. Vamos a crear el nuestro y entenderás cómo funciona:
task hello(type: HelloTask)
class HelloTask extends DefaultTask {
@TaskAction
def greet() {
println 'hello from our custom task'
}
}
Además, podemos pasar parámetros a nuestra tarea, así:
class HelloTask extends DefaultTask {
String greeting = "This is default greeting"
@TaskAction
def greet() {
println greeting
}
}
Y de ahora en adelante podemos reescribir nuestra tarea así:
//this is our old task definition style
task oldHello(type: HelloTask)
//this is our new task definition style
task newHello(type: HelloTask) {
greeting = 'This is not default greeting!'
}
Cuando ejecutemos esto, obtendremos:
> gradle -q oldHello
This is default greeting
> gradle -q newHello
This is not default greeting!
Todas las preguntas sobre el desarrollo de complementos de Gradle en [sitio oficial] (https://docs.gradle.org/current/userguide/custom_plugins.html)