Community
Participate
Working Groups
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.
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.
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?
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.
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
Sorry, got the url wrong http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update- home/doc/working/feature_extensions.html
Implemented in 2.0.1. (0821 is the test driver)