8

Meine Firma startet nächste Woche ein neues Projekt. Wir haben geplant, die Anwendung mit Eclipse rcp zu entwickeln. Der Build-Prozess sollte vollständig automatisiert sein, sodass wir bereit sind, eine kontinuierliche Integrationsumgebung (z. B. Continuum) einzurichten. Für den Build-Automation-Teil wollte ich maven2 verwenden, weil ich sein Abhängigkeitsmanagement verwenden möchte.Nutzen Sie maven2 für Build-Automation und kontinuierliche Integration eines Eclipse-RCP-Projekts?

Ich habe Maven2 für ein kleines altmodisches Java-Projekt verwendet, aber habe nie Maven eingerichtet, um es mit Eclipse rcp zu verwenden.

Was ist der beste Weg, dies zu tun? Grundlegendes Konzept? Gemeinsame Fallen? Gibt es irgendwelche Tutorials oder Bücher? Die Tutorials und Informationen, die ich fand, schienen veraltet oder unvollständig.

PS: Das Hauptprojekt wird in Unterprojekte (Plug-Ins) unterteilt. Aber ich denke, das ist typisch für eclipse rcp-Projekte.

+0

Ich glaube nicht, dass dies ein RCP-Projekt Ihre Maven/Kontinuum Projekt überhaupt, würde es ändern würde zu werden? –

+1

Ja. Eclipse RCP basiert auf OSGi zur Abhängigkeitsauflösung und maven ist ein völlig anderes System zur Abhängigkeitsauflösung. Sie sind leider (noch) nicht kompatibel. Maven 3 könnte das Problem lösen, wird aber in naher Zukunft nicht veröffentlicht. – paulgreg

Antwort

2

Wie die meisten Maven Fragen, wird dies durch einen Link zu einem Plug-in gelöst:

"pde-maven-plugin"

Weitere Hinweise:

  1. die Baugruppe Plug-in verwenden das Update zu bauen Seite
  2. betrachten Sie mit Hudson eher als Continuum
0

Ich habe vor kurzem das gleiche Problem: Build Eclipse RCP-Anwendung durch kontinuierliche Integration.

Ich habe sie noch nicht angewandt, aber ich habe einige interessante Artikel gefunden:

  1. Hier the documentation for Tycho
  2. Building Eclipse Plugins with Maven 2 auf eclipse.org
  3. Build Eclipse RCP products using Maven 2 - how hard can it be? von Immo Hüneke Blog
  4. Artikel hier über PDE build automation
  5. Hier ist ein shell script to automate JUnit test launch
+1

Ich habe ein paar Stunden Tycho auf meinem Projekt (bestehend aus ~ 30 Plugins & ~ 10 Funktionen) ohne großen Erfolg ausprobiert. Ich brauche mehr Zeit und/oder warte, bis Tycho stabiler ist. – paulgreg

2

Ich habe seit einiger Zeit Maven2/Eclipse RCP Integration gekämpft. Der Schlüssel liegt nicht so sehr darin, Ihr Setup richtig zu machen: Sie können es zum Laufen bringen - schließlich - indem Sie den Build-Prozess von Eclipse in maven zurückentwickeln.

Nach meiner Erfahrung ist der schwierige Teil alles auf dem neuesten Stand zu halten. Jedes Mal, wenn Eclipse ihre Bibliotheken aktualisiert, werden Sie feststellen, dass Sie eine Reihe von Pom-Dateien für das neueste RCP-Widget oder die SWT-Bibliothek neu schreiben. CI hilft dabei natürlich etwas. Das Problem ist, dass Eclipse und Maven sehr eigen sind in Bezug auf die Art und Weise, wie sie das Geschäft aufbauen, und ihre Ansätze sind ziemlich unterschiedlich. Um die Sache noch schlimmer zu machen, PDE dev (und Eclipse dev, allgemeiner) wird von einer Menge Zauberer-Code angetrieben, der manchmal ziemlich undurchsichtig ist, was hinter den Kulissen passiert.

Die Frage, die Sie sich wirklich stellen müssen, ist, ob es sich lohnt. In meinem speziellen Fall glaube ich, dass es gewesen ist. (CI ist zu gut, um ohne zu leben.) Aber die Abwägung ist, dass Sie sich als "Build-Typ" finden, der wertvolle Zeit weg von der tatsächlichen Entwicklung nehmen kann, was Ihnen wahrscheinlich am meisten Spaß macht.

+0

Noch ein kurzer Kommentar: Gib Hudson einen Spin statt Kontinuum. Es ist wirklich nett und ein Kinderspiel, mit ihm zu arbeiten. – jasonnerothin