2009-02-13 7 views
15

Ich werte gerade Maven, um unseren Build-Prozess zu verbessern. Das Erstellen und Erstellen von normalen JAR-Dateien funktioniert soweit, obwohl ich mit der Maven-IDE nicht ganz zufrieden bin.Ist es derzeit möglich Eclipse Plugins von Maven zu erstellen UND eine schöne IDE Integration zu haben?

Ich bin jetzt an diesem Punkt, wo alle Bibliotheken, die ich für unser Projekt brauche, gebaut werden, und ich gehe weiter zu den Eclipse RCP-Projekten. Und jetzt bin ich mir nicht sicher, wie es weitergehen soll.

Es gibt einige Plugins, die ich zuerst bauen muss, bevor ich zum eigentlichen RCP-Teil übergehe. Deshalb habe ich eigentlich 3 Probleme.

Ich will diese Plugins bauen, die einzige wirkliche Lösung für das scheint die Maven-Bundle-Plugin zu sein: http://felix.apache.org/site/apache-felix-maven-bundle-plugin-bnd.html

Aber für nette IDE-Integration Ich brauche auch die entsprechenden Dateien (plugin.xml, baut .properties, etc ...), die automatisch generiert werden sollen.

Für den Aufbau der RCP-Teile scheint es bisher nur das pde-maven-plugin http://mojo.codehaus.org/pde-maven-plugin/ zu sein, das, soweit ich das beurteilen kann, ant-pde verwendet. Das ist dumm, oder?

Die einzige andere Sache, die ich finden konnte, war tycho (http://www.sonatype.com/people/2008/11/building-eclipse-plugins-with-maven-tycho/), aber das ist bis in einem sehr frühen Stadium.

und wieder ist eine schöne Eclipse-Integration notwendig. Ich möchte wirklich, wirklich, wirklich Abhängigkeiten nicht zweimal spezifizieren.

Also Wie erstellen Sie Ihre Eclipse RCP-Projekte mit Maven?

aktualisieren

Vorerst scheint es, dass es keine solche Lösung verfügbar ist. Tycho sieht sehr vielversprechend aus, aber ich habe 2 Tage verschwendet und es nicht zum Laufen gebracht (die aktuelle Version zu diesem Zeitpunkt). Vielleicht ist es in etwa einem halben Jahr fertig.

+0

sein Da PDE auf ANT buildfiles basiert, sehe ich nicht, wie die pde-Maven-Plugin ist dumm. Erfinde das Rad nicht neu. –

+0

Aber maven macht schon die meisten Dinge alleine (Kompilieren, Packen, etc ...), also warum nicht ein völlig unabhängiges (von ant) ​​Plugin mit minimalem Konfigurationsaufwand? – Mauli

+0

Ich bin derzeit auf Tycho vs. Buckminster etc. Über ein Jahr nach Ihrer Frage, wie sind Ihre Erfahrungen? – cuh

Antwort

7

Nein, es gibt kein solches Werkzeug. Tycho ist auch der einzige Ansatz, den ich kenne.

0

In unserem Projekt haben wir die Zielplattform und die Anwendungsplugins getrennt. Kurz gesagt: Wir bauen die Zielplattform mit Maven, während die Anwendungsplugins mit PDE gebaut werden.

0

Ich benutzte Mavenide für eine Weile, es war nur in Ordnung. Nicht sicher wie es heute ist.

2

Ich benutze und es passt gut meine Bedürfnisse. Sie geben Ihre Abhängigkeiten in der Datei pom.xml an, und sie werden automatisch im Buildpfad von Eclipse berücksichtigt.

Vorbehalt: Ich kann nichts über RCP sagen (hat nie etwas für diese Plattform gebaut).

Mit freundlichen Grüßen,

Cyril

+0

großartige Antwort, ich wollte nur hinzufügen, dass ich ein Maven-Plugin erstellt habe und ich genieße die Verwendung von Maven. – IAdapter

2

Sind Sie tot Satz auf Maven mit Ihren RCP-Anwendungen zu bauen? Ich frage das, weil aus meiner Erfahrung mit Maven, etwas mehr als trivial RCP-Apps zu bauen, ein ziemlicher Schmerz sein kann. Als ich anfing, an RCP-Anwendungen zu arbeiten, untersuchte ich zunächst Maven als Build-Lösung, fand aber heraus, dass die Unterstützung für Eclipse-Builds innerhalb von Maven zu dieser Zeit sehr einfach war.Einige meiner Kollegen benutzen maven für ein anderes RCP-basiertes Projekt in unserem Unternehmen, und während die Unterstützung für die Eclipse besser geworden ist, mussten sie durch einige Reifen springen, um es nach ihren Wünschen arbeiten zu lassen. Also, meine Meinung ist, dass für jetzt, bleiben Sie mit der Ant-basierte PDE-Build für Ihre RCP-Anwendungen.

0

Tycho macht, was Sie brauchen. Jetzt im Jahr 2012, es ist reif und nutzbare Reihe von Maven Plugins. Ich kann es nur empfehlen.

Die Qualität der Dokumentation hat sich seit 2009 offenbar nicht sehr verändert. Es kann schwierig sein, Tycho zum Laufen zu bringen. Wir haben es geschafft, Tycho zu verstehen, und wir verwenden es erfolgreich für den Aufbau einer erheblich größeren Eclipse RCP-Anwendung für mehr als anderthalb Jahre. Wir haben einen Manifest-First-Ansatz gewählt, bei dem alle Abhängigkeiten des Plugins (Projekts) in MANIFEST.MF definiert sind. Das Endprodukt unseres Builds ist eine ausführbare Anwendung und auch eine p2 site für einfache Updates. Alles getan von Maven Build.

+0

Hi, erstellt Tycho ein unabhängiges Maven-Projekt (wie mit einem Archetyp), wie NetBeans RCP-Anwendung gebaut oder es ist etwas komplizierter, dass es an der Eclipse-IDE festhält. Denn was ich hier sehe, scheint komplizierter http://wiki.eclipse.org/Developing_Tycho. – Bax

1

Heutzutage erlaubt Tycho das Auflösen von Abhängigkeiten basierend auf den Manifesten der erstellten Pakete (erforderliche Pakete, importierte Pakete usw.).

Darüber hinaus kann Tycho konfiguriert werden, um eine target platform für den Build zu verwenden. Dies ermöglicht die Verwendung derselben Zielplattform für Maven- und Pde-Builds.

Seit v0.24.0 kann Tycho sogar POM-less Plug-ins und Funktionen erstellen, wodurch die Duplizierung von Versions- und artifactId-Metadaten vermieden wird.

Angesichts der oben genannten, und in Anbetracht, dass sogar die Eclipse Platform is built using it für ein paar Jahren jetzt, Maven Tycho ist derzeit der beste Weg, um ein RCP kopflos zu bauen.

0

Wenn Sie ein Eclipse Plugin oder eine Anwendung (RCP) erstellen, ist Maven Tycho der empfohlene Weg, es zu bauen.

Es ist ziemlich intelligent bei der Auflösung von OSGI Abhängigkeiten. U kann sich auf meine Tutorials auf Maven Tycho Tutorials beziehen

Maven Tycho erfordert m2eclipse und Tycho Konfigurator Installation.

Und Urbild sollte Eclipse-Plugin oder Eclipse-Feature oder Eclipse-Repository