# Export mit Buckminster



## rcpFuchs (31. Mai 2011)

Hallo,

ich hoffe hier kann mir jemand helfen.
Die Frage ist eigentlich recht simpel.
Ich habe ein RCP Projekt, was ich für verschiedene Systeme exportieren möchte.
Dazu habe ich Headless Eclipse RCP builds with Buckminster and Hudson durchgearbeitet. Ich habe alles genau so gemacht, wie bei Ebert vorgegeben. (Hoffe ich).

Jetzt bin ich bei dem Schritt "Exporting a p2 site for the application using Buckminster".
Ich klicke als mit der Rechten Maustaste auf com.example.mail.site und wähle buckmister -> 
invoke action... -> ich wähle site.p2 als matching items: und wähle die datei "D:\Eigene Dateien von Simon\Desktop\asdfghjkl\site.txt" in der der Inhalt.

# Where all the output should go
buckminster.output.root=${user.home}/tmp/mail
# Where the temp files should go
buckminster.temp.root=${user.home}/tmp/buildtmp
# How .qualifier in versions should be replaced
qualifier.replacement.*=generator:lastRevision

target.os=*
target.ws=*
target.arch=*

steht.

Anschließend arbeitet der etwas und es kommt folgender Fehler:

BNo component named org.eclipse.ui.carbonsgi.bundle/[4.0.100.M20101124-0800,4.0.100.M20101124-0800](&(target.os=macosx)(target.ws=carbon)) is known to Buckminster


Hat jemand eine Idee, was ich dafür machen soll?

Danke im Vorraus.


----------



## Wildcard (31. Mai 2011)

Ich würde vermuten das kein Delta Pack in deiner Target Platform enthalten ist.


----------



## rcpFuchs (31. Mai 2011)

Ich habe in der Datei rcp.target, wie beschrieben, über die update site die plug-ins
Eclipse Platform Launchers
Eclipse RCP SDK
hinzugefügt.

Der Fehler ist trotzdem gekommen.

Ich habe noch versucht, Eclipse Platform Plug-in Developer Resources zusätzlich hinzugefügt.
Hat auch nichts geholfen.

Du hattest Recht, ich hatte keine Target Platform hinzugefügt. Das habe ich jetzt geändert. Ich habe das DeltaPack von eclipse.org heruntergeladen, entpackt und zu dem target hinzugefügt.

Leider hat das auch nichts gebracht und der Fehler besteht wie bisher.

Meinst du ich sollte das Delta Pack direkt in den Eclips Ordner packen, damit das auch von Eclipse erkannt wird?


----------



## rcpFuchs (31. Mai 2011)

Habe hier einen Fehler gepostet, den ich schon wieder behoben habe.

Ich habe jetzt bei mail.product unter export eine checkbox mit "export für multiple platforms" dort kann ich dann auch die Platformen auswählen die ich haben möchte. Exportieren tut der und das Programm läuft auch, aber nur für windows x64 bei 32 bit linux mac ... kommt immer ein fehler, dass die entsprechende jar, die diese funktionalität beinhaltet nciht gefunden wird.


----------



## code404 (1. Jun 2011)

Also so ganz sicher bin ich mir nicht, aber ich dachte ab eclipse 3.6 wird das Delta Package nicht mehr benötigt?
Der "Zauberhaken" ist doch der "Include all environments" beim erstellen der Target Platform.


> http://www.ralfebert.de/blog/eclipsercp/rcp_builds/:
> Defining and sharing the target platform
> 
> Eclipse RCP applications are developed with a target platform containing all the platform features and bundles which are required for the application. This is configured in Window > Preferences > Plug-in Development > Target Platform. Create a new, empty target definition. Add Eclipse RCP SDK and Eclipse Platform Launchers from the Eclipse Software Site (you have to uncheck Group by category to see the feature). * Uncheck Include Required Software so that you can check Include all environments (otherwise the target is only suitable for building on your own platform) *



Ist der bei Dir gesetzt?


----------



## rcpFuchs (1. Jun 2011)

Ja ganz genau, ich habe es dank deinem Tip geschafft.


----------



## rcpFuchs (1. Jun 2011)

So jetzt, da ich das ganze mit dem Tutorial geschafft habe, dank eurer Hilfe, wollte ich mein neu erworbenes Wissen auf mein Hauptprojekt loslassen.

Ich habe also eine neue Target Definition hinzugefügt, doch jetzt werden einige Imports nicht mehr gefunden.

import org.eclipse.ui.part.FileEditorInput;

Zum Beispiel wird gefunden, wenn ich den Haken " Include all environments " nicht setze.
Das Gegenteil ist der Fall, wenn ich den Haken setze. Dann kann dieser Import, und Zahlreiche andere Imports nicht gefunden werden. Obwohl das Package org.eclipse.ui.part.*; gefunden wird.

Wieso kann das sein, wenn ich  " Include all environments " setze sollte doch eigentlich mehr hinzugefügt werden und nicht weniger.?!

Danke im VOrraus!


----------



## Wildcard (2. Jun 2011)

Mit Include All Environments werden required plugins nicht mehr automatisch in die Target Platform aufgenommen, du musst also expliziter festlegen welche Bundles/Features du haben möchtest.


----------



## rcpFuchs (2. Jun 2011)

Aha,
das ist ja doof und eine Kombination aus beidem scheint es wohl nicht zu geben...
ich habe mal drauf los geklickt und alles mitgenommen, was ich für eventuell required erachtet habe.

nun sind es ca 420 plugins, etwas viel aber es läuft. der export hat auch schon funktioniert. Danke danke danke.

Jetzt gibt es die Möglichkeit, eventuell auszuprobieren, welches plugin nicht benötigt wird, oder gibt es noch etwas besseres als einfach brude force mal alle möglichkeiten durchzugehen?


----------



## Wildcard (2. Jun 2011)

Die perfekte Lösung gibt es IMO nicht. Ich versuche normal Feature orientiert zu arbeiten. Ist das Ding eine IDE, dann nehme ich oft das Eclipse IDE Feature als Ausgangspunkt und füge dann benötigte Features hinzu (EMF, Xtext, usw.). Wenn es keine IDE ist fange ich entsprechend kleiner an (mit dem RCP Feature) und füge dann weitere Features hinzu. Einzelne Bundles füge ich nur in Ausnahmefällen hinzu weil sonst schnell die Übersicht verloren geht.
Allerdings, wenn deine Target Platform etwas fetter als benötigt ist, dann macht das noch nichts, das heißt ja nicht, dass die RCP später all diese Bundles enthalten muss. Du legst ja nur den Pool fest aus dem sich die Entwickler bedienen können.


----------

