Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cross-project-issues-dev] How should we specify what a feature requires?

> I've lost track of where we are with respect to the issue of what a feature should "require".
> Does it matter?

p2 being more flexible in this regard, the answer is it does not matter from a pure technical level. Instead, the decision about what to require should be based on the desired user experience, still trying to keep the number of prereq to a minimum to keep things lean. For example when I install WTP, EMF is only an implementation detail and as such I don't expect to find any menu entry related to EMF nor EMF doc.

Based on this observation, we need to revisit the eclipse versioning guidelines (

Now there is still an interesting twist wrt the delivery of patches when plug-ins are getting installed through plug-in level dependencies (or feature to plug-in dep) since most patches are made available at a feature granularity. Right now I can see two possibilities:
  a) One could argue that since you required the plug-in directly you set yourself in the logic of a product owner and as such you should control the patches you make available and therefore redistribute the patches as well
       b) Patches should be made available at the plug-in level (which p2 sports, see for example the export in running instance functionality in PDE) and searching for patches should discover all the applicable patches. This may be confusing to a user since he installed WTP and has never heard about EMF, and now we tell him that there are patches available for EMF.
       c) Something in between where patches for things the user explicitly installed are discovered (so we don't propose EMF things to someone who just installed WTP) but still the user can go and find about the EMF patches should he really want it.
I don't think we can solve this issue right here, right now, but it may be something that we may have to tweak and should probably be discussed on the p2-dev ML (Dave I count on you).

> Also, I've just noticed that most of our WTP features still 'require' 3.4
> level of features. Will this prevent update from working in M4 (if we
> leave it that way) or are the feature versions just taken as a "hint" and
> specific bundles figured out from there?

The way p2 work, this requirement will be considered to be included when we are looking for a solution, but in the end it is the complete set of constraints (both at the feature and plug-in level that matter). So as long as the plug-ins using 3.5 APIs have been updated to express a proper level of dependency then there will be no problem. In the end the only thing that happens when you don't move the feature level prereq to 3.5 is that you are enlarging the search space for the solver making it "harder" to find a solution.

Of course all of this is based on the current status and direction of p2, and does not represent a guarantee that things won't change if problems or better ways of doing things are discovered.

Happy Holidays,


Back to the top