Gradle es un sistema de construcción automatizado y flexible que se utiliza ampliamente en proyectos Java (y otros lenguajes como Kotlin, Groovy, etc.). Permite gestionar las dependencias del proyecto, compilar el código fuente, ejecutar pruebas, empaquetar aplicaciones y realizar otras tareas relacionadas con el ciclo de vida del desarrollo de software.
Gradle utiliza un lenguaje de scripting basado en Groovy o Kotlin DSL para definir las tareas y la configuración del proyecto. Esto lo hace más flexible y potente en comparación con herramientas anteriores como Maven o Ant.
gradle tasks: Muestra una lista de todas las tareas disponibles en el proyecto.gradle build: Compila el código fuente, ejecuta las pruebas y genera los artefactos finales (por ejemplo, un archivo .jar).gradle clean: Elimina los archivos generados previamente durante la construcción del proyecto (limpia el directorio build).gradle assemble: Compila el código fuente y genera los artefactos sin ejecutar las pruebas.gradle test: Ejecuta las pruebas unitarias del proyecto.gradle check: Ejecuta todas las verificaciones del proyecto, incluyendo las pruebas.gradle run: Ejecuta la aplicación si el proyecto incluye un plugin de aplicación ejecutable (como application).gradle dependencies: Muestra un árbol de dependencias del proyecto, mostrando todas las bibliotecas utilizadas y sus versiones.gradle dependencyInsight --dependency : Proporciona información detallada sobre una dependencia específica, incluyendo conflictos de versión.gradle build --refresh-dependencies: Obliga a Gradle a descargar nuevamente todas las dependencias desde los repositorios remotos.gradle compileJava: Compila solo el código fuente Java.gradle jar: Genera un archivo .jar con el código compilado.gradle bootJar (si se usa Spring Boot): Genera un archivo .jar ejecutable compatible con Spring Boot.gradle war: Genera un archivo .war para desplegar en servidores de aplicaciones.gradle init: Inicializa un nuevo proyecto Gradle, permitiendo seleccionar el tipo de proyecto (Java, Kotlin, etc.).gradle wrapper: Genera el script del Wrapper de Gradle (gradlew), que permite ejecutar Gradle sin necesidad de instalarlo globalmente.gradle sonarqube: Ejecuta análisis de calidad de código utilizando SonarQube (requiere el plugin de SonarQube).gradle javadoc: Genera la documentación Javadoc del proyecto.gradle --info: Muestra información detallada sobre la ejecución de las tareas.gradle --debug: Habilita el modo de depuración para obtener registros más detallados.gradle --profile: Genera un informe de rendimiento de la construcción, útil para identificar cuellos de botella.gradle --offline: Ejecuta Gradle en modo fuera de línea, utilizando solo las dependencias ya descargadas.gradle --continue: Continúa ejecutando las tareas incluso si alguna falla.Puedes definir tus propias tareas en el archivo build.gradle. Por ejemplo:
task hello {
doLast {
println '¡Hola, mundo!'
}
}
Este comando se ejecuta con:
gradle hello
build.gradle básico para un proyecto Javaplugins {
id 'java'
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter:3.0.0'
testImplementation 'junit:junit:4.13.2'
}
java {
toolchain {
languageVersion = JavaLanguageVersion.of(17)
}
}
Gradle es una herramienta poderosa y flexible para gestionar proyectos Java. Su capacidad para personalizar tareas y manejar dependencias de manera eficiente lo convierte en una opción popular entre desarrolladores. Los comandos y opciones mencionados anteriormente son solo una parte de lo que Gradle puede hacer; explorar su documentación oficial te permitirá aprovechar al máximo sus capacidades.