Some of the work will already have been performed in HSEARCH-3514. But we still need to:
# Switch to JDK11 for our build, so that module descriptors are actually bundled with released JARs. We will need multi-release JARs for this to work, otherwise {{module-info.class}} files will make applications running on Java 8 crash. # Double-check we properly test compatibility with Java modules. In particular, check that a Hibernate Search application can be started with Hibernate Search packaged as Java 9 modules, and that no "split package" errors occur. Not that the modules need # Fix any problems related to be explicitly defined for this test to make sense; some restrictions are not enforced on unnamed modules (such running Hibernate Search as the "no split packages" constraint).
In order to define a Java 9 modules in our Java 8 build, we should explore non-official tools such as [https://github module . com/moditect/moditect]. We might decide to switch to JDK11 for our build (while still targeting Java 8) if moditect turns out not to fit our use case. |
|