GRADLE: Build Tool – Presentación

Presentación Gradle por Alexander Mera

Esta es la presentación de la charla que ofrecí sobre build tools y especificamente sobre Gradle. La charla fue organizada por el Grupo de Usuarios de Java de Cali (@CLOJUG) y realizada el día 23 de Mayo de 2015 en las instalaciones de la Universidad Javeriana (@javerianacali).

La presentación

  • ¿Por que necesitamos una build tool?
  • La evolución de las build tools para Java.
    • Apache Ant + Ivy
    • Apache Maven
    • Gradle
  • ¿Qué es la gestión de dependencias?
    • Apache Maven
    • Ivy
  • Introducción a Gradle: Project Automation Tool
    • Principales características y funcionalidades
    • Instalación y configuración
    • Gradle Wrapper
  • Demostración: Aplicación Spring MVC sencilla.

El código fuente

El código fuente de los fragmentos presentados, así como el de la aplicación web de demostración se pueden consultar y descargar desde el repositorio de GitHub: https://github.com/alexmera/gradle-clojug-may2015. Para descargar el código fuente usando git:

$ git clone https://github.com/alexmera/gradle-clojug-may2015.git
Cloning into 'gradle-clojug-may2015'...
remote: Counting objects: 98, done.
remote: Compressing objects: 100% (66/66), done.
remote: Total 98 (delta 11), reused 95 (delta 11), pack-reused 0
Unpacking objects: 100% (98/98), done.
Checking connectivity... done.

Ejecutar la aplicación web de demostración

Se debe ingresar a la sub-carpeta gradle-demo.

$ cd gradle-clojug-may2015/gradle-demo
~/gradle-clojug-may2015/gradle-demo

Y en interior de ella se debe ejecutar el comando:

$ ./gradlew jettyEclipseRun
:compileJava
:processResources
:classes
:war
:jettyEclipseRun
Empty contextPath
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/Users/alex/temp/gradle-clojug-may2015/gradle-demo/build/tmp/jettyEclipseRun/webapp/WEB-INF/lib/logback-classic-1.1.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/Users/alex/.gradle/wrapper/dists/gradle-2.4-all/6r4uqcc6ovnq6ac6s0txzcpc0/gradle-2.4/lib/gradle-core-2.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]
!RequestLog

Hit <ENTER> to reload the webapp.
Hit r + <ENTER> to rebuild and reload the webapp.
Hit R + <ENTER> to rebuild the webapp without reload

> Building 80% > :jettyEclipseRun > Running at http://localhost:8080/

Esta taskde Gradle desplegará la aplicación en un servidor web embebido (Jetty 9) y se ejecutará en la URL: http://localhost:8080.