2008-09-25 9 views
20

Ich habe eine Reihe von Eclipse Plugins und Features, die ich als Teil eines nächtlichen (kopflosen) Builds erstellen möchte. Es ist mir gelungen, ein kompliziertes Setup zu verwenden, bei dem Pfade zu Eclipse-Plug-ins manuell festgelegt und customTargets.xml usw. kopiert werden.Erstellen von Eclipse Plugins und Features in der Kommandozeile

Gibt es wirklich keine einfachere Lösung? Gibt es nicht eine Möglichkeit, einfach auf die Site.xml meiner Update Site zu verweisen und "build" zu sagen; Das entspricht dem Klicken auf "Alles erstellen" im Update-Site-Projekt?

Antwort

6

Vorausgesetzt, dass alle Antworten auf diese Frage alle 3-5 Jahre alt sind, denke ich, ein Update wäre für andere nützlich.

Für diejenigen, die das Erstellen von Eclipse-Plugins zum CI-Prozess hinzufügen möchten, empfehle ich ihnen die Eclipse Tycho project. Dies ist im Wesentlichen ein Maven-Plugin, mit dem Sie Eclipse-Projekte in Maven-Projekt einbinden können. Damit verwenden wir Atlassian Bamboo um unser Eclipse Plugin zu erstellen. Dies ermöglicht uns auch, das Maven Jarsigner Plugin zu benutzen, um unsere Plugin-Dateien zu signieren.

+1

Ja, wir sind auch nach Tycho gewandert. Tycho scheint die bevorzugte Wahl für den Aufbau von Eclipse Plugins geworden zu sein. Die Eclipse Platform 4.3 (Kepler) Version verwendet auch Tycho, soweit ich es verstehe. – JesperE

1

Sie könnten in Buckminster und Maven schauen. Es gibt zwar eine Lernkurve, aber sie scheinen ihre Arbeit gut zu machen.

+0

Ich schaute in Maven, aber es schien sehr strenge Vorstellungen darüber zu haben, wie Projekte angelegt werden sollten, die nicht mit dem typischen Eclipse-Layout übereinstimmten.Ich werde Buckminster sehen. – JesperE

+0

Ja, die Lernkurve ist ziemlich steil, aber Sie werden wahrscheinlich nicht alles verwenden. Auf jeden Fall lohnt es sich für das, was es tut. – jamesh

2

Ich habe gerade selbst mit diesem Problem gekämpft. Verwenden Sie das Skript productBuild? Vielleicht hilft es Ihnen, Ihre Funktionen in ein Produkt zu integrieren.

Ich mache eine kopflose Build auf einer Produktkonfiguration. Das einzige Script, das ich anpasste, war, einige ant-Tasks zu customTargets.xml hinzuzufügen, um meine Quellen von SVN zu erhalten, und nach dem Build eine kleine Säuberung von JNLP-Manifesten durchzuführen, während ich WebStart verwende.

Dann müssen Sie antRunner nur in der out of the box productBuild.xml im Verzeichnis scripts/productBuild (im pde-build plugin) aufrufen.

+0

Nein, ich benutze die Skripte/build.xml. Ich bin erstaunt, dass niemand eine Eclipse-GUI für die Einrichtung einer Headless-Build gemacht hat, und dass ich immer noch mit XML-Dateien herumspielen muss. – JesperE

+0

Vielleicht haben wir eine gute Chance, ein neues Eclipse-Plugin hier zu haben. –

2

Auschecken Ant4Eclipse. Ich habe es verwendet, um die .classpath/.project-Dateien von Eclipse zu analysieren, um Projektabhängigkeiten und Klassenpfade zu bestimmen. In Kombination mit Groovy Ant Task habe ich automatisch mehrere Projekte in Ant erstellt, die die Eclipse-Projektdateien für Build-Informationen verwenden. Eine buildPlugin Aufgabe existiert, aber ich habe sie nicht persönlich benutzt.

2

Wir verwenden PDE derzeit, um Features und unser komplettes Produkt automatisch zu erstellen. Es funktioniert ganz gut. Stellen Sie sicher, dass Sie das richtige Skript für die Erstellung von Produkten oder Features verwenden.

BEARBEITEN: Wir haben jetzt auf Buckminster migriert, die eine ausgezeichnete Befehlszeilenschnittstelle hat.

+0

Mit ein paar hilfreichen Ruby-Skripten sind wir trotzdem mit dem PDE-Build gegangen. Ant4Eclipse war vielversprechend, aber fehlerhaft, und da die Mailingliste nicht verfügbar ist, gab es nicht viel Hilfe. – JesperE

1

Wir verwenden headlesseclipse, die auf Google Code gefunden werden kann:

http://code.google.com/p/headlesseclipse/

Es funktioniert ganz gut und kann leicht Kommandozeilen-Gebäude von Plugins und Features automatisieren. Ich habe jedoch noch keine Möglichkeit gefunden, das Erstellen der Update-Site über die Befehlszeile zu automatisieren.

+1

HeadlessEclipse ist offiziell tot, da die wichtigsten Mitwirkenden nach Maven gezogen sind. – JesperE

Verwandte Themen