Bug 21361

Summary: no support for optional features
Product: [Eclipse Project] Platform Reporter: Greg Adams <greg_adams>
Component: Update (deprecated - use Eclipse>Equinox>p2)Assignee: Christophe Elek <celek>
Status: RESOLVED FIXED QA Contact:
Severity: blocker    
Priority: P1 CC: manahan, patmc
Version: 2.0   
Target Milestone: 2.0.1   
Hardware: PC   
OS: Windows 2000   
Whiteboard:

Description Greg Adams CLA 2002-07-08 12:24:48 EDT
If a higher level feature wants to include a feature below that may be optional 
it has no way to do this. It would require two flavours of higher level 
feature – one with the lower optional feature and one without. This ripples all 
the way up.
Comment 1 Greg Adams CLA 2002-07-08 13:06:13 EDT
We have not yet resolved how we are bundling some of the optional features. A 
workaround may be to put them into separate extensions and not list them as 
requires/included but this has other implications. For example, since those 
features come from others the implication to not having them included in our 
feature means that the user can now receive auto updates from the original 
feature supplier which could be a seriouse problem.

We are listing this as blocking even though there is a chance it may not be if 
we can workaround it safely.
Comment 2 Pat McCarthy CLA 2002-07-08 15:47:47 EDT
An extension could have multiple root features.  Each root feature, as long as 
it is not the product brand (primary feature), can be optional (enabled/disabled 
if it has a license).   

This is now products should include the SDK(PDE/Source) as an optional part of 
the install.  No other feature includes to worry about and the consumer can 
disable the SDK when required, as it is a root feature.

With this approach other features would not include the optional feature.  It 
would be a root, with its own update url definition (which could be the same).  

Wouldn't this allow you to structure your features such that this is not a 
blocking problem?
Comment 3 Greg Adams CLA 2002-07-08 17:59:46 EDT
1) How does a subsequent extension indicate that it requires those features? 
Would it need a set of things indicate it requires the optional feature, and 
another set that said it didn't.

2) Also in the upgrade case (if it could be done with extensions) then the 
wsadie extension would effectively want to say its feature include those from 
wsad.
Comment 4 Vlad Klicnik CLA 2002-07-18 23:07:33 EDT
I have put together a design note with a proposed 2.0.1 approach for this and 
several related defects. See the doc below (have to paste the split line 
together to get the whole url).

http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-
home/doc/feature_extensions.html
Comment 5 Vlad Klicnik CLA 2002-07-18 23:12:24 EDT
Sorry, got the url wrong

http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-
home/doc/working/feature_extensions.html
Comment 6 Christophe Elek CLA 2002-08-22 09:51:12 EDT
Implemented in 2.0.1. (0821 is the test driver)