Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Equinox » Help for an Eclipse project update site
Help for an Eclipse project update site [message #686202] Tue, 21 June 2011 20:25 Go to next message
Greg Watson is currently offline Greg Watson
Messages: 111
Registered: July 2009
Senior Member
Hi,

I'm an Eclipse project lead, and I have to say that there are some significant shortcomings to the p2 documentation for those trying to participate in the simultaneous release train, and at the same time maintain a project update site. What I'm missing is information about how p2 handles new versions of plugins and features, how the dependencies are calculated, and just basically how it works from the perspective of an update site maintainer. Maybe there is documentation on this, but after a couple of hours searching, I've been unable to locate it.

The main questions I have at the moment are related to changes that I make to the update site, and how these effect an end user using either the "Install New Software..." or "Check for Updates" UIs. In particular:

1. How does p2 handle plugins being removed from features? e.g. if I have a feature f_1.0 with plugin x and y. Suppose I remove x from the feature, so that f_1.1 contains plugin y, but no longer x. What happens?

2. How does p2 handle new plugins being added to a feature? e.g, feature f_1.0 contains plugins a and b. Suppose I add a new plugin, so that f_1.1 contains a, b, and c. What happens?

3. How does p2 handle plugin name changes, which I guess are just a combination of 1 & 2? e.g. if I have a feature f_1.0 with plugin x. Suppose I change the name of the plugin to y, so that f_1.1 contains plugin y, but no longer x. What happens?

Any assistance you could provide, would be appreciated.

Greg
Re: Help for an Eclipse project update site [message #698902 is a reply to message #686202] Wed, 20 July 2011 12:46 Go to previous message
Paul Webster is currently offline Paul Webster
Messages: 6859
Registered: July 2009
Location: Ottawa
Senior Member

p2 creates a provisioning plan, using SAT4J to try and satisfy all the dependencies in what it has been asked to create (for example sdk.ide + feature f). When it succeeds, it generates a list of plugins and their versions that create the "install", and (AFAIK) creates the bundles.info file with that list.

When eclipse starts up, the simpleconfigurator (replacement for the old update.configurator) reads the bundles.info file and provides those bundles to the OSGi framework, and that's what eclipse will run with.

So updating from f_1.0 to f_1.1 will update entries in bundles.info with the new versions of bundles that are include, add completely new entries, and delete entries that no longer belong in the feature.

w.r.t. deleted bundles, they stay in the eclipse/plugins directory until the next p2 GC round, where it might delete unreferenced bundles.

Or is it other kinds of information you are looking for?

Later,
PW


Previous Topic:Is there a "normal" p2 IU for a product in a repository
Next Topic:Plugin Version Mismatch Issue
Goto Forum:
  


Current Time: Wed Oct 22 03:15:48 GMT 2014

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

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