↓Ir al contenido

Spring Boot with Gradle Wrapper

·4 mins

Aquí vamos a aprender el comando básico para construir y ejecutar la aplicación Spring Boot con Gradle Wrapper

Para este post, suponemos que hemos iniciado un proyecto en Spring Boot con gradle.

El ‘wrapper’ de Gradle #

Puedes usar Gradle sin instalarlo en su computadora. Gradle wrapper (gradlew) es un script que puede agregar a su proyecto para ejecutarlo y compilarlo sin instalaciones externas.

Con Gradle Wrapper puedes:

  • Incluir a Gradle en su proyecto sin instalaciones externas.
  • Cambiar la versión de Gradle para su proyecto sin afectar a otros proyectos.
  • Añadir Gradle al control de versiones del sistema.
  • Utilizar la versión correcta de Gradle para su proyecto.

Qué es y porqué Gradle? #

Gradle se utiliza para compilar, ejecutar pruebas y construir tu aplicación.

Gradle proporciona una manera fácil de crear tareas y ejecutarlas para llevar a cabo diferentes pasos en un modo ordenado y controlado.
Al mismo tiempo, Gradle proporciona un sólido sistema de dependencias.

Algunas de las mejores características de Gradle son:

  • Performance: es más rápido y tiene optimizaciones continuas.
  • JVM: Gradle se ejecuta en JVM y utiliza la API estándar de Java.
  • Extensibilidad: Gradle proporciona tareas predefinidas, pero también puede proporcionar sus propias tareas.
  • Soporte de IDE’s: Android Studio, IntelliJ, Eclipse, etc. tienen soporte de Gradle
  • Convención: Gradle utiliza convenciones que le permiten adoptar rápidamente este sistema de construcción.
  • Información (Insight): proporciona información detallada que puedes usar para entender lo que sucede con tu compilación.

Gradle characteristics

Carpetas y archivos de Gradle #

En un proyecto Spring Boot con el sistema de compilación Gradle, tenemos estas carpetas y archivos:

  • carpeta gradle: con el código Gradle compilado
  • build.gradle file: este es su propio archivo principal. Editamos este archivo para crear nuestras propias tareas y añadir dependencias.
  • archivo gradlew: script bash para ejecutar Gradle en Linux
  • gradle.bat file: script batch para ejecutar Gradle en Windows
  • setting.gradle file: otros ajustes como el nombre del proyecto

SPRING BOOT COURSE.png

El archivo build.gradle #

Dentro del archivo build.gradle, podemos observar estas secciones

plugins: proporcionan funcionalidades como compilar código Java, ejecutar Spring Boot y establecer la estructura del proyecto.
group: el grupo del que formará parte este proyecto.
version: la versión actual del proyecto.
sourceCompatibility: la compatibilidad con la versión Java.
repositories: la sección del repositorio es el lugar desde el que indicamos desde dónde queremos descargar las dependencias
dependencies: la sección de dependencias es donde escribimos las dependencias que requerimos para nuestro proyecto.
task: una tarea es una secuencia de acciones con su nombre.

spring-boot-gradle-build-file.png

Plugins que necesitas en un proyecto Spring Boot #

  • Spring Boot: este plugin te permite ejecutar aplicaciones Spring Boot y crear un paquete ejecutable o archivos de guerra.
  • Spring dependency management: este es un práctico plugin que importará automáticamente las spring-boot-dependencies desde la versión de Spring Boot que esté utilizando. Te permite saltar números de versión cuando declaras dependencias.
  • Java: este plugin proporciona todas las actividades necesarias para un proyecto Java como compilación, pruebas y capacidades de construcción.
plugins{
   id 'org.springframework.boot' version '2.7.3'
   id 'io.spring.dependency-management' version '1.0.13.RELEASE'
   id 'java'
}

Comandos principales para Spring Boot y Gradle #

Podemos ver un breve resumen de Gradle con información sobre la versión que tenemos en nuestro proyecto.

Linux ./gradlew
Windows gradlew.bat

Gradle help

Ejecutamos el comando gradlew tasks para saber qué tareas tenemos.

Gradle help list

Si queremos más detalles para una tarea específica, podemos ejecutar ./gradlew help –task

Por ejemplo ./gradlew help –task bootRun

Gradle help detail

Las tareas principales con Gradle en un proyecto Spring Boot #

Para realizar estas tareas, necesitamos los plug-ins que ya mencionamos anteriormente.

plugins{
   id 'org.springframework.boot' version '2.7.3'
   id 'java'
}

Ejecutar el proyecto de Spring Boot → gradlew bootRun

Con este comando, iniciamos nuestra aplicación en el puerto por default 8080.

Gradle boot run

Construir el proyecto de Spring Boot → gradlew build

Puedes ejecutar gradlew build -i para ver más información.

Gradle Wrapper Build

Este comando ejecutará varias tareas como configurar, descargar dependencias, compilar clases Java, ejecutar pruebas y crear archivos “jar”.

Los archivos jar ejecutables se pueden encontrar con el nombre y la versión en la carpeta build/libs. También puede ver dentro de la carpeta build las subcarpetas con las clases compiladas, las dependencias externas y los resultados de las pruebas.

Gradle build folder

Esto crea un archivo ejecutable Java jar.

Gradle

El nombre proviene del archivo settings.gradle y la versión proviene de build.gradle

Gradle

Limpia el proyecto de Spring Boot → gradlew clean

Este comando remueve la carpeta build.

Gradle clean task

Ejecutar Tests del proyecto Spring Boot → gradlew test

Esta tarea ejecutará todos los test en tu proyecto.

./gradlew test -i (el parámetro “-i” agrega mas información en la salida de la consola)

Gradle test task

Observa que en la consola tenemos los resultados del test y un informe HTML con un buen detalle.

Gradle test report

Si abrimos el archivo index.html en esta ubicación, podemos ver el informe.

Este informe es muy completo y puede ayudarte si tienes muchas pruebas ejecutadas.

Gradle test html report

Conclusión: #

Este post nos enseñó cómo ejecutar, construir y ejecutar pruebas en un proyecto Spring Boot con Gradle. Gradle es excelente en la gestión y construcción de tus proyectos con Spring Boot.

Referencias:

Spring Boot Gradle Plugin Reference Guide
The Java Plugin (gradle.org)