Gradle 5.1

Vor einigen Wochen wurde Gradle 5.1 fertiggestellt. Zeit, sich einmal kurz die drei wichtigsten Änderungen (für Java Entwickler) anzuschauen.

Repository to dependency matching

Hiermit ist die Möglichkeit gemeint, bestimmte Repositories als Quelle für bestimmte Pattern in den Artefakt-Ids festlegen zu können. Z. B.:

repositories {
maven {
url "https://myrepo.de"
content {
includeGroupByRegex "de.oio.projectname*"
}
}
}

Da wir wissen, dass alle Artefakte von “projectname” nur auf myrepo.de hochgeladen werden, kann die Suche in anderen Repositories gespart werden.

Verbesserte und erweiterte Fortschrittsevents

Während eines Builds sind jetzt zusätzliche Informationen für Fortschrittsanzeigen und Reporting verfügbar.

  • TaskOperationDescriptor: Enthält jetzt zusätzlich einen Verweis auf das Plugin, welches den aktuellen Task registriert hat
  • TaskExecutionResult: Enthält jetzt eine Liste warum ein Task ausgeführt wurde, und ob diese Ausführung inkrementell war.
  • JavaCompileTaskOperationResult: Enthält jetzt zusätzliche Informationen zu den ausgeführten Annotations-Prozessoren

Features, die jetzt nicht mehr experimentell sind:

Um insbesondere bei großen Builds Zeit zu sparen, gibt es seit einiger Zeit eine neue API, welche Task Konfigurationen nur durchführt, wenn diese Tasks auch benutzt werden. Um diese API zu benutzen, können Tasks so registriert werden:

// Alter Weg, mit dem bisher Tasks erstellt wurden
task myTask(type: MyTask) {
// Dieses Konfigurationselement wird immer ausgeführt
}

tasks.register("myTask", MyTask) {
// Dieses Konfigurationselement wird nur ausgeführt, wenn notwendig
}

Short URL for this post: https://wp.me/p4nxik-3fO
This entry was posted in Build, config and deploy and tagged . Bookmark the permalink.

Leave a Reply