Description
Some applications we have have blocks of common dependencies that are shared by multiple features. We currently define them in a new feature, but that's not really what they are as it's not expected to be installed individually. Right now, they appear in things like the features:list which can confuse users. We can just put all the bundles in that feature into all the other features that need it, but that duplicates a lot of stuff and can create additional maintenance work.
There are a couple options that could be pursued:
1) Could just add a flag like dependency="true" or abstract="true" or hidden="true" to <feature> to mark the feature as something that shouldn't really be exposed to the user.
2) Create a new tag to express common blocks of bundles that can be depended on from a feature.
For example, CXF has a "cxf-saaj-impl" feature that installs the bundles needed for SAAJ to work. That is then required by ws-security and jaxws and a few others. It's not really something we would expect users to "features:install", but we also don't want to duplicate that setup in a bunch of other places.