Re: [p2-dev] Problem updating singleton plugins with p2
I just noticed that I sent the last mail to you and not to the mailing list.
As far as I understand OSGi/Equinox/p2 my update.feature is not part of any other feature. The plugins inside have some dependencies to other plugins, but I've instructed eclipse publisher/director to not include them in the product. As they are not versioned, i.e. we do not set specific version boundaries in the manifests, I expect that the newly updated feature will work with the old ones as far as Equinox is concerned.
I'll send you in an email the build artifacts as well as the new content.xml.
Thanks again for your help!
On Thu, Aug 11, 2011 at 7:11 PM, Brian de Alwis <briandealwis@xxxxxxxxx>
Do you have any other features that specify your update.feature? It's essential that no products or features specify it, since they all specify exact versions, or those features must also be updated (and included via the p2.inf).
It would really help if you could send your content.xml. Feel free to send it directly to me.
Thanks again for your answer!
Yes, the category.xml with the content you proposed was the missing piece for creating a complete repository. After I added it (though without the equinox.executable feature) I got what I expected.
But unfortunately I am still getting exactly the same error when I try to do the feature update :-(
I noticed that the only difference in both repositories (the one created in the new way and the old one with the update.feature in my product file) is in the content.xml file:
- The new one contains a new unit with description: 'Default category for otherwise uncategorized features'
- The product unit does not contain the update.feature any more in the new content.xml
I think this was the intent, but I am still not able to update my RCP app bundles.
I got a suggestion by a colleague of mine to look at how Eclipse's Check for Updates is working. Apparently Eclipse is able to update its plugins (some of them singletons). However, I'm afraid I got lost in the code. I just found that there is an UpdateAction class that eventually calls UpdateOperation class. But I am not sure whether this is the right way to do this task and whether these classes are at all callable from outside.
Do you Brian, or perhaps someone from the community know how Eclipse does its updates?