2016-06-21 20 views
1

Ich versuche, eine Funktion aus Eclipse mit P2-Operationen zu deinstallieren.Deinstallieren einer Funktion mit p2

Was ich tue, zu erreichen:

OperationFactory of = new OperationFactory(); 
ProfileChangeOperation operation; 
//toInstall = List<IVersionedId> only containing the feature 
operation = of.createUninstallOperation(toInstall, repos, monitor); 

Danach habe ich renne den Vorgang.

Die Funktion wird erfolgreich deinstalliert, aber Plugins, die Teil dieser Funktion sind, die keine Abhängigkeiten von anderen Features/Plugins sind, bleiben installiert. Dies ist unerwünschtes Verhalten.

Ich habe bereits versucht

org.eclipse.equinox.p2.ui.sdk.scheduler/gcOnStartup=true 

meiner Produkteigenschaften hinzuzufügen.

Ich habe auch versucht

eclipse.exe -application org.eclipse.equinox.p2.garbagecollector.application -profile DefaultProfile 

Keine Wirkung zu laufen.

Ich habe

-profileProperties org.eclipse.update.install.features=true 

zu meinem Programm Argumente. Kein Effekt.

Zusätzlich habe ich versucht, GC programmatisch zu implementieren, was auch keinen Effekt hatte.

Irgendeine Idee, wie man das repariert? P2 installiert Features einschließlich aller abhängigen Plugins. Ich habe erwartet, dass es sich bei der Deinstallation ähnlich verhält.

Antwort

1

Das Problem trat nur auf, wenn Build mit Tycho. Ich habe es geschafft, dies zu beheben, indem ich org.eclipse.update.configurator mit Startlevel 4 und Auto-Start = falsch zu meinen Produktanfangsstufen hinzufügte.

Zusätzlich fügte ich org.eclipse.update.reconcile mit dem Wert false zu den Eigenschaften in meiner Produktkonfiguration hinzu.

Mit dieser speziellen Kombination von Einstellungen werden nicht mehr installierte Plugins nicht mehr angezeigt.