Details
-
New Feature
-
Status: Open
-
Major
-
Resolution: Unresolved
-
2.2.9, 2.3.0
-
None
-
None
Description
When creating features descriptors, one would typically cross-reference features in two cases:
- to express dependency => when feature A depends on feature B and feature C
- to express aggregation => when you want to provide a single 'entry point' to install the entire application, i.e. feature A is a conglomerate of feature B and feature C
If you're after the second use case, Karaf has a shortcoming: uninstalling feature A won't automatically uninstall feature B and C.
This makes a lot of sense, so I wouldn't change this behaviour. However, it would be nice to be able to mark a feature as an aggregate, so Karaf will know in what cases it makes sense to uninstall referenced features.
A simplified example:
<feature name="A" aggregate="true"> <feature>B</feature> <feature>C</feature> </feature>