Ever since we integrated the Eclipse Compiler for Java for compiling JSPs
many years ago, an important goal for WildFly has been that we run on a
JRE. If we break that we can count on our users noticing and reporting a
bug, e.g. [1].
But AFAIK, there's no longer any clear meaning of what a JRE is, unlike in
the SE 8 and earlier days. I don't believe there's any minimal set of JPMS
modules that an SE distribution must provide to be called a "JRE"; it seems
like it's up to the various distributions that provide a JRE dist to choose
their own set. (If I'm wrong about this I'd love to know as that would be
very helpful.)
Where this matters is when we get proposed changes to add a module
dependency for a module in the 'jdk.*' namespace. For example, see [2].
When we see that we need to do some thinking about whether adding that
dependency means WF will no longer run on a JRE. But that thinking begs the
question of "what is a JRE".
To help with this I've created a spreadsheet showing what modules are
available in the SE 11 and SE 17 variants of 3 different "JRE"
distributions -- Eclipse Temurin, IBM Semeru and the OpenJDK packages
available in the Fedora 38 repo.
https://docs.google.com/spreadsheets/d/1DSCWOv2-tK8mhDz3yE_ysBdyaPew1nCrY...
It would be good if we can get some data for SE 21 in there as well, before
it goes GA.
If anyone wants edit access to that document, please ping me offline with
the email address you'd use to log into google.
Hopefully that data can be helpful when evaluating proposed additions of
'jdk.*' namespace modules.
[1]
https://issues.redhat.com/browse/WFLY-18296
[2]
https://github.com/wildfly/wildfly/pull/17097
Best regards,
Brian