Töröööö!

Gradle 4.9: Neues Task API und verbesserter Dependency Insight Report

Dominik Mohilo

 

© Shutterstock / IlkerErgun

Das Team von Gradle hat mit Gradle 4.9 erneut eine neue Version des beliebten Build Tools veröffentlicht. Teil des Releases waren unter anderem Verbesserungen am Dependency Insight Report und die Unterstützung von Kommandozeilenargumenten durch JavaExec. Zum Testen freigegeben ist hingegen das neue Task API, das als experimentelles Feature hinzugefügt wurde.

Für die aktuelle Version auf Java basierenden Open Source Build Tools Gradle wurden 31 Issues gefixt, laut den Release Notes gibt es keine bekannten Probleme in dem Release.

Gradle 4.9: Neue Features und Funktionen

Kommandozeilenargumente

Das neue Release von Gradle macht umständliches Anpassen von Build-Skripten überflüssig: Kommandozeilenargumente können ab sofort schlicht unter Verwendung von --args an JavaExec weitergegegeben werden. Möchte man also seine Anwendung mit den Argumenten foo --bar starten genügt folgende Code-Zeile:

gradle run --args 'foo --bar'

Dependency Insight Report

Für die lokale Diagnose von Problemen im Dependency Management gab es vor langer Zeit einmal sogenannte Build Scans. Diese wurden schon vor einer Weile durch den Dependency Insight Report ersetzt, dessen Funktionalität für Gradle 4.9 noch einmal aufgebohrt und verbesser wurde. So führt die Nutzung von failOnVersionConflict() bei einem Konflikt nicht mehr zu einem Fehler.

Module, die wegen der Anwendung einer gewissen Regel zurückgewiesen wurden, werden zukünftig angezeigt, Gleiches gilt für Module, die zwar in der Vorauswahl berücksichtigt wurden, aber nicht dem Version Selector entsprechen. Im Übrigen gilt der Dependency Insight Report ab Gradle 4.9 als stable

Experimentelles Feature: Task API

Für Gradle 5.0 ist ein neues Task API geplant, das bereits in der aktuellen Version als experimentelles Feature implementiert wurde. Das Task API soll dafür Sorge tragen, dass keine Tasks erstellt und konfiguriert werden, wenn diese später gar nicht ausgeführt werden. Durch das Upgrade allein kann es bereits sein, dass die Konfiguration ein wenig schneller abläuft – das liegt daran, dass einige Tasks vom Gradle-Team für die Nutzung des neuen Task APIs konvertiert wurden.

Achtung! Da das Feature sich noch im experimentellen Status befindet, ist es nicht ratsam, das API bereits in Produktion anzuwenden. Hinzu kommt, dass die neue Funktionalität bis Gradle 5.0 noch einige Breaking Changes hervorrufen könnte.

Wer es ausprobieren möchte, der findet in der Dokumentation von Gradle alles benötigten Informationen. Auf dem Blog gibt es ebenfalls einen interessanten Artikel zur Thematik.

Kotlin DSL

Neben neuen Features für Gradle selbst, hat das Release auch eine neue Version der Kotlin DSL im Gepäck (Kotlin DSL 0.18.4). Mit dieser sollte die Evaluation von .gradle.kts schneller klappen und einige Verbesserungen in Sachen UX gibt es ebenfalls. Zu Letzteren zählt etwa, dass das Kommando gradle --version auch die Versionen der Gradle Kotlin DSL und Kotlin selbst anzeigt:

------------------------------------------------------------
Gradle 4.9-rc-1
------------------------------------------------------------

Build time:   <date>
Revision:     <commit-hash>

Kotlin DSL:   0.18.4
Kotlin:       1.2.41
Groovy:       2.4.12
Ant:          Apache Ant(TM) version 1.9.11 compiled on March 23 2018
JVM:          1.8.0_161 (Oracle Corporation 25.161-b12)
OS:           Mac OS X 10.13.4 x86_64

Quelle: Gradle Inc. via GitHub

Weitere Informationen zu den Verbesserungen in Sachen Kotlin DSL gibt es auf GitHub. Zudem gibt es einen neuen Guide, wie man Build-Logiken von Groovy auf Kotlin migriert. Alles Weitere zu Gradle 4.9 gibt es in den Release Notes.

Geschrieben von
Dominik Mohilo
Dominik Mohilo
Dominik Mohilo studierte Germanistik und Soziologie an der Goethe-Universität in Frankfurt. Seit 2015 ist er Redakteur bei S&S-Media.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: