On Wed, Oct 8, 2025 at 3:27 PM Jean-Frederic Mesnil <jmesnil(a)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