ebourg / jsign

Java implementation of Microsoft Authenticode for signing Windows executables, installers & scripts
https://ebourg.github.io/jsign
Apache License 2.0
250 stars 107 forks source link

Automatic-Module-Name #191

Open jbb01 opened 6 months ago

jbb01 commented 6 months ago

For better compatibility with the JPMS (Java Platform Module System) it would be desirable to either have an Automatic-Module-Name defined in the META-INF file or a module-info.java (possibly as a multi-release JAR).

ebourg commented 6 months ago

I'm not sure that's that easy. The net.jsign package is shared among different modules and that's not allowed, so supporting JPMS required some code reorganisation first.

What would Jsign JPMS compatibility fix for you?

jbb01 commented 6 months ago

Thanks for the quick reply.

As far as I'm concerned, it looks like the package conflicts could easily be resolved by moving each of the plugins to subpackages, i.e. the maven plugin would be located in net.jsign.maven or something like that (assuming there isn't any package-private stuff).

In my case I am trying to build a modularized application depending on jsign-core and I'd prefer not having to depend on a module that's name is dependend on the JAR-file name.

I can see that modularization for the maven, gradle and ant plugin might not be necessary at all.

ebourg commented 6 months ago

assuming there isn't any package-private stuff

That's the issue, many implementation details are hidden behind package private classes and methods.

I can see that modularization for the maven, gradle and ant plugin might not be necessary at all

So JPMS support for jsign-core only, why not. Do you want to open a PR?