To package Geode as Java 11 Jigsaw module(s), a major hurdle is the requirement that packages cannot be split across modules.
If we simply map existing Geode jars to Modules, we have about 10 split packages (see table below). Any restructuring would potentially have to wait until Geode 2.0. A workaround would be to map existing packages into a small number of new modules (e.g. geode-api and geode-internal). Existing jars would remain as-is. Users making the transition to Java 11 /w Jigsaw already need to switch from CLASSPATH to MODULEPATH so the inconvenience of a different naming scheme for Geode-as-modules might be acceptable (however, once module naming and organization is established, we may be stuck with it for a long time). Thoughts? Is it even possible to rearrange all classes in each package below into a single jar? Is doing so desirable enough to defer Java 11 support until a yet-unplanned Geode 2.0, or perhaps to drive such a release? Or, is it satisfactory to fatten Geode releases to include one set of jars for CLASSPATH use, plus a different set of jars for MODULEPATH use? Package Jar org.apache.geode.cache.client.internal geode-core-1.8.0.jar geode-cq-1.8.0.jar geode-wan-1.8.0.jar org.apache.geode.cache.client.internal.locator.wan geode-core-1.8.0.jar geode-wan-1.8.0.jar org.apache.geode.cache.query.internal.cq geode-core-1.8.0.jar geode-cq-1.8.0.jar org.apache.geode.cache.util geode-core-1.8.0.jar geode-rebalancer-1.8.0.jar org.apache.geode.internal geode-connectors-1.8.0.jar geode-core-1.8.0.jar geode-cq-1.8.0.jar geode-lucene-1.8.0.jar geode-wan-1.8.0.jar org.apache.geode.internal.cache.tier.sockets.command geode-core-1.8.0.jar geode-cq-1.8.0.jar org.apache.geode.internal.cache.wan geode-core-1.8.0.jar geode-wan-1.8.0.jar org.apache.geode.internal.cache.wan.parallel geode-core-1.8.0.jar geode-wan-1.8.0.jar org.apache.geode.internal.cache.wan.serial geode-core-1.8.0.jar geode-wan-1.8.0.jar org.apache.geode.internal.protocol.protobuf.v1 geode-protobuf-1.8.0.jar geode-protobuf-messages-1.8.0.jar