Was ist Gradle?

Funktionsweise und erste Schritte

Navigation:

Bei Gradle handelt es sich um ein auf Java basierendes Open-Source Build-Management-Automatisierungs-Tool. Darunter versteht man Tools, die sowohl den Quellcode kompilieren, die Tests ausführen, ein Package aus den Files erstellen (z.B. zu einem Jar) und sich anschließend auch um das Deployment und die Ausführung des Programms kümmern. Es ist damit eine Alternative zu den Build-Tools Ant und Maven. Gradle wird unter anderem von den bekannten Frameworks Hibernate, Grails, Groovy sowie Spring Integration und Spring Security für deren Build eingesetzt. Auch das Android-System zählt seit dem Jahr 2013 dazu. Ausgeführt wird Gradle auf der Java Virtual Machine.

Wie funktioniert Gradle?

Gradle folgt der von Maven eingeführten Standardkonventionen („convention over configuration“). Demnach ist das Verzeichnislayout der Projektquellen sowie die üblichen Phasen für den Bau eines Java-Projekts vorgegeben. Gradle kann sowohl auf Maven Repositories als auch Ivy-Repositories zurückgreifen.

Gradle arbeitet mit einer domänenspezifischen Sprache, sodass eine Gradle-Build-Datei immer ein Groovy-Skript ist. Man kann damit ohne weiteres mit Groovy-Code eigene Build-Änderungen schreiben und vorhandene Standards überschreiben. Man muss aber Groovy oder auch Kotlin nicht können, um ein erstes einfaches Gradle-Buildskript zu erstellen. Für mächtigere Automatisierungsaufgaben, helfen aber beispielsweise Grundkenntnisse in Groovy ungemein.

Insgesamt vereint Gradle die besten Eigenschaften von Ant und von Maven. Der Gradle-Nutzer kann so den deklarativen, auf Standardkonventionen beruhenden Ansatz von Maven oder den eher imperativen Ansatz von Ant wählen.

Für den Buildprozess kennt Gradle immer zwei Hauptphasen: Konfiguration und Ausführung.

Was sind Gradle-Plugins?

Im Aufbau ähnelt Gradle Maven. Neben dem abstrakten Kern gibt es eine Vielzahl von Plugins. Damit ist Gradle selbst jederzeit erweiterbar. Unter https://plugins.gradle.org/ kann man nach Plugins für Gradle suchen. So gibt es beispielsweise dort ein Plugin zum Update von Build Version Catalogs oder auch ein Plugin für einen Protobuf Compiler und Runtime für Kotlin. Man kann jederzeit auch eigene Gradle-Plugins schreiben und diese dann auch anderen zur Verfügung stellen.

Erste Schritte mit Gradle

Das nachfolgende Gradle Tutorial zeigt sehr anschaulich die erste Schritte mit Gradle:

Gradle vs. Maven - Wo sind die Unterschiede?

Wenn man das erste Mal mit Gradle in Kontakt kommt, wird man sich schnell die Frage stellen, was die Unterschiede zu Maven sind.

Im Gegensatz zu Maven setzt Gradle nicht auf XML zur Beschreibung der zu bauenden Projekte. Stattdessen kommt eine auf Groovy basierende domänenspezifische Sprache (DSL) zum Einsatz.