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_ysBdyaPew1nCrYReUesPaIT8/edit#gid=0

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