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:

  1. Descargue la distribución de Gradle desde el sitio web oficial
  2. Descomprima el ZIP
  3. Agregue la variable de entorno GRADLE_HOME. Esta variable debe apuntar a los archivos descomprimidos del paso anterior.
  4. Agregue GRADLE_HOME/bin a su variable de entorno PATH, para que pueda ejecutar Gradle desde la interfaz de línea de comandos (CLI)
  5. 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:

  1. Abra Eclipse y vaya a Ayuda -> Eclipse Marketplace
  2. En la barra de búsqueda, ingrese buildship y presione enter
  3. Seleccione “Buildship Gradle Integration 1.0” y haga clic en Instalar
  4. En la siguiente ventana, haga clic en Confirmar
  5. Luego, acepte los términos y la licencia del acuerdo, luego haga clic en Finalizar
  6. Después de la instalación, Eclipse deberá reiniciarse, haga clic en

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)