> By the way, how does Jigsaw work with optional dependencies? Can we
> still leave out unused dependencies like with the current classpath? Or
> will Java 11 spit the dummy?
>

Good question, here is my speculation:

If the dependency is something like log4j and we have adapting code that we
can use if it is available - we should be able to use reflection on the
module-info.java to check if something is around providing that package.
Cannot see any real benefit over our current technique of doing
Class.forName call and catching an exception :P

Modules still follow SPI - so can make functionality available via
ServiceLocator. That should work for both modules and classpath
implementations.

For the oracle case - our oracle dummy jar should be fine to compile a
module against. I am just going to ask the DataStore factory have
isAvailable to check for the JDBCDriver and isAvailableStatus to explain to
the user what went wrong if necessary.

If we were purely going to Java 11 we could have the gt-jdbc-oracle module
require the jdbc driver and refuse to load if it was not available.

We will need to understand the impact on downstream, especially
> GeoServer. Especially gs-app-schema-test. Especially especially tests
> that depend on GeoTools tests. I am still trying to understand the
> implications


Is there anything we can sort out prior to the code sprint here? For
geotools tests we should probably test on the classpath, if we eventually
modularize the tests we would need to explicitly grant access.

looks like surefire uses a hack, --patch-module to allow tests to be slide
loaded along side the module they are testing.[1]

Red Hat are supporting OpenJDK 8 until 2023. OpenJDK 8 forever!
>

Pragmatic, as I expected this is our Python 2 vs 3 moment.

[1]
https://stackoverflow.com/questions/46613214/java-9-maven-junit-does-test-code-need-module-info-java-of-its-own-and-wher
_______________________________________________
GeoTools-Devel mailing list
GeoTools-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to