> 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