OSGeo/PROJ-JNI

Package as a Java 9+ module (Jigsaw)

desruisseaux opened this issue · 5 comments

Provides a module-info.java file and declare the service providers (SPI) as Jigsaw services instead than declaring them in META-INF/services directory. This task depends on task #10 since we need the dependencies to be declared as Jigsaw modules before we can modularize PROJ-JNI (the "automatic module names" are okay for local usage, but not for deployment on Maven central).

After this task is done, we can delete the CRSAuthorityFactoryProvider class and change the visibility of constructors of all classes in the spi packages from public to private.

I was wondering whether it would be possible to have a package compatible with Java 8.

Yes, it should be easy to do. I think we can go as down as Java 7 (to be verified) if there is a demand for that. We would do that as a multi-JAR file with both Java (7 or 8) and Java 11.

Created issue #26 for the multi-release JAR file.

Done as a side-effect of #64.