Introducción

Público objetivo: Desarrolladores que desean iniciar la creación de plugins Gradle.

Para desarrollar plugins Gradle eficientemente, un entorno de desarrollo bien configurado es indispensable. Un buen setup le hará ganar tiempo, reducirá las frustraciones y garantizará la coherencia de sus builds.

Este guía se centra en cuatro pilares esenciales:
  1. Le JDK(Java Development Kit), ya que Gradle y JBake se ejecutan en la JVM.

  2. Un Entorno de desarrollo integradomoderno (IntelliJ IDEA) con buen soporte de Kotlin y Gradle.

  3. Gradleél mismo, para inicializar los proyectos

  4. JBake, el motor de nuestro sitio estático.

gradle env
Figure 1. Componentes del entorno de desarrollo

El JDK : el motor de Gradle

Gradle es una aplicación que se ejecuta en la máquina virtual Java (JVM). Por lo tanto, la instalación de un JDK es un requisito absoluto.

¿Qué versión elegir?

Se recomienda utilizar una versión LTS (Long-Term Support) de Java. En este momento,JDK 17 ou JDK 21son excelentes opciones

Instalación vía SDKMAN! (Recomendado)

SDKMAN! es una herramienta formidable para gestionar las versiones de muchos SDK, incluyendo Java y Gradle.

Instalar SDKMAN!

curl -s "https://get.sdkman.io" | bash source "$HOME/.sdkman/bin/sdkman-init.sh"

Instalar una versión del JDK

# Pour lister les versions de Java disponibles sdk list java

# Pour installer Java 17 (par exemple, la distribution Temurin)
sdk install java 17.0.8-tem

Verificar la instalación

java -version

Deberías ver la versión que acabas de instalar aparecer.

2. El IDE : IntelliJ IDEA

Para el desarrollo de plugins de Gradle con el DSL de Kotlin,IntelliJ IDEAes la herramienta de elección Su integración con Gradle y Kotlin es inigualable.

  • Edición Comunidad :Gratuita y ampliamente suficiente para comenzar.

  • Edición Definitiva :De pago, ofrece funcionalidades avanzadas para el desarrollo web y base de datos.

Descarga la versión que más te convenga desde el sitio de JetBrains: https://www.jetbrains.com/idea/download/

El IDE detectará automáticamente sus archivos`build.gradle.kts` et settings.gradle.kts, ofreciendo una autocompletación potente, la navegación en el código y herramientas de depuración integradas.

3. Gradle : La herramienta de build

Aunque cada proyecto utilizará su propia versión de Gradle a través del Gradle Wrapper, es útil tener una instalación global de Gradle para tareas como la inicialización de nuevos proyectos (gradle init).

Instalación vía SDKMAN!

Al igual que con el JDK, SDKMAN! simplifica la instalación de Gradle.

Instalar Gradle

sdk install gradle

Comprobar la instalación

gradle -v

Este comando mostrará las versiones de Gradle, Kotlin, Groovy y del JDK utilizadas.

4. JBake: El generador de sitio estático

JBake es la herramienta que utilizaremos para transformar nuestros archivos fuente (como este) en un sitio web estático. Tener una instalación local es práctico para previsualizar los cambios.

Instalación vía SDKMAN!

Como con las demás herramientas, SDKMAN! es el método más simple.

Instalar JBake

sdk install jbake

Verificar la instalación

jbake -v

Este comando mostrará la versión de JBake y la información del entorno Java que utiliza.

5. El Gradle Wrapper: la práctica recomendada absoluta

Una vez creado tu proyecto (lo que veremos en el siguiente artículo), ya no deberías usar el comando global`gradle`. En su lugar, usted utilizará elGradle Wrapper(./gradlew), un script incluido en su proyecto.

¿Por qué?

  • Reproducibilidad :El Wrapper garantiza que cada persona que trabaja en el proyecto (incluido su servidor de CI/CD) utiliza exactamente lamismo versión de Gradle, eliminando así los errores de compilación debido a entornos diferentes.

  • Simplicidad :No es necesario instalar Gradle manualmente para contribuir a un proyecto.

Basta con clonar el repositorio y ejecutar`./gradlew`.

Una orden típica se verá así :

# Ne pas faire : gradle build
# À faire :
./gradlew build

6. Docker y Portainer: Para builds reproducibles (opcional)

Aunque no estén estrictamente necesarios para escribir un plugin, Docker y Portainer son herramientas DevOps modernas que facilitan en gran medida la creación de builds reproducibles y la gestión de su entorno.

Instalación de Docker Engine

Docker le permite empaquetar su aplicación y sus dependencias en un contenedor.

Instalar Docker vía el script oficial :

curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh

Gestionar Docker sin sudo (recomendado) :

Agrega tu usuario al grupo`docker`.

sudo usod -aG docker $USER
docker run hello-world

Gestionar Docker con Portainer (GUI)

Portainer es una interfaz web ligera para administrar sus contenedores Docker.

Crear un volumen para los datos de Portainer :

docker volume create portainer_data

Iniciar el contenedor Portainer:

docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

Ahora puede acceder a la interfaz de Portainer en`https://localhost:9443`.

Conclusión

¡Tu entorno ya está listo! Dispones de un JDK, del IDE más adecuado, de Gradle y de JBake. Con la adición de Docker, también está preparado para crear builds contenedorizados y reproducibles. Esta base sólida le permitirá concentrarse en lo esencial: el desarrollo de plugins potentes y útiles.

En el próximo artículo, utilizaremos el comando`gradle init`para generar la estructura de nuestro primer proyecto de plugin.

Articles connexes