Gradle im Praxistest

Schaukeln für Fortgeschrittene

Moritz Zimmer, Marek Iwaszkiewicz


Die Grundlage aller Projekte für die Erstellung hochqualitativer Software bildet ein Build- System, mit dem aus dem Programmcode sowie den benötigten Ressourcen das auszuführende Programm erstellt wird. Bis vor Kurzem standen Entwicklern und Architekten aus dem Java-Bereich in erster Linie die Build-Systeme Ant und Maven zur Verfügung. Hier hat sich Maven in den letzten Jahren zunehmend durchgesetzt, sodass bei einem Großteil der neu aufgesetzten Projekte die Wahl auf Maven fiel. Zuletzt betrat mit Gradle ein neues Build-System die Bühne, das den Anspruch verfolgt, die Vorteile seiner beiden Vorgänger in sich zu konsolidieren.

ArtikelserieTeil 1: Projektbeschreibung, Entwicklungsumgebung, AnwendungsentwicklungTeil 2: Qualitätssicherung, CI, umgebungsspezifische Konfiguration

Gradle liegt mittlerweile in einer ersten finalen Version vor und wird allein hierdurch für den Einsatz in Projekten interessanter. Zu Gradle selbst, den Vorteilen und den zugrunde liegenden Konzepten wurde in der Vergangenheit schon des Öfteren berichtet. Ob das Build-System den Ansprüchen professioneller Softwareprojekte genügt, wurde jedoch meistens nicht diskutiert. Diese Ansprüche sind allgemeiner Natur und unterscheiden sich nicht von denjenigen, die an andere Build-Systeme gestellt werden. Im Folgenden soll nicht auf die Frage eingegangen werden, welches von den vorhandenen Systemen das beste ist, sondern ob Gradle die allgemein geltenden Ansprüche erfüllt und die für den Einsatz in professionellen Projekten erforderliche Reife hat.

Ansprüche an ein Build-System

Was aber sind die allgemein geltenden Ansprüche? Im Kontext von Build-Systemen gelten nicht für alle Projekte immer dieselben Anforderungen. Dennoch gibt es eine Menge Kernaspekte, die ungeachtet der eingesetzten Technologien für alle Projekte und die jeweils eingesetzten Build-Systeme relevant sind. Aus Entwicklersicht stellt sich zum Beispiel die Frage nach der IDE-Unterstützung. Muss der Entwickler beispielsweise den Build immer über die Kommandozeile steuern oder bietet die eingesetzte Entwicklungsumgebung entsprechende Hilfestellungen? Von zentraler Bedeutung für alle Projekte ist zudem die Frage, wo die von der Anwendung benötigten Bibliotheken abgelegt und wie die Abhängigkeiten zwischen diesen aufgelöst werden (Dependency-Management). Darüber hinaus ist es wichtig, dass im Rahmen eines Builds Integrations- und Unit Tests automatisiert ausgeführt werden können – idealerweise inklusive der Ermittlung der Testabdeck...

Gradle im Praxistest

Schaukeln für Fortgeschrittene

Moritz Zimmer, Marek Iwaszkiewicz


Die Grundlage aller Projekte für die Erstellung hochqualitativer Software bildet ein Build- System, mit dem aus dem Programmcode sowie den benötigten Ressourcen das auszuführende Programm erstellt wird. Bis vor Kurzem standen Entwicklern und Architekten aus dem Java-Bereich in erster Linie die Build-Systeme Ant und Maven zur Verfügung. Hier hat sich Maven in den letzten Jahren zunehmend durchgesetzt, sodass bei einem Großteil der neu aufgesetzten Projekte die Wahl auf Maven fiel. Zuletzt betrat mit Gradle ein neues Build-System die Bühne, das den Anspruch verfolgt, die Vorteile seiner beiden Vorgänger in sich zu konsolidieren.

ArtikelserieTeil 1: Projektbeschreibung, Entwicklungsumgebung, AnwendungsentwicklungTeil 2: Qualitätssicherung, CI, umgebungsspezifische Konfiguration

Gradle liegt mittlerweile in einer ersten finalen Version vor und wird allein hierdurch für den Einsatz in Projekten interessanter. Zu Gradle selbst, den Vorteilen und den zugrunde liegenden Konzepten wurde in der Vergangenheit schon des Öfteren berichtet. Ob das Build-System den Ansprüchen professioneller Softwareprojekte genügt, wurde jedoch meistens nicht diskutiert. Diese Ansprüche sind allgemeiner Natur und unterscheiden sich nicht von denjenigen, die an andere Build-Systeme gestellt werden. Im Folgenden soll nicht auf die Frage eingegangen werden, welches von den vorhandenen Systemen das beste ist, sondern ob Gradle die allgemein geltenden Ansprüche erfüllt und die für den Einsatz in professionellen Projekten erforderliche Reife hat.

Ansprüche an ein Build-System

Was aber sind die allgemein geltenden Ansprüche? Im Kontext von Build-Systemen gelten nicht für alle Projekte immer dieselben Anforderungen. Dennoch gibt es eine Menge Kernaspekte, die ungeachtet der eingesetzten Technologien für alle Projekte und die jeweils eingesetzten Build-Systeme relevant sind. Aus Entwicklersicht stellt sich zum Beispiel die Frage nach der IDE-Unterstützung. Muss der Entwickler beispielsweise den Build immer über die Kommandozeile steuern oder bietet die eingesetzte Entwicklungsumgebung entsprechende Hilfestellungen? Von zentraler Bedeutung für alle Projekte ist zudem die Frage, wo die von der Anwendung benötigten Bibliotheken abgelegt und wie die Abhängigkeiten zwischen diesen aufgelöst werden (Dependency-Management). Darüber hinaus ist es wichtig, dass im Rahmen eines Builds Integrations- und Unit Tests automatisiert ausgeführt werden können – idealerweise inklusive der Ermittlung der Testabdeck...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang