On 27/09/2018 10:01, Jody Garnett wrote:
Hey Ben - are you available for the code sprint? Completely understand if
you are not being a small business, but we would really love your help.

Sorry, I am not likely to be available.

Additional comments/confusion inline:
On Wed, 26 Sep 2018 at 14:50, Ben Caradoc-Davies <b...@transient.nz> wrote:
Does Jigsaw prevent classpath trickery like gt-xsd-gml3
org.geotools.referencing.crs.EPSGCRSAuthorityFactory? This is required
to make tests pass in Eclipse.
What CLASSPATH trickery is that? Reading the java docs:
* * A disabled version of {@link EPSGCRSAuthorityFactory} that exists
solely as a workaround for*
* * Eclipse capture of transitive dependencies. The real implementation in
gt-epsg-wkt; Maven does*
* * the right thing and does not include the provider at test time, but
Eclipse captures it as a*
* * transitive dependency, causing the wrong provider to be used for
srsName encoding. The presence*
* * of this class allows gt-xsd-gml3 unit tests to pass in Eclipse.*
Since you are the author you may need to explain the trick?

Eclipse puts project classes before dependency classes on the classpath. This class allows us to replace an unwanted class in a transitive dependency (Eclipse includes more dependencies than Maven) that otherwise causes tests to fail (axis order, IIRC?). Jigsaw exists to prevent this.

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?

Are modules like gt-app-schema that define classes in several packages
also defined in other modules affected by this change?
Yes, they will need to be untangled.
I guess that it might be because only one module can publish a package, but
this depends
on whether any other module consumes these classes.
Normally it would - ie if we were going all in on Java 11 and using
module-info.java to carefully control what we are publishing.
We are not .. as an "automatic module" all the public packages are
published.

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.

Thanks for the excellent proposal, by the way. This is the most
comprehensible explanation of Jigsaw that I have seen.
No worries, there are a couple features that make it not as scary as I
first feared. And indeed some (like "automatic modules" acting as a bridge
to the classpath) that can be used to make our transition gradual and not
stuck on waiting for everything ever to be turned into modules.

I added Nuno and Torben to the proposal.

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

Kind regards,

--
Ben Caradoc-Davies <b...@transient.nz>
Director
Transient Software Limited <https://transient.nz/>
New Zealand


_______________________________________________
GeoTools-Devel mailing list
GeoTools-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to