Gradle 1.4 verbessert Performance, Scala/Groovy Support und Dependency Management

Judith Lungstraß

Das Release 1.4 des Buildtools Gradle hat sich vor allem die Verbesserung der Performance auf die Fahnen geschrieben. Das Ziel sind schnellere Builds, die weniger Speicher benötigen – hierfür wurden Optimierungen in der Dependency-Auflösung, den Task-up-to-date-Überprüfungen und in der Testausführung vollzogen. Das Ergebnis: Bei einem typischen Java-Projekt sollen 10 bis 20 Prozent der Build-Zeit eingespart werden, bei Builds mit vielen kleinen Projekten und Unit Tests sogar 50 Prozent.

Doch auch im Umgang mit Scala und Groovy will das Build-Werkzeug starke Verbesserungen erfahren haben. So ist jetzt die automatische Aufspürung von Scala- und Groovy-Bibliotheken aus dem Classpath heraus möglich. Die automatische Konfiguration von Groovy und Scala Tools vereinfacht außerdem, verschiedene Varianten der Software für verschiedene Scala- bzw. Groovy-Versionen zu erstellen.

Im Bereich Dependency Management wird von einem besseren Reporting berichtet. Resolution Reports kann man jetzt auch dann erstellen, wenn eine oder mehrere der Abhängigkeiten nicht aufgelöst werden konnten. Der fertige Report stellt dann auch Details zur nicht aufgelösten Abhängigkeit bereit.

Dank eines neuen HTML-Report-Formats kommen Nutzer von TestNG nun in den Genuss derselben Report-Qualität wie JUnit-Nutzer. Die Reports enthalten jetzt auch den zum Debugging nützlichen Test Output, und sie funktionieren mit TestNG und Gradle Parallel Testing.

Besonders interessant an Gradle 1.4 sind wie immer die sogenannten Incubating Features – Funktionen, die neu sind und zwar schon genutzt werden können, denen es aber noch an der Rückwärtskompatibilität fehlt. Hierzu zählen diesmal beispielsweise die Dependency Resolve Rules, Algorithmen zur Beeinflussung der Auflösung einer bestimmten Abhängigkeit. Oder auch der neue Configuration-on-demand-Modus. Er reduziert die Startzeit für große Builds mit mehreren Projekten, indem er nicht mehr automatisch alle Projekte, sondern nur noch die für den Build benötigten konfiguriert. Ein Java-Library-Distribution-Plug-in und ein neues Maven-Publish-Plug-in gehören ebenfalls dazu.

Feedback und Erfahrungen zur neuen Gradle-Version wünschen sich die Entwickler gewohnheitsgemäß in den Gradle-Foren zu hören.

Geschrieben von
Judith Lungstraß
Kommentare

Schreibe einen Kommentar

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