deephaven / deephaven-core

Deephaven Community Core
Other
257 stars 80 forks source link

Improve build process for jars that depend on JVM internals #6345

Open devinrsmith opened 1 week ago

devinrsmith commented 1 week ago

As part of #6340, we specifically work around javac safety procedures by downgrading from --release to --source and --target due to the additional safety the former imposes:

Note: When using --release to specify a release that supports the Java Platform Module System, the --add-exports option cannot be used to enlarge the set of packages exported by the Java SE, JDK, and standard modules in the specified release.

This allows us to continue to add exports of JVM modules. It is on us to verify that these exports are still valid across the range of JVMs we claim to support.

I more thorough solution would be to build a JAR per JVM we intend to support and potentially combine them all into a multi-jar.

Right now, this effects two modules - clock-impl and hotspot-impl.