Expose fully defined (non-automatic) Java modules for consumption by users

Description

Some of the work will already have been performed in HSEARCH-3514. But we still need to:

  1. 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.

  2. 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.

  3. Fix any problems related to running Hibernate Search as a Java module.

Activity

Show:

Yoann Rodière March 8, 2019 at 8:51 AM

Postponing this. We'll just add automatic module names for now and experiment, but we'll keep actual release of module-info descriptors for later. See HSEARCH-3514 for the immediate work.

Yoann Rodière March 8, 2019 at 7:03 AM

Your quote states the exact opposite:

moduleInfoSource and moduleInfoFile can be used on Java 8

Let's discuss it on Zulip...

Fabio Massimo Ercoli March 7, 2019 at 10:14 AM
Edited

at first sight it seems that it is not possible with ModiTect generate a module-info.java descriptor using Java 8.
In fact, according to the `README.md` file:

Note that moduleInfoSource and moduleInfoFile can be used on Java 8, allowing to add a Java 9 module descriptor to your JAR also if you did not move to Java 9 for your own build yet. moduleInfo can only be used on Java 9 or later.

At this point I think we have to switch to to JDK11 for our build, but maybe still using ModiTect to generate module-info.java descriptors. What you think about?

Fixed

Details

Assignee

Reporter

Sprint

Fix versions

Priority

Created August 28, 2018 at 6:16 AM
Updated December 2, 2021 at 2:32 PM
Resolved October 5, 2021 at 7:41 PM