Im Gespräch mit Maven-Gründer Jason van Zyl

Maven goes Eclipse: Was Indigo für Maven-User zu bieten hat

Das Buildwerkzeug Maven und die Entwicklungsumgebung Eclipse gehören beide zu den wohl am weitesten verbreiteten Werkzeugen für Java-Entwickler. Wer Maven und Eclipse in der Vergangenheit gemeinsam verwenden wollte, stand allerdings nicht selten vor Integrationsproblemen. Dies soll sich nun mit dem Eclipse Indigo Release ändern: Das erstmals im Release-Train vertretene m2e-Plug-in verspricht ein nahtloses Maven-Eclipse-Integrationserlebnis. Maven-Gründer Jason van Zyl stellt das neue m2e vor und verrät, was Sonatype sonst noch für Eclipse-Entwickler zu bieten hat.

JAXenter: Zum ersten Mal nimmt das Projekt m2e an einem Eclipse Release Train Teil. Was verbirgt sich hinter m2e?

Jason van Zyl: Das m2e-Projekt fungiert als Brücke zwischen Maven und der Eclipse IDE. Eclipse hat sich zu der populärsten Entwicklungsumgebung für Java entwickelt, und Maven ist das populärste Build-Framework in großen Enterprise-Umgebungen. Das m2e-Projekt sorgt für die reibungslose Integration, die nötig ist, um mit diesen beiden sehr unterschiedlichen Sytsemen zu arbeiten. Im Kern von Maven steht das Project Object Model, kurz POM, das darauf abzielt, alles über den Entwicklungsprozess eines Softwareprojekts zu beschreiben. Das POM dient dazu, alle Informationen an einem zentralen Ort zu bündeln. Damit soll verhindert werden, dass sich diese Informationen über verschiedene Skripts verteilen, was die Verwaltung von Softwareprojekten sehr erschwert. Innerhalb von m2e liegt das Hauptaugenmerk darauf, das POM für Entwickler zugänglich zu machen, wobei die drei wichtigsten Bereiche die Verwaltung von Projektinformationen, von Abhängigkeiten und von Plug-ins, die während des Build-Prozesses genutzt werden, darstellen.

JAXenter: Wie unterscheidet sich die Indigo-Version von m2e von früheren Versionen des Plug-ins?

van Zyl: Zunächst einmal hat Sonatype die komplette Codebasis nach eclipse.org verschoben. Das m2e-Projekt ist dem Eclipse-Inkubator entwachsen und stellt nun ein offizielles 1.0-API bereit. Es gab außerdem eine umfangreiche interne Überarbeitung des POM-Editors, die signifikantesten Neuerungen stellen hierbei die Maven-spezifischen Fehlermarker dar, die konsistent eingeführt und akkurat im Editor platziert wurden. Wir haben auch den Mechanismus überarbeitet, der den Maven-Build-Lifecycle auf die Eclipse-Workspace-Projektkonfiguration und die Builder überträgt. Dies ermöglicht eine modulare Entwicklung von Erweiterungen, sodass die Community dabei helfen kann, die Funktionalitäten von m2e auszubauen. Als Teil dieser Bemühungen haben wir einen Mechanismus eingebaut, mit dem sich automatisch m2e-Erweiterungen vom Eclipse Marketplace aus suchen und installieren lassen. Und schließlich haben wir erhebliche Performanzverbesserungen in Zusammenarbeit mit den JBoss-Tools-Entwicklern erreicht.

JAXenter:Was bedeutete die Beteiligung an Indigo für eure internen Entwicklungsprozesse?

van Zyl: Der größte Unterschied bestand in den IP-Prozessen zur Klärung der Urheberrechte und der damit verbundenen Überprüfung aller Drittpartei-Bibliotheken. Wir denken, dass dies ein notwendiger Teil des Eclipse-Entwicklungsprozesses ist, und wir sind froh, dass die Eclipse Foundation diese Fragen sehr ernst nimmt. Nichtsdestotrotz ist diese Prüfung ein zeitaufwändiges Unterfangen. Abgesehen von den IP-Prozessen mussten wir uns stenger an die Deadlines für Integrationsmeilensteine halten. Aber ansonsten waren die Prozesse, die wir typischerweise bei der Interaktion mit der Community anwenden, dieselben.

JAXenter:Was hat Maven bzw. Sonatype außer m2e für Eclipse-Anwender zu bieten?

van Zyl: Das Tycho-Projekt wird immer wichtiger bei Eclipse, und viele Projekte haben bereits Migrationsanstrengungen unternommen, um auf Tycho umzustellen. SAP arbeitet zurzeit zusammen mit Sonatype daran, Tycho unter das Dach der Eclipse Foundation zu bringen, und der Umzug sollte bis zum Herbst vollzogen sein. Einige haben auch Nexus bei der Eclipse Foundation installiert, und Sonatype plant, den p2-Support in Nexus Open Source zur Verfügung zu stellen. Wir hoffen, dass dies die Entwicklung mit Tycho und p2-Repositories in der Zukunft sehr viel einfacher machen wird.

JAXenter:Was können wir vom m2e-Projekt in den nächsten Monaten erwarten?

van Zyl: Wir haben eigentlich erst mit den Planungen begonnen, und es gibt noch keine konkreten Ziele, was neue Features anbelangt. Zwei wichtige Dinge, an denen wir arbeiten, sind aber einerseits die Integration von m2e in die Web Tools Platform (WTP). Andererseits wollen wir der Community dabei helfen, Lifecycle Mappings für alle wichtigen Plug-ins im Maven-Ökosystem zu erstellen.

JAXenter: Vielen Dank für das Gespräch.

Jason van Zyl ist Gründer und CTO von Sonatype und verfügt über mehr als 10 Jahre Erfahrung im Open-Source-Bereich und in der Entwicklung proprietärer Enterprise-Software. Als Open-Source-Enthusiast hat Jason das Apache-Maven-Projekt ins Leben gerufen und ist auch Begründer der Nexus- und M2E-Projekte. Als langjähriges Mitglied der Apache Software Foundation war er an der Entwicklung von Codehaus beteiligt. Jason ist regelmäßiger Sprecher an Konferenzen wie JavaOne, EclipseCon, ApacheCon und JAX.

Kommentare

Schreibe einen Kommentar

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