Hello!

I'd like to gauge interest in adding a full Java module descriptor (a.k.a JPMS 
though the use of the acronym is discouraged) to commons-jexl.

The codebase is currently Java 8 compatible. Adding a full Java descriptor 
requires using Java 9+ in the build but does not force the whole codebase to 
migrate. There are a couple of alternatives to make this work:

- setup Maven so that a secondary source tree containing `module-info-.java` is 
compiled with Java 9+. The compiled class should be added to the project's JAR 
file inside the versioned space, such as 
`/META-INF/versions/9/module-info.class`.

- use the Moditect[1] Maven plugin to generate `module-info.class` and place it 
inside the JAR.

Full Java modules are required when creating custom Java runtimes with jlink, 
regardless of the modular status of the target application. This is the use 
case I'm looking for at the moment.

If interested I can work on a PR based on feedback you may have.

Cheers,
Andres

[1] https://github.com/moditect/moditect

PS: Some metadata of the latest JAR file:

```
$ jarviz bytecode show --gav org.apache.commons:commons-jexl3:3.3
subject: commons-jexl3-3.3.jar
Unversioned classes. Bytecode version: 52 (Java 8) total: 321

$ jarviz module name --gav org.apache.commons:commons-jexl3:3.3
subject: commons-jexl3-3.3.jar
name: commons.jexl3
source: filename
automatic: true
valid: true

$ jarviz bytecode show --gav org.apache.commons:commons-jexl3:3.3
subject: commons-jexl3-3.3.jar
Unversioned classes. Bytecode version: 52 (Java 8) total: 321
aalmiray2:tmp aalmiray$ jarviz module descriptor --gav 
org.apache.commons:commons-jexl3:3.3
subject: commons-jexl3-3.3.jar
name: commons.jexl3
version: 3.3
open: false
automatic: true
requires:
  java.base mandated
provides:
  javax.script.ScriptEngineFactory with 
org.apache.commons.jexl3.scripting.JexlScriptEngineFactory
contains:
  org.apache.commons.jexl3
  org.apache.commons.jexl3.annotations
  org.apache.commons.jexl3.internal
  org.apache.commons.jexl3.internal.introspection
  org.apache.commons.jexl3.introspection
  org.apache.commons.jexl3.parser
  org.apache.commons.jexl3.scripting
```

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to