Gradle: Nebula Plugins

Bei den Nebula-Plugins handelt es sich um eine Sammlung von Plugins für Gradle, welche von Netflix ursprünglich für die eigene Verwendung programmiert wurden.

nebula-vertical

Netflix hat diese als Open-Source auf GitHub veröffentlicht: https://github.com/nebula-plugins. Wie für Gradle üblich, können die Plugins auch direkt aus den Plugin-Repositories bezogen werden.

Im weiteren Verlauf will ich auf einige der Plugins weiter eingehen:

Dieses Plugin ermöglicht es sehr einfach, Artefakte zu blacklisten. Z. B. könnten alte Versionen einer Kryptographielibrary verboten werden. Hierbei werden sowohl direkte, als auch transitive Dependencies ausgewertet.

Dieses Plugin ermöglicht es, Logiken zu definieren, die Versionen von Artefakten vorschlagen. Eine der bekanntesten Provider hierfür ist Maven Bom.

Dieses Plugin ermöglicht es, für jedes Artefakt Ansprechpartner festzulegen. Diese Informationen werden in erzeugte Artefakte übernommen. Gerade bei Großprojekten kann dies ein immenser Vorteil sein, da es nun möglich ist, bei Problemen mit Dependencies direkt mit den zuständigen Personen zu kommunizieren, ohne diese erst herausfinden zu müssen.

Oft kommt es vor, dass Versionen von Dependencies nicht komplett festgelegt sind, z. B. 2.0 oder neuer. Während dies oft eine Erleichterung bei Minor-Releases bedeutet, verhindert es jedoch, reproduzierbare Builds von alten-SCM Zuständen nachträglich zu erzeugen. Dieses Plugin erzeugt beim initialen Build eine Datei, in der die exakten Versionen aller dynamischen Dependencies vermerkt sind. Wenn nun ein alter Stand erneut gebaut werden soll, werden die Versionen aus dieser Datei übernommen, anstatt erneut dynamisch die Version aufzulösen.

In einem Multi-Module Build-Projekt mit Gradle werden normalerweise für jedes Subprojekt einzeln die JavaDocs erstellt. Dieses Plugin ermöglicht es, die JavaDocs innerhalb eines Multi-Module Builds zu aggregieren und ein einheitliches, vollständiges JavaDoc zu erzeugen.

Dieses Plugin ermöglicht es, während des Builds Warnungen und Fehler zu erzeugen. Diese werden am Ende des Builds nochmal auf der Konsole wiederholt, damit sie nicht übersehen werden können.

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

Leave a Reply