Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[platform-update-dev] (no subject)


We have been doing some simplification of the update/install component, mostly in the UI and some code refactoring for supporting command driven operations, and now we're investigating the update API's, including the xml specs.

One item that seems to play a major role in the increased complexity (code-wise and the number of bugs associated with it) is the <include> feature relationship. The include relationship has been introduced to allow features to be built out of existing features, as opposed to having to always list all the plugins needed. The final plugin list is obtained by transitive closure.
However, in Eclipse 2.1 <include> was no longer a strict include, it allowed more flexibility by using the "match" attribute:
http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/doc/working/feature_extensions_2.html

One main reason was to allow updating of nested features independently of parents, and another reason was to allow feature patching.

We would like to go back to the previous direct include (no "match" attribute) and address the two reason differently:
- treat <include> as ownership and do not allow nested features to be updated independently of the parent features
- patches will no longer include features, but only plugins. A patch will be associated with a root feature, and contain plugins from any nested feature. A patch should also be able to <include> other patches.
- if you have a need for a nested feature needs to be updated independently of its parent, then don't use <include> for it, but make it an imported feature, with the appropriate match attribute.
- in addition, we are playing with the idea of a policy file that determines what can and can't be updated, and from what update sites.

Please post any comments about the proposed changes and, if they are breaking changes, please describe your scenarios.

Thanks,
-Dorian

Back to the top