Suche
Bauen, bauen, bauen

Gradle 4.1: Neues Worker API macht Builds schneller

Melanie Feldmann

© Shutterstock / Johan Swanepoel

 

Mit Gradle 4.1 kommt das neue Worker API, das mit paralleler Ausführung für schnellere Builds sorgt. Außerdem bringt die neue Version das Build-Tool auf den neusten Stand von Java 9 und Kotlin.

Die Version 4.1 von Gradle bringt ein neues Worker API, das die sichere parallele und asynchrone Ausführung von Builds ermöglicht. Das API lässt sich dazu nutzen, um innerhalb einer Custom Task Class den Task in mehrere Teile zu zerlegen und diese parallel auszuführen. Sobald ein Task all seine Aufgaben für die asynchrone Ausführung eingereicht hat und die Task Action verlassen hat, kann Gradle unabhängige Tasks abarbeiten auch wenn diese Tasks zum selben Projekt gehören. Dies ermöglicht es Gradle, Ressourcen besser auszunutzen und somit Builds schneller zu bauen als bisher. Auf dem Gradle Summit 2017 haben Paul Merlin, Principal Engineer bei Gradle, und Gary Hale, Gradle Performance Team Engineer, das neue API bereits vorgestellt.

Die Gradle-Entwickler raten dazu, einen Blick auf den neuen User Guide zu werfen, da die parallele Ausführung standardmäßig aktiviert ist. Wichtige Kern-APIs werden in Zukunft auf das neue Worker API zurückgreifen. Das Gradle-Plug-in für Android 3.0 nutzt es bereits.

Sprach-Updates

Mit 4.1 unterstützt Gradle außerdem den aktuellen Release von Java 9 (b170+) Auch hierzu steht ein Guide zu Verfügung, der erklärt wie man mit den neuen Java-9-Modulen am besten in Gradle arbeitet. Die Kotlin-DSL v0.10.3 ist jetzt ebenfalls auf dem neuesten Kotlin-Stand (1.1.3). Es gibt ein neues kotlin-dsl-Plug-in für Gradle-Plug-ins, die in Kotlin geschrieben sind. Auch für Scala-Fans hat Gradle 4.1 etwas dabei. Tasks vom Typ ScalaCompile und ScalaDoc vom Scala-Plug-in lassen sich nun cachen. Das bedeutet, dass sie den Build Cache nutzen, wenn er aktiviert ist.

Lesen Sie auch: Acht Build-Tools im Vergleich

Verbesserter Cache

Den Build Cache betreffen auch noch weitere Verbesserungen. Remote Caches werden nun auch lokal gespeichert. Beim nächsten Mal kann dann das lokale Cache-Ergebnis genutzt werden, ohne es noch einmal herunterzuladen. Fehler wie eine unterbrochene HTTP-Verbindungen oder beschädigte Download-Daten sorgen außerdem nicht mehr dafür, dass der Build fehlschlägt. Stattdessen wird der Build Cache für die Dauer des aktuellen Builds deaktiviert.

Build-Optimierungen

Composite Builds funktionieren nun mehr wie Multi-Projekt-Builds. Included Builds werden nun standardmäßig parallel ausgeführt und Gradle vermeidet es, Included-Build-Tasks mehrmals auszuführen, wenn es sich vermeiden lässt. Entwickler können nun Continuous Builds und Composite Builds zusammen nutzen.

Die kompletten Änderungen finden sich in den Release Notes. Zum Download geht es hier entlang.

Geschrieben von
Melanie Feldmann
Melanie Feldmann
Melanie Feldmann ist seit 2015 Redakteurin beim Java Magazin und JAXenter. Sie hat Technikjournalismus an der Hochschule Bonn-Rhein-Sieg studiert. Ihre Themenschwerpunkte sind IoT und Industrie 4.0.
Kommentare

Schreibe einen Kommentar

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