On Wed, Oct 8, 2025 at 3:27 PM Jean-Frederic Mesnil <jmesnil@ibm.com> wrote:

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.
Yes, if that was not the case, the dependency used at build time would leak into the child's exposed criteria.

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”?
I like it. 


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"?
Good suggestion! I am not at all proposing real criteria nor feature-pack names (although I hope they make sense). If WildFly project decides to use this approach, an interesting work will be needed to identify criteria and new feature-pack names.

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