Goal
Evaluate and add proper JPMS support for the published GraphCompose modules.
GraphCompose 2.0 is already split into separate Maven artifacts, but currently does not provide full module-info.java descriptors.
Requirements
- define stable module names;
- export only the public API and backend SPI;
- keep internal engine packages encapsulated;
- preserve support for third-party backends;
- declare
uses and provides for ServiceLoader;
- verify dependencies work correctly on the module path;
- check for split packages;
- add a module-path smoke test with a custom external backend.
Compatibility
Third-party backends must remain supported. A consumer should still be able to depend only on graph-compose-core and provide their own renderer implementation.
Breaking change
Goal
Evaluate and add proper JPMS support for the published GraphCompose modules.
GraphCompose 2.0 is already split into separate Maven artifacts, but currently does not provide full
module-info.javadescriptors.Requirements
usesandprovidesforServiceLoader;Compatibility
Third-party backends must remain supported. A consumer should still be able to depend only on
graph-compose-coreand provide their own renderer implementation.Breaking change