Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » P2 » How to upgrade singleton plugins using p2?
How to upgrade singleton plugins using p2? [message #1733246] Wed, 25 May 2016 09:42
Dario Foresti is currently offline Dario ForestiFriend
Messages: 1
Registered: November 2014
Junior Member
Hello.

we are building a big application based on equinox and several plugins. A lot of them are signed as "singleton" because contains some extensions.
The application runtime is produced from a specific product definition exported using the function of Eclipse PDE. Finally, plugin dependency are defined in several features included in the product and update site definition.

Now our task is to integrate a p2 based upgrade engine into our application. I wrote a specific procedure using the example code found on Vogella site:

www.vogella.com/tutorials/EclipseP2Update/article.html

The upgrade procedure ends successfully if i try to upgrade a feature that not contain singleton plugins. But every time i try to update a feature with singleton plugins the procedure ends with an error like this:

Status ERROR: org.eclipse.equinox.p2.director code=0 Software being installed: As.UP Runtime Core 0.8.0.201605251230 (org.smeup.sys.rt.core 0.8.0.201605251230) null

Status ERROR: org.eclipse.equinox.p2.director code=0 Software currently installed: Sme.UP MU Application NIO 0.8.0.201605240932 (com.smeup.erp.mu.prod.application.nio.product 0.8.0.201605240932) null

Status ERROR: org.eclipse.equinox.p2.director code=1 Only one of the following can be installed at once: null children=[Status ERROR: org.eclipse.equinox.p2.director code=0 As.UP Runtime Core 0.8.0.201605240932 (org.smeup.sys.rt.core 0.8.0.201605240932) null Status ERROR: org.eclipse.equinox.p2.director code=0 As.UP Runtime Core 0.8.0.201605251230 (org.smeup.sys.rt.core 0.8.0.201605251230) null]

Status ERROR: org.eclipse.equinox.p2.director code=1 Cannot satisfy dependency: null children=[Status ERROR: org.eclipse.equinox.p2.director code=0 From: Sme.UP MU Application NIO 0.8.0.201605240932 (com.smeup.erp.mu.prod.application.nio.product 0.8.0.201605240932) null Status ERROR: org.eclipse.equinox.p2.director code=0 To: org.smeup.sys.ft.runt.e4.feature.group [0.8.0.201605240932] null]

Status ERROR: org.eclipse.equinox.p2.director code=1 Cannot satisfy dependency: null children=[Status ERROR: org.eclipse.equinox.p2.director code=0 From: As.UP Runtime E4 0.8.0.201605240932 (org.smeup.sys.ft.runt.e4.feature.group 0.8.0.201605240932) null Status ERROR: org.eclipse.equinox.p2.director code=0 To: org.smeup.sys.rt.core [0.8.0.201605240932] null]


So, if I have correctly understood the meaning of the error message, dependencies specified by a .product file are encoded with an exact version, and so my product is now fixed to that exact version of my "updatable" feature. And the updatable feature contains an exact version of a singleton plugin. In fact, i can't update this plugin because its version is fixed (by product and feature) and i can't install a different version because plugin is a singleton.

At this link:

aniefer.blogspot.it/2009/07/composing-and-updating-custom-eclipse.html

i read that one possible solution is to use p2.inf file for adding feature plugins requirement with a version range instead of fixed version. I tried to change the definition of my features by introducing a properly configured p2.inf file that declare singleton plugin dependency with a version range, but the Eclipse PDE product export procedure fails reporting a requirement error (the plugin defined in p2.inf is not found).

How can i solve this problem?

Thanks to all for help.

Previous Topic:Status Error while resolving Install Operation
Next Topic:Huge variety of ClassNotFoundExceptions trying to load P2 repositories
Goto Forum:
  


Current Time: Sun Oct 22 21:20:04 GMT 2017

Powered by FUDForum. Page generated in 0.01428 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software