[wildfly-dev] selecting packages from feature-packs

Alexey Loubyansky alexey.loubyansky at redhat.com
Wed Oct 19 08:27:59 EDT 2016


Me and Stuart have been thinking about how to express feature-pack 
package selection in an XML. Each one came up with a proposal but we 
appear to have slightly different preferences. In case anybody has an 
opinion or a better suggestion, please, share.

Brief description: feature-pack consists of packages. A package is a 
unit of content. So a set of packages determines the target installation 
content-wise. Feature-pack has a set of default packages. These are the 
packages that get installed by default, i.e. when the user installs the 
feature-pack w/o specifying any package preferences. In addition to the 
default ones a feature-pack may contains non-default packages, these are 
present in the feature-pack but will be installed only if the user 
explicitly asks for them.
So, the question is how to express these package preferences in an XML.

Proposal 1.

- include-default flag (element or attribute) which defaults to true 
(meaning the default packages will be included by default);

- if include-default is false (meaning nothing is installed by default), 
then 'include' element can be used to pick the specific packages 
(default and non-default ones) to be installed;

- otherwise (when include-default is true) 'exclude' element can be used 
to exclude specific undesired default packages.


Proposal 2.

- exclude element - applicable to any package and means do not install 
the package (and its dependencies);

- include element - applicable to non-default packages and means do 
install the non-default package (and its dependencies);

- pick element - applicable to any package and means install only the 
picked package(s) ignoring other default and non-default ones. pick 
cannot be used in combination with exclude and include.


Basically, 'include' and 'exclude' in both proposals are practically the 
same. The difference is how the picking is expressed. In the first one, 
everything is explicitly excluded and then the desired ones are 
explicitly included, in the second one the desired ones are simply 
explicitly picked.


Thanks,
Alexey


More information about the wildfly-dev mailing list