Suche
Viele Neuerungen: Java 7 deprecated, mehr Leistung und UX-Änderungen

Gradle 4.2: Mehr Performance mit der neuen Version

Ann-Cathrin Klose

© Shutterstock.com / Ganna Demchenko

Gradle 4.2 ist da und bringt einen verbesserten Support für die Arbeit an nativen Apps mit. Kürzere Build-Zeiten, Support für Google Play 2.6 und eine verbesserte UX sind ebenfalls mit an Bord. Außerdem unterstützt das neueste Gradle Release die Kotlin DSL in Version 0.11.1 und somit eine der neueren Versionen der Sprache (1.1.4-3).

Zu den zentralen Neuerungen in Gradle 4.2 gehört, dass native Compile- und Link-Tasks nun standardmäßig parallel ausgeführt werden; daraus resultiert eine Beschleunigung des Build-Vorgangs. Die parallele Ausführung verschiedener Builds war bereits in Version 4.1 möglich. Verändert hat sich daran vor allem, dass dies nun als neuer Standard definiert wurde und nicht mehr aktiv ausgewählt werden muss.

Gradle 4.2: Die Performance

Außerdem wurde die Implementierung von zipTree und tarTree überarbeitet. Bisher stellten diese Implementierungen eine Performance-Bremse dar, da bei jedem Traverse des Trees alle Dateien entpackt wurden. Wie in den Release Notes nachzulesen ist, sollte dieses Problem nun gelöst sein, sodass die Arbeit mit Trees beschleunigt wurde. Auch wurde am Overhead des Build Caches gearbeitet. Die Optimierungen sollen zu einer Performance-Steigerung von bis zu 20 Prozent führen. Die unten stehende Grafik vergleicht die Performance von Gradle 4.1 mit der von Gradle 4.2.

Gradle Performance-Vergleich. Quelle: https://docs.gradle.org/current/release-notes.html

UX-Veränderungen in Gradle

Zu den Veränderungen in Sachen User Experience (UX) gehört unter anderem, dass nun Task Actions, die im Build-Skript definiert wurden, benannt werden können. Dafür stehen doFirst("First things first") {} und doLast("One last thing") {} zur Verfügung; die Namensvergabe funktioniert in Kotlin sowie Groovy Build Scripts. Damit kann beispielsweise in einer IDE nachvollzogen werden, in welcher Reihenfolge Tasks ausgeführt werden. Außerdem wird der Build-Status nun durch eine rote oder grüne Fortschrittsleiste während des Builds hervorgehoben.

Im Gradle CLI werden lange Testnamen abgekürzt. Die Namen selbst werden bereits seit Version 4.1 während der Ausführung von Tests angezeigt, zu lange Namen wurden in der Vergangenheit jedoch häufig abgeschnitten oder ausgelassen; nun wurden Regeln für eine Abkürzung eingeführt.

Google Play und Google Cloud Storage in Gradle

In der neuen Version des Build-Tools können Dependencies auch aus dem Google Cloud Storage heruntergeladen werden. Die Möglichkeit besteht für Ivy und Maven Type Repositories; mit den Publishing-Plug-ins von Ivy und Maven ist unter anderem auch das Veröffentlichen von Dateien im Google Cloud Storage möglich.

In Sachen Unterstützung von Produkten des Suchmaschinenriesen Google ist auch am Support für Google Play gearbeitet worden. Zwar ist Version 2.3.10 noch immer der Standard in Gradle 4.2, Entwickler können aber ab sofort wahlweise auch Google Play v2.6 verwenden.

Breaking Changes und die Abschussliste

Daneben wurden noch einige weitere Änderungen an Gradle vorgenommen. Für Nutzer älterer Java-Version ist daher die Änderung des Status‘ von Java 7 in Gradle zu nennen, mit das Build-Tool wohl auf lange Sicht nicht mehr kompatibel sein wird: Zum Release von Gradle 5 soll die Unterstützung der Sprachversion beendet werden. Wer noch mit Java 7 arbeitet, sollte daher möglichst bald über einen Umstieg nachdenken.

Als potentielle Breaking Changes benennen die Release Note außerdem das Upgrade von bndlib 3.2.0 auf bndlib 3.4.0, da die vorher verwendete Version nicht mit Java 9 kompatibel ist. Außerdem wurden die Logs des FindBugs-Plug-ins überarbeitet, sodass der Analysefortschritt wird nicht mehr geloggt wird. Das verringert den Umfang der Logfiles beträchtlich. Wer diese Daten trotzdem benötigt, kann sie jedoch auf Wunsch weiterhin aufzeichnen lassen.

Weitere Änderungen

Zu den weiteren Änderungen gehören eine verbesserte Unterstützung für Script-Plug-ins von HTTP/HTTPS-URLs, Features für eine leichterte Plug-in-Erstellung und zahlreiche Bugfixes. Alle Neuigkeiten zu Gradle 4.2 können in den Release Notes nachgelesen werden.

Geschrieben von
Ann-Cathrin Klose
Ann-Cathrin Klose
Ann-Cathrin Klose hat allgemeine Sprachwissenschaft, Geschichte und Philosophie an der Johannes Gutenberg-Universität Mainz studiert. Bereits seit Februar 2015 arbeitete sie als redaktionelle Assistentin bei Software & Support Media und ist seit Oktober 2017 Redakteurin. Zuvor war sie als freie Autorin tätig, ihre ersten redaktionellen Erfahrungen hat sie bei einer Tageszeitung gesammelt.
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.