Wir haben eine OSGi-Laufzeitumgebung (Equinox) in eine benutzerdefinierte Client-Server-Anwendung eingebettet, um die Entwicklung von Plugins zu erleichtern, und bisher laufen die Dinge gut. Wir verwenden Eclipse zum Erstellen von Plugins aufgrund des integrierten Manifest-Editors, des Abhängigkeitsmanagements und des Export-Assistenten. Die Verwendung von Eclipse für Manager-Builds ist der kontinuierlichen Integration über Hudson nicht förderlich.Wie kann ich OSGi Build-Abhängigkeiten verwalten?
Wir haben OSGi-Bundles, die von anderen OSGi-Bundles abhängen. Ich würde es wirklich hassen, die Reihenfolge in einem benutzerdefinierten ANT-Build zu kodieren. Wir haben getan, das ist die Vergangenheit und es ist ziemlich schrecklich. Gibt es ein Build-Tool, das OSGi-Abhängigkeiten leicht verwalten kann, wenn sie nicht automatisch aufgelöst werden? Gibt es irgendwelche DECENT-Beispiele dafür?
KLARSTELLUNG:
Die generierten Skripte über Eclipse-nur verwendbar sind, bauen. Sie benötigen manuell ablaufende Teile von Eclipse. Wir haben auch einige Standardziele, die der Eclipse-Build nicht haben wird, und ich möchte die generierte Datei nicht ändern, da ich neu generieren kann (ich weiß, dass ich Includes machen kann, aber ich möchte die Eclipse-Gen-Datei vermeiden) zusammen)
Hier mein Projekt-Layout ist:
/
-PluginA
-PluginB
-PluginC
.
.
.
den Eclipse-PDE Bei der Verwendung hat jedes Plugin eine Manifest, aber keine build.xml als PDE tut das für mich. Schwer zu automatisieren ein GUI-gesteuerter Prozess mit Hudson. Ich würde gerne meine eigene build.xml einrichten, um jedes zu bauen, aber es gibt Abhängigkeiten und Build-Reihenfolge Probleme. Diese Probleme werden durch die Manifest-Dateien (die OSGi-Importe beschreiben) gesteuert. Zum Beispiel hängt PluginC von PluginB ab, das von PluginA abhängt. Sie müssen in der richtigen Reihenfolge gebaut werden. Ich erkenne, dass ich die Build-Reihenfolge manuell steuern kann, ich suche nach einem Tool, um das Build-Abhängigkeitsmanagement zu automatisieren.
Warum funktionieren deklarative Dienste nicht? – drozzy