Re: [JEXL] Full Java module descriptor support

2023-04-28 Thread Andres Almiray
Hi Henri,

Very well :D

I've created and issue at https://issues.apache.org/jira/browse/JEXL-396 and a 
PR is ready for review.

Cheers,
Andres

On 2023/04/28 12:51:29 Henri Biestro wrote:
> Hello Andres;
> Interesting idea. A PR using Moditect conditioned on jdk profile (so we can 
> continue targeting java 8 without module info?) could be a first step to 
> gauge feasibility.
> Cheers,
> Henrib
> 
> -
> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> For additional commands, e-mail: dev-h...@commons.apache.org
> 
> 

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



Re: [JEXL] Full Java module descriptor support

2023-04-28 Thread Henri Biestro
Hello Andres;
Interesting idea. A PR using Moditect conditioned on jdk profile (so we can 
continue targeting java 8 without module info?) could be a first step to gauge 
feasibility.
Cheers,
Henrib

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



Re: [JEXL] Full Java module descriptor support

2023-04-25 Thread Andres Almiray
Hi Gilles,

On 2023/04/25 15:45:37 Gilles Sadowski wrote:
> It's an interesting functionality, but I think that it should be done in
> a general way, applicable to all "Commons" components (through
> settings/profile in the "parent" POM, I guess).
> 
> Regards,
> Gilles

Well, that's my end goal to be precise ;-)

Right now I'm in need for full Java modules for the following Commons 
components: codec, compress, io, jexl, lang3, net, text. But certainly other 
developers may want to have similar capabilities on other Commons components. 
Just happened to ping Jexl because it's the latest dependency I just added to 
the project I'm working on.

Cheers,
Andres

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



Re: [JEXL] Full Java module descriptor support

2023-04-25 Thread Gilles Sadowski
Hi.

Le mar. 25 avr. 2023 à 17:37, Andres Almiray  a écrit :
>
> 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.

It's an interesting functionality, but I think that it should be done in
a general way, applicable to all "Commons" components (through
settings/profile in the "parent" POM, I guess).

Regards,
Gilles

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

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