RCP Eclipse Provisioning

dzim

Top Contributor
Hallo zusammen,

da bin ich mal wieder.
Features und Nervige Toolbar-/Menubar-Items sind passé. Jetzt wage ich mich an die Eingeweide von p2.

Es gibt da ja die p2.inf, in der man "IUs" schon vorneweg beschreiben kann (Entschuldigt die Anführungstriche, aber die Doku zu p2 ist ja IMHO bestenfalls ein schlechter Witz).
Ich möchte eigentlich gar nicht so viel machen, lediglich initiale Update-Seiten festlegen.

Aus einem uraltem Test habe ich die folgenden Zeilen übernommen:
Code:
instructions.configure=\
  addRepository(type:0,location:http${#58}//download.eclipse.org/releases/galileo);\
  addRepository(type:1,location:http${#58}//download.eclipse.org/releases/galileo);\
  addRepository(type:0,location:http${#58}//download.eclipse.org/eclipse/updates/3.5);\
  addRepository(type:1,location:http${#58}//download.eclipse.org/eclipse/updates/3.5);
Ich weiß nicht mehr, wo ich das gefunden habe, aber mit einem Featurebasiserten Export klappt es und die beiden Seiten sind zu sehen.
Ich hätte gerne in einem ersten Schritt eine lokale Update-Seite hinzugefügt:
Code:
instructions.configure=\
  addRepository(type:0,location:http${#58}//download.eclipse.org/releases/galileo);\
  addRepository(type:1,location:http${#58}//download.eclipse.org/releases/galileo);\
  addRepository(type:0,location:http${#58}//download.eclipse.org/eclipse/updates/3.5);\
  addRepository(type:1,location:http${#58}//download.eclipse.org/eclipse/updates/3.5);\
  addRepository(type:0,location:file${#58}///home/dzimmermann/workspace/My${#20}Update${#20}Site/);\
  addRepository(type:1,location:file${#58}///home/dzimmermann/workspace/My${#20}Update${#20}Site/);

Ich dachte mir: ${#58} wird wohl eine etwas seltsame Maskierung eines Doppelpunktes sein (ASCII-Nr. 58) und habe aus der in URLs erwarteten Maskierung von %20 für ein Leerzeichen ${#20} eingefügt.
Da ich lokal arbeite, habe ich file, statt http verwendet.

Das Problem ist, ich bekomme folgende Fehlernachricht:
Code:
 An error occurred while configuring the installed items
 session context was:(profile=profile, phase=org.eclipse.equinox.internal.p2.engine.phases.Configure, operand=null --> [R]myapp.rcp.pfs.ssdtool.product 0.5.2.201103311646, action=org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.AddRepositoryAction).
 The "location" parameter was not set in the "addRepository" action.

Davon einmal abgesehen, hat die "Dokumentation" für dieses Thema zwar viel Kram - ich kann es nicht anders nennen - zu vermelden, aber von addRepository steht nirgens was. Obwohl es ja für das Beispiel ganz oben funktioniert...

Ich finde zwar, das die Google-Suche schon weitaus mehr bringt als die Doku von p2 (zum Beispiel Kai's Blog), aber wirklich eine Lösung zu meinem Problem finde ich spontan nicht.

Habt ihr da eine Idee?

Danke wie immer im Voraus!
Daniel
 

dzim

Top Contributor
Irgendwie alles seltsam:

Ich habe
Code:
  addRepository(type:0,location:file${#58}///home/dzimmermann/workspace/My${#20}Update${#20}Site/);\
  addRepository(type:1,location:file${#58}///home/dzimmermann/workspace/My${#20}Update${#20}Site/);
refactored nach
Code:
  addRepository(type:0,location:file${#58}///home/dzimmermann/workspace/MyUpdateSite/);\
  addRepository(type:1,location:file${#58}///home/dzimmermann/workspace/MyUpdateSite/);
- also die Ominösen Leerzeichen entfernt - und jetzt geht es. Ich kann meine lokale Update-Site verwenden.
Ich bekomme zwar bei vielen meiner Features die Nachricht, dass sie wegen nicht gelöster Dependencies nicht installiert werden können (was ich, am Rande erwähnt, nicht wirklich verstehen kann), aber grundsätzlich funktioniert es erst einmal.

Edit:
Ich habe gerade einmal das Produkt mit den Features gebaut, die p2 nicht über die Update-Seite beziehen kann. Da geht alles - das versteh' jetzt mal einer...

Edit2:
Ich korrigiere meine Aussage von eben teilweise: Eines der Features, das nicht installiert werden konnte, enthält Fragmente mit Übersetzungen - dabei waren viel mehr Fragmente zu Plugins enthalten, die überhaupt nicht in der Anwendung sind. Konkret geht es um Fragmente aus dem Babel-Projekt - ich habe da nicht so gründlich aufgeräumt, wie ich es hätte machen müssen.
 
Zuletzt bearbeitet:

dzim

Top Contributor
Hat jemand von euch den generell schon Erfahrung mit dem Konstruieren von Update-Sites?

Ich trete gerade mächtig auf der Stelle.
Ich bin jetzt zwar die nicht notwendigen Abhängigkeiten aus den Babel-Fragmenten los, aber wenn ich jetzt meine Update-Site aus der Applikation heraus anspreche, bekomme ich noch mehr Fehler.
Davon abgesehen, das der Baum (die Kategorien) bei den Standardmäßig aktivierten Optionen nicht mehr angezeigt wird (also: ja, ich habe die Site komplett neu gebaut; und ja: Ich habe die Features in Kategorien eingeteilt), bekomme ich jetzt fast immer die Nachricht, dass nur eine der Versionen eines Plugin installiert werden können.

Ein Beispiel:
Code:
Cannot complete the install because of a conflicting dependency.
  Software being installed: MyApps Complete 1.0.0.201104010936 (myapp.pfs.pcp.complete.feature.group 1.0.0.201104010936)
  Software currently installed: Platform 0.5.2.201104010922 (myapp.rcp.pfs.ssdtool.product 0.5.2.201104010922)
  Only one of the following can be installed at once: 
    ServiceClients 0.8.4.201104010922 (myapp.pfs.pcp.serviceclients 0.8.4.201104010922)
    ServiceClients 0.8.4.201104010936 (myapp.pfs.pcp.serviceclients 0.8.4.201104010936)
  Cannot satisfy dependency:
    From: Platform 0.5.2.201104010922 (myapp.rcp.pfs.ssdtool.product 0.5.2.201104010922)
    To: myapp.pfs.pcp.core.feature.group [0.5.2.201104010922]
  Cannot satisfy dependency:
    From: MyApps Complete 1.0.0.201104010936 (myapp.pfs.pcp.complete.feature.group 1.0.0.201104010936)
    To: myapp.pfs.pcp.serviceclients [0.8.4.201104010936]
  Cannot satisfy dependency:
    From: Platform Core 0.5.2.201104010922 (myapp.pfs.pcp.core.feature.group 0.5.2.201104010922)
    To: myapp.pfs.pcp.serviceclients [0.8.4.201104010922]

Also jetzt bitte kein Bashing, ich kann ja lesen - nur die Frage ist: Wieso tritt das auf?

Ich habe erst die Applikation (die sog. "Platform") bestehend aus zwei Features gebaut:
  1. Eclipse Core (also Features org.eclipse.rcp, p2, help und noch alle Plugins, die ich so brauchen kann)
  2. Platform Core (meine Plattform mit ihren Extension Points, Utilities - z.B. die "ServiceClients" - u.ä.)
Danach habe ich alles in meinem UpdateSite-Projekt bis auf die site.xml, die index.html und den web-Ordner gelöscht, im Editor für die site.xml "Synchronize" gedrückt und danach ein "Build All" ausgeführt.
Die App gestarten, "Help" > "Install New Software..." und dann hatte ich den Salat.
Ach so: "MyApps Complete" ist ein kleines Feature, in dass ich einfach alle Plugins für meine Platform gebundelt habe.

Muss ich in den Features vielleicht explizit die Versionen der Dependecies angeben?
Ich hatte zum Beispiel bei der Übersetzung meines "Platform Core" Features nur eben dieses als Abhängigkeit angegeben. Für mein "MyApps Complete" Feature lediglich das "Platform Core" Feature. Ist das Falsch gedacht? Muss ich auch die Anhängigkeit zum "Eclipse Core" Feature mit angeben?
Wenn ich dort "Compute" verwende, holt er nur Plugins, aber keine Features rein - manchmal auch mehrfach, mit verschiedenen Versionen. Wäre es sinnvoll überall die Abhängigkeiten mit "Compute" aufzulösen?
 

Wildcard

Top Contributor
Ein Update Site Projekt ist doch AFAIK die alte legacy Update Site, oder?
Ich baue Update Sites normal entweder per Buckminster aus einem Feature, oder per b3 Aggregator wenn andere Seiten gespiegelt werden sollen.
Alternativ kannst du auch Maven Tycho oder PDE benutzen, wobei PDE IMO zu umständlich ist.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E OSGi Eclipse Plug-in programmierung: java.lang.NullPointerException: Cannot enter synchronized block because "profile" is null Plattformprogrammierung 4
R Eclipse Bundles Plattformprogrammierung 2
Robertop RCP Command in bereits bestehendes Eclipse-Menü einbauen Plattformprogrammierung 4
T Java Projekt läuft nur in Eclipse Plattformprogrammierung 6
M Eclipse Plugin PreferencePage BooleanFieldEditor Plattformprogrammierung 1
F OSGi Plugin unter Eclipse arbeitet anders als wenn veröffentlicht Plattformprogrammierung 2
D RCP P2-Repository für Eclipse-Plugins Plattformprogrammierung 0
M Debuging in Eclipse Annotations Processor Plattformprogrammierung 0
D Nach Sprachpaket Installation kann eclipse nicht mehr gestartet werden Plattformprogrammierung 4
L0MiN Wie kann ich ein Klassendiagramm aus Eclipse heraus erstellen? Plattformprogrammierung 5
M Eclipse Probleme beim Ausführen eines Programms Plattformprogrammierung 3
feinperligekohlensaeure Eclipse Workspace gemeinsam Nutzen -> keine .project Datei Plattformprogrammierung 1
F Eclipse Build Path auf benötigte Projekte Plattformprogrammierung 4
B Daten von Eclipse extern sichern Plattformprogrammierung 2
B Eclipse zeigt Fehler nach Java-Update auf 1.8.0_40 Plattformprogrammierung 3
VfL_Freak [Eclipse] Fehleranzeige im Reiter "Problems" Plattformprogrammierung 1
S Errors in workspace bei eclipse Plattformprogrammierung 3
T eclipse bietet keine META-INF an Plattformprogrammierung 1
N Eclipse wo starten Plattformprogrammierung 6
A Eclipse schließt einfach ohne Fehlermeldung Plattformprogrammierung 4
W Eclipse vergißt beim Exportieren Resources-Ordner Plattformprogrammierung 11
A RCP Eclipse e4 und Injection-Contexts Plattformprogrammierung 0
K Eclipse fährt nicht mehr hoch. Metadatendatei schuld? Plattformprogrammierung 7
C [Eclipse RCP E4]InjectionException: no actual value was found for the argument "MDirtyable" Plattformprogrammierung 8
T Eclipse Eigenschaften hinzufügen Plattformprogrammierung 2
M RCP [Eclipse RCP 3.4] ViewTab Kontextmenu "Alle schließen" Plattformprogrammierung 0
D Problem mit eclipse Plattformprogrammierung 2
S Verschieben des Verzeichnis .eclipse aus Userprofile Plattformprogrammierung 3
A RCP Kann kein Eclipse 4 Projekt anlegen Plattformprogrammierung 0
S RCP Exportiertes RCP Produkt lädt Datei nicht, bei Start aus Eclipse wird Datei jedoch gefunden Plattformprogrammierung 6
G Eine Library in Eclipse zur Verfügung stellen Plattformprogrammierung 14
Gregorrr Eclipse RCP Product Build-Nummer + Jenkins Plattformprogrammierung 6
R Einfaches Eclipse-Plugin-Beispiel funktioniert nicht Plattformprogrammierung 5
H OSGi OSGi + Logback + slf4j - Eclipse Run Configuration Plattformprogrammierung 7
C plugin development environment eclipse Plattformprogrammierung 4
R RCP Commands nutzen / org.eclipse.ui.file.save Plattformprogrammierung 7
O Installiere externe Methode "containsNone" in Eclipse Plattformprogrammierung 2
M Keybinding in Eclipse Plugin Plattformprogrammierung 3
TheWhiteShadow RCP Konstrukt für Editor in Eclipse gesucht. Plattformprogrammierung 3
B Eclipse Probleme mit build Plattformprogrammierung 8
H Keine Hilfe/API mehr in Eclipse Juno? Plattformprogrammierung 4
B Neue SuppressWarning in Eclipse Juno Plattformprogrammierung 6
B Eclipse Property Page Plattformprogrammierung 6
B Eclipse PreferencePage Plattformprogrammierung 3
B Eclipse Plugin Einstellungsleiste Plattformprogrammierung 2
B Birt-Previewer über Eclipse Plattformprogrammierung 14
J Eclipse Plug-In für UML-Diagramme Problem Plattformprogrammierung 4
O Eclipse Plugin - Einfachstes Problem, das es gibt. Plattformprogrammierung 2
R Eclipse RCP Tabellen-View (Anfängerfrage) Plattformprogrammierung 3
C Eclipse: Notification beim umbennen von Methoden? Plattformprogrammierung 4
schalentier Eclipse Sourcecode Plattformprogrammierung 4
A Eclipse undo/redo button reagiert nicht auf Änderungen in der OperationHistory Plattformprogrammierung 5
P Eclipse M2_REPO (NON MODIFIABLE) Plattformprogrammierung 8
B Eclipse: Contextmenu id erhalten? Plattformprogrammierung 9
H Datei in eclipse wird nicht erkannt Plattformprogrammierung 3
O Neues Tastenkürzel für Eclipse Editorfenster registrieren Plattformprogrammierung 2
3 Eclipse Editor Plugin selektiert Projekt nicht Plattformprogrammierung 10
Madlip RCP eclipse.ui.bindings (Key-Problematik) Plattformprogrammierung 2
S Eclipse vs. JavaMail vs. Ubuntu vs. Windows Plattformprogrammierung 3
M eclipse führt applikationen nicht mehr aus Plattformprogrammierung 6
S Eclipse: Auf CTRL-C/CTRL-V im Package Explorer? Plattformprogrammierung 4
M Eclipse und Hilfen Plattformprogrammierung 5
G Eclipse buggt rum!!! Plattformprogrammierung 4
B Eclipse RCP und Java 7 Plattformprogrammierung 7
G RCP Eclipse Editor + Guice Plattformprogrammierung 8
T RCP Eclipse RCP: Wo/wann im Plugin ist workbench initialisiert? Plattformprogrammierung 14
G Eclipse Plug-in: wie refreshe ich eine combobox? Plattformprogrammierung 4
M Eclipse Plug-in: Wie eine Grafik einfügen? Plattformprogrammierung 20
M RCP [Eclipse RCP] Feature Export und "Fehler"... Plattformprogrammierung 3
P Eclipse speichert keine Änderungen Plattformprogrammierung 5
M Eclipse - Dokumentation nicht über das Internet benutzen Plattformprogrammierung 3
C Eclipse Plugin NoClassDefFoundError Plattformprogrammierung 4
E org.eclipse.ui.dialogs.ListSelectionDialog erzeugt ClassNotFoundException zur Laufzeit Plattformprogrammierung 4
M Eclipse Plugin Entwicklung - NoClassDefFoundError Plattformprogrammierung 10
C RCP Verständnisfrage Eclipse/Equinox Plattformprogrammierung 4
D eclipse-RCP von der Konsole baut nicht Plattformprogrammierung 3
L RCP Eclipse Popupmenu im PackageExplorer erweitern? Plattformprogrammierung 7
C Eclipse Plugin Entwicklung: Editor für Flussdiagramme Plattformprogrammierung 6
S (OSGI - EQUINOX) Welche Eclipse IDE? Plattformprogrammierung 3
C Pdf in jar datei einbinden mit eclipse Plattformprogrammierung 23
G neuer branch in SVN mit Eclipse Plattformprogrammierung 6
F RCP eclipse rcp ohne eclipse? Plattformprogrammierung 15
G RCP Abhängigkeiten von Eclipse Plugins Plattformprogrammierung 9
K Eclipse RCP, EMF, Hibernate Problem Plattformprogrammierung 7
B RCP eigenes Eclipse Plugin wird nicht aufgelöst Plattformprogrammierung 7
T Eclipse Helios XMLUnit importieren Plattformprogrammierung 6
R Verwendung pdfbox in Maven-Projekt in Eclipse Plattformprogrammierung 3
lumo RCP wechseln der Font von Eclipse per code Plattformprogrammierung 10
lumo RCP Eclipse internationalisierung Plattformprogrammierung 5
jemandzehage Kurze Fehlernachricht beim starten in Eclipse Plattformprogrammierung 5
A RCP java.lang.ClassNotFoundException: org.eclipse.core.runtime.adaptor.EclipseStarter Plattformprogrammierung 7
P Wie bekomme ich ICompilationUnit aus dem event? bei Eclipse-Plugin Plattformprogrammierung 3
Rudolf External Libs dauerhaft in Eclipse einbinden Plattformprogrammierung 3
G RCP Eclipse UI Forms Plattformprogrammierung 10
musiKk RCP Eclipse: Speichern von Spaltenbreiten Plattformprogrammierung 9
X Datei in einem Eclipse Projekt über Plugin zugreifen Plattformprogrammierung 2
P Eclipse Help: Wie Links zu anderer Hilfeseite setzen ? Plattformprogrammierung 5
F Eclipse EMF Modelltransformation Plattformprogrammierung 3
tfa RCP Compilereinstellungen festlegen bei Eclipse-Batch-Build Plattformprogrammierung 9
Rudolf Eclipse stürzt bei nebenläufigen Programmen ab! Plattformprogrammierung 2

Ähnliche Java Themen

Neue Themen


Oben