Maven / Gradle

Die kleinen Helfer für den automatisierten Build.

Maven verfolgt einen deklarativen Ansatz, der durch "Konvention vor Konfiguration" mittels vorgefertigter Phasen den Entwicklern in den häufigsten Fällen viel Arbeit abnimmt (verglichen mit z.B. ant). Weil sich auch Abhängigkeiten mit Maven gut managen lassen, ist es auch in sehr vielen Kundenprojekten im Einsatz.

Die Automatisierung des Builds schafft neue Möglichkeiten, Feedbackschleifen zu etablieren. So werden vor dem Erzeugen des auszuliefernden Artefakts verschiedene Qualitätsprüfungen ausgeführt, zum Beispiel die automatisierten Tests oder auch die statische Code-Analyse. Zusätzlich zu vorhandenen Plugins für Maven hat auch andrena zwei Werkzeuge beigesteuert (die Links dazu finden Sie unten):

  • Maven-Plugin, um Paketzyklen zu verhindern
  • Maven-Plugin, um Architektur-Richtlinien automatisiert zu prüfen

Gradle bietet eine DSL an, mit der die Automatisierung des Builds kompakt formuliert werden kann. Für den Fall besonderer, nicht direkt vom Framework vorgesehener, Anforderungen an den Build zeigt Gradle gegenüber Maven Vorteile. Denn mit Gradle sind Erweiterungen oder komplexe Anforderungen einfacher machbar. Als Standard im Android Umfeld hat sich Gradle auch bereits in vielen Projekten etabliert.

Unabhängig davon, welches Werkzeug für die Automatisierung eingesetzt wird, ist es wichtig, einen zentralen Buildserver zu verwenden. Im Java-Umfeld sind das üblicherweise Jenkins oder Gitlab CI.

Links zu Plug-Ins

 

Artikel zum Download
Paketzyklen - Diagnose, Therapie File icon Download (1.5 MiB)

 

Vorträge (Links zu externen Seiten)

 

Artikel (Links zu externen Seiten)