Qué hacen los blocks de build.gradle

Sebastián Plawner
Ibisdev
Published in
2 min readMay 19, 2020

En este artículo veremos los bloques de la configuración del build.gradle más utilizados y que, seguramente estén en nuestro proyecto si utilizamos Spring Initializr para crear nuestro proyecto.

buildscript {}

En este bloque se guarda la configuración que configura el archivo de configuración. Así es, es la meta configuración que nos permite, por ejemplo, guardar constantes para luego utilizarlas en nuestra configuración, como la versión de Kotlin. Otro ejemplo sería poder inicializar los repositorios donde se busquen algunos plugins.

plugins {}

Cada plugin agrega a nuestro proyecto un grupo de tareas que podemos ejecutar. Por ejemplo, el plugin de Spring crea una tarea llamada bootJar, que es la encargada que compilar nuestro proyecto con la magia de Spring. Si ya crearon un proyecto utilizando Spring Initializr podrán ver que la sintaxis de cada plugin es: id ‘org.springframework.boot’ version ‘2.2.6.RELEASE’

repositories {}

Por defecto, tendremos mavenCentral(). Un repositorio es el lugar donde se descargan nuestras dependencias. Maven central es, por estándar, el lugar que almacena todas las dependencias existentes y nuestro punto de referencia si queremos buscar una en particular. Para eso, existe un sitio web que nos ayudará a conocer el nombre de los paquetes y sus versiones: https://search.maven.org/

dependencies {}

Aquí irán las dependencias del proyecto y cómo habrán notado, la sintaxis para agregar una nueva dependencia comienza con el comando implementation (anteriormente llamado compile, pero fue deprecado). Y también existe testImplementation, que como su nombre lo indica, son dependencias que sólo se utilizan al realizar tests.

En conclusión, vimos los distintos tipos de bloques existentes en Gradle Groovy. Los más importantes son plugins, y dependencies. Estos serán los que modificaremos con frecuencia para agregar nuevas tareas de testing, compilación o deploy automatizado. Existen muchos más y distintas configuraciones que podremos aplicar, muy útiles para casos donde debamos realizar proyectos que contengan subproyectos. Sin embargo, ese será un tema para un próximo artículo.

--

--