Inheritance makes parent criteria on which a child depend to be also exposed by the child (as inherited but that is an implementation detail). So, the criteria exposed by each feature-pack becomes, after inheritance:

* WildFly core feature-pack: deployment
* WildFly ee feature-pack: deployment, jakarta-ee, jakarta-ee10
* WildFly feature-pack: microprofile, microprofile-7.1, deployment, jakarta-ee

^^ should also inherit (and expose) jakarta-ee10, right?
Actually not. WildFly FP doesn't depend on the jakarta-ee10 criteria (at least in my example), it depends on the jakarta-ee criteria. A feature-pack can choose what are the criteria it needs from its dependencies.

Got it, a FP will inherit a criterion from its parent but only this criterion, not the other ones that could also provided by the parents.

This would look like in the wildfly-feature-pack-build.xml (file to build feature packs). The syntax of the allows family is <family>+criterion[+criterion]:
<dependency group-id="org.wildfly" artifact-id="wildfly-ee-galleon-pack" allowedFamily="wildfly+jakarta-ee+deployment">

Maybe the syntax should distinguish between the family and the criteria. Something like “family:crit1+crit2”?


Yes that is correct in your provisioning.xml (or WIldFly Maven Plugin configuration) you would have (image WF 39.0.0.Final):
<feature-pack location="org.wildfly:wildfly-ee-10-feature-pack:39.0.0.Final"/>
<feature-pack location="org.wildfly:wildfly-galleon-pack:39.0.0.Final”/>

Naming is hard but it’s confusing that  a *new* feature pack named "wildfly-ee-10-feature-pack” would appear long after WildFly supports EE 10 and when it moves to EE 11….
Maybe "wildfly-compat-ee-10-feature-pack"?

Jeff

 

--
Jeff Mesnil
Software Engineer
Red Hat JBoss EAP
http://jmesnil.net/

IBM

Unless otherwise stated above:

Compagnie IBM France
Siège Social : 17, avenue de l'Europe, 92275 Bois-Colombes Cedex
RCS Nanterre 552 118 465
Forme Sociale : S.A.S.
Capital Social : 664 614 175,50 €
SIRET : 552 118 465 03644 - Code NAF 6203Z