Inleiding

Doelgroep : Ontwikkelaars die willen beginnen met het maken van Gradle-plugins.

Om Gradle-plugins efficiënt te ontwikkelen, is een goed geconfigureerde ontwikkelomgeving onmisbaar. Een goede setup bespaart je tijd, vermindert frustraties en zorgt voor consistentie in je builds.

Deze handleiding richt zich op vier essentiële pijlers :
  1. Le JDK(Java Development Kit), omdat Gradle en JBake op de JVM draaien.

  2. Un IDEmodern (IntelliJ IDEA) met goede ondersteuning voor Kotlin en Gradle.

  3. Gradlezichzelf, om de projecten te initialiseren.

  4. JBake, de motor van onze statische site.

Componenten van de ontwikkelomgeving
@startuml
!theme plain
node "ontwikkelaarsmachine" {
  component "JDK (JVM)" as JDK
  component "IntelliJ IDEA" as IDE
  component "Gradle (globaal)" as Gradle
  component "JBake (global)" as JBake

  IDE --> JDK : utilise
  Gradle --> JDK : utilise
  JBake --> JDK : utilise
}
@enduml

1. De JDK : De motor van Gradle

Gradle is een applicatie die draait op de Java Virtual Machine (JVM). Daarom is de installatie van een JDK een absolute vereiste.

Welke versie kiezen ?

Het wordt aanbevolen een LTS-versie (Long-Term Support) van Java te gebruiken. Momenteel,JDK 17 ou JDK 21zijn uitstekende keuzes.

Installatie via SDKMAN! (Aanbevolen)

SDKMAN! is een geweldig hulpmiddel om de versies van veel SDK’s te beheren, inclusief Java en Gradle.

Installeer SDKMAN!

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

Installeer een versie van de 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

Controleer de installatie

java -version

Je zou de versie moeten zien die je net hebt geïnstalleerd.

2. De IDE : IntelliJ IDEA

Voor het ontwikkelen van Gradle-plugins met de Kotlin DSL,IntelliJ IDEAis het gereedschap bij uitstek. Haar integratie met Gradle en Kotlin is ongeëvenaard.

  • Community-editie :Gratis en ruimschoots voldoende om te beginnen.

  • Ultimate Editie :Betaalde, biedt geavanceerde functies voor webontwikkeling en databases.

Download de versie die bij u past vanaf de website van JetBrains: https://www.jetbrains.com/idea/download/

De IDE detecteert automatisch uw bestanden`build.gradle.kts` et settings.gradle.kts, met een krachtige autocompletion, code-navigatie en geïntegreerde debuggereedschappen.

3. Gradle : Het build-hulpmiddel

Hoewel elk project zijn eigen versie van Gradle zal gebruiken via de Gradle Wrapper, is het handig om een globale installatie van Gradle te hebben voor taken zoals het initialiseren van nieuwe projecten (gradle init)

Installatie via SDKMAN!

Net als voor de JDK, vereenvoudigt SDKMAN! de installatie van Gradle.

Installeer Gradle

sdk install gradle

Controleer de installatie

gradle -v

Deze opdracht zal de versies van Gradle, Kotlin, Groovy en de gebruikte JDK weergeven.

4. JBake: De statische sitegenerator

JBake is het hulpmiddel dat we zullen gebruiken om onze bronbestanden (zoals dit) om te zetten in een statische website. Een lokale installatie hebben is handig om de wijzigingen voor te bekijken.

Installatie via SDKMAN!

Net als bij de andere tools, SDKMAN! is de eenvoudigste methode.

Installeer JBake

sdk install jbake

Controleer de installatie

jbake -v

Deze opdracht zal de versie van JBake en de informatie over de Java-omgeving die het gebruikt tonen

5. De Gradle Wrapper: de absolute beste praktijk

Eenmaal je project is gemaakt (wat we in het volgende artikel zullen zien), zou je de globale opdracht niet meer moeten gebruiken.gradle. In plaats, zult u gebruikenGradle Wrapper (./gradlew), een script dat in uw project is opgenomen.

Waarom?

  • Reproduceerbaarheid:de wrapper garandeert dat elke persoon die aan het project werkt (inclusief uw CI/CD-server) precies dezelfdezelfde versie van Gradle, waardoor bouwfouten door verschillende omgevingen worden geëlimineerd.

  • Eenvoud:Geen behoefte om Gradle handmatig te installeren om aan een project bij te dragen.

Het volstaat om de repository te klonen en te starten../gradlew.

Een typische opdracht zal er zo uitzien:

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

6. Docker en Portainer: Voor reproduceerbare builds (optioneel)

Hoewel niet strikt nodig voor het schrijven van een plugin, zijn Docker en Portainer moderne DevOps-tools die het creëren van reproduceerbare builds en het beheren van uw omgeving aanzienlijk vergemakkelijken.

Installatie van Docker Engine

Docker stelt je in staat om je applicatie en de afhankelijkheden ervan in een container te verpakken.

Installeer Docker via het officiële script :

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

Beheren Docker zonder sudo (aanbevolen) :

Voeg je gebruiker toe aan de groep`docker`.

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

Docker beheren met Portainer (GUI)

Portainer is een lichte webinterface om je Docker-containers te beheren.

Creëer een volume voor de gegevens van Portainer:

docker volume create portainer_data

Start de Portainer-container :

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

U kunt nu toegang krijgen tot de Portainer-interface op`https://localhost:9443`.

Conclusie

Uw omgeving is nu klaar! U beschikt over een JDK, de meest geschikte IDE, Gradle en JBake. Met de toevoeging van Docker bent u ook klaar om containergebaseerde en reproduceerbare builds te maken. Deze stevige basis stelt je in staat je te concentreren op het essentiële: de ontwikkeling van krachtige en nuttige plugins.

In het volgende artikel zullen we de opdracht gebruiken`gradle init`om de structuur van ons eerste pluginproject te genereren

Gerelateerde artikelen