# Plug-Ins zur Laufzeit hinzufügen



## dzim (3. Feb 2009)

Hallo,

der eine oder ander hat vielleicht in der Vergangenheit meinen (langen) Weg zu lauffähigen Plug-Ins mitbekommen.
Da nun mittlerweile alles geht, was soll und ich gerade auf Arbeit ein wenig Zeit übrig hab, stellen sich bei mir ein paar weitere Fragen bezüglich Plug-Ins und deren Integration.

Bis jetzt klappt ja alles wunderbar, wenn ich mein Programm gemeinsam mit den Plug-Ins exportiere, oder es während des bastelns aus Eclipse herraus starte (vorausgesetzt, in der Run Configuration sind die entsprechenden Plug-Ins hinzugefügt).
Was aber noch nicht geht ist das hinzufügen/entfernen von Plug-Ins zur Laufzeit.
Also dass ich das Programm in dem die Plug-Ins laufen sollen Stand-Alone exportiere, ebenso gesondert die Plug-Ins exportiere und dann in das plugin-Verzeichnis des Hauptprogramms lege und sie erkannt werden.

Ich hoffe, ich habe mich verständlich machen können - das war ja schon früher mitunter mein Problem...

Wie muss ich dazu ungefähr vorgehen? Kann mir jemand einen Tipp geben?

Viele Grüße!
D


----------



## foobar (3. Feb 2009)

Falls es um die Eclipse RCP geht: Um neue Plugins hinzuzufügen, muß die Worbench immer neu gestartet werden. Oder worum gehts dir?


----------



## dzim (3. Feb 2009)

Ja es geht um Eclipse RCP.
Ok, das mit dem Neustart würde ja passen, aber wenn ich eines meiner plugins in das entsprechende Verzeichnis kopiere (Programm ist noch nicht gestartet) und es dann starte, wird das Plugin nicht aktiv.
Ich hab mitbekommen, dass dann auch nichts in der config.ini drin steht (logisch, oder?), wenn die Plugins gemeinsam mit dem Programm exportiere aber schon.

Irgendwas mach ich falsch - was es ist hab ich aber noch nicht genau verstanden...


----------



## Vayu (3. Feb 2009)

welche basis benutzt du? eclipse pre 3.4 oder 3.4?

bei 3.4 müssen zusätzliche plugins, die nicht über den update mechanismus installiert werden in das dropins verzeichnis kopiert werden.


----------



## dzim (3. Feb 2009)

ich benutze 3.4

also hab ich zwei wege: ich baue einen update-mechanismus in meine RCP App oder ich nutze dieses dropins-Verzeichnis - verstehe ich das richtig?


----------



## Wildcard (3. Feb 2009)

Du baust entweder eine Update-Site (der bevorzugte Weg), oder stellst deine nakten Plugins/Features zur Verfügung und der Anwender wirft sie in dropins, oder installiert sie über die Update Manager UI (für letzteres wird AFAIK ein Feature benötigt).


----------



## dzim (4. Feb 2009)

Ich hab mir dazu gestern mal wieder ein paar aktuelle Tutorials von Lars Vogel angeschaut.
Das sieht wirklich so aus, als müsste ich die PlugIns ins Features verpacken und dann irgendwie zu Verfügung stellen, jetzt muss ich "bloß" noch das mit der Update-Site hinbekommen, denn der Update muss ja von innerhalb meiner eigenen Anwendung und nicht von Eclipse selbst laufen.

Danke schon mal!

Ich hatte mir fast schon so was gedacht, hatte aber gehofft, dass es nicht so komplex wird. Aber was solls, wenn ich's schon mach, kann's auch vernünftig sein...

[edit]Ich lass den Thread mal offen, weil bestimmt noch die eine oder andere Frage dazu von mir kommen wird...[/edit]


----------



## foobar (4. Feb 2009)

Mit Pluginbuilder kannste dir ganz einfach nen Buildprozess erstellen, der Headless läuft und ne Updatesite erstellt.
http://www.pluginbuilder.org/


----------



## dzim (4. Feb 2009)

danke! schau ich mir mal in ruhe an!

btw: Habt ihr eigentlich schon das 3.4.1 Delta Pack mal zum laufen bekommen? Ich bekomm es nicht hin.
Vielleicht ist mein Eclipse aber auch schon so totkonfiguriert... wer weiß...


----------



## Wildcard (4. Feb 2009)

foobar hat gesagt.:
			
		

> Mit Pluginbuilder kannste dir ganz einfach nen Buildprozess erstellen, der Headless läuft und ne Updatesite erstellt.
> http://www.pluginbuilder.org/


Oder mit Eclipse Buckminster, mein favorite...


> Das sieht wirklich so aus, als müsste ich die PlugIns ins Features verpacken und dann irgendwie zu Verfügung stellen, jetzt muss ich "bloß" noch das mit der Update-Site hinbekommen, denn der Update muss ja von innerhalb meiner eigenen Anwendung und nicht von Eclipse selbst laufen.


Was meinst du damit? Im Update Manager muss doch nur deine Update Site eingetragen sein um den Rest kümmert sich dann das Framework


----------



## dzim (5. Feb 2009)

ich glaube dein build-prozess hattest du schon mal etwas genauer beschrieben, da hab ich mir auhc so einiges mal angeschaut - irgendwie hat bei uns bislang das builden über die Export-Wizards genügt. Die anderen Projekte machen wir meist über ant...

Ich meinte damit nur, das ich den Updatemanager halt noch einbinden muss in mein App und eben auch noch den Featurefasching machen muss - denn ohne das geht es doch nicht, oder hab ich das falsch verstanden?


----------



## foobar (5. Feb 2009)

Das Umstellen auf ein Featurebasiertes Projekt ist aber simpel. Einfach im Product auf "Basiert auf Features" stellen und dann in deinem neu erzeugten Feature alle Plugins hinzufügen.
Dann mußt du nur noch das org.eclipse.rcp-Feature und dein eigenes deinem Product hinzufügen.

Bei Bedarf kannste deine Anwendung auch in verschiedene Features aufteilen was sich bei nem Updatemanger ja anbieten würde.


----------



## dzim (5. Feb 2009)

Hm... Ich hab mal geschaut, was (mit aus meinem Verständnis heraus) zu tun wäre:
* die App in ein feature packen
* die plugins in jeweils ein feature packen
* überall die requirements auflösen (zu meinen core-PlugIns - die ich aber wohl mit in das jeweilige Feature bundlen würde)
* meine App im product auf das wie zuvor beschriebene auf-features-basieren umstellen und den Updatemechanismus einbinden

Klingt insgesamt überschaubar - na wenn mir da die Zeit bleibt, werde ich das wohl mal versuchen - mal sehen was draus wird...


----------

