[ https://issues.apache.org/jira/browse/FOP-3159?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Samael Bate updated FOP-3159: ----------------------------- Description: There are three potential options for supporting JPMS: # Target a JDK above 8 and have module-info.java in each package # Publish multi-release jars using latest maven-compiler-plugin with a module-info.java in src/main/java9/module-info.java # Add Automatic-Module-Name to manifest of published jars {_}note that for options 1 or 2 the following dependencies should also publish jars using module-info{_}: * ant * batik-awt-util * qdox * xmlgraphics-commons (https://issues.apache.org/jira/browse/XGC-127) * commons-logging (LOGGING-165, it's worth just ditching commons-logging these days. just use slf4j-api) * servlet-api-2.2 (just use the newer one) I personally like option 2 and use that for jars I publish to maven central. I can do a PR for each approach but ideally would like to see these other two PR's merged in first: * [https://github.com/apache/xmlgraphics-fop/pull/74] * [https://github.com/apache/xmlgraphics-fop/pull/75] Based on naming convention used by other Apache projects I suspect the module names should be: * org.apache.xmlgraphics.fop * org.apache.xmlgraphics.fop.core * org.apache.xmlgraphics.fop.events * org.apache.xmlgraphics.fop.sandbox * org.apache.xmlgraphics.fop.transcoder * org.apache.xmlgraphics.fop.util I'm happy to do PR's for any of the 3 options given if someone is willing to review & merge. Due to lack of proper JPMS support in the project dependencies defining _Automatic-Module-Name_ in the manifest is the way to go for now. was: There are three potential options for supporting JPMS: # Target a JDK above 8 and have module-info.java in each package # Publish multi-release jars using latest maven-compiler-plugin with a module-info.java in src/main/java9/module-info.java # Add Automatic-Module-Name to manifest of published jars {_}note that for options 1 or 2 the following dependencies should also publish jars using module-info{_}: * ant * batik-awt-util * qdox * xmlgraphics-commons * commons-logging (LOGGING-165, it's worth just ditching commons-logging these days. just use slf4j-api) * servlet-api-2.2 (just use the newer one) I personally like option 2 and use that for jars I publish to maven central. I can do a PR for each approach but ideally would like to see these other two PR's merged in first: * [https://github.com/apache/xmlgraphics-fop/pull/74] * [https://github.com/apache/xmlgraphics-fop/pull/75] Based on naming convention used by other Apache projects I suspect the module names should be: * org.apache.xmlgraphics.fop * org.apache.xmlgraphics.fop.core * org.apache.xmlgraphics.fop.events * org.apache.xmlgraphics.fop.sandbox * org.apache.xmlgraphics.fop.transcoder * org.apache.xmlgraphics.fop.util I'm happy to do PR's for any of the 3 options given if someone is willing to review & merge. Due to lack of proper JPMS support in the project dependencies defining _Automatic-Module-Name_ in the manifest is the way to go for now. > Add JPMS support > ---------------- > > Key: FOP-3159 > URL: https://issues.apache.org/jira/browse/FOP-3159 > Project: FOP > Issue Type: Task > Reporter: Samael Bate > Priority: Major > Labels: jpms > > There are three potential options for supporting JPMS: > # Target a JDK above 8 and have module-info.java in each package > # Publish multi-release jars using latest maven-compiler-plugin with a > module-info.java in src/main/java9/module-info.java > # Add Automatic-Module-Name to manifest of published jars > > {_}note that for options 1 or 2 the following dependencies should also > publish jars using module-info{_}: > * ant > * batik-awt-util > * qdox > * xmlgraphics-commons (https://issues.apache.org/jira/browse/XGC-127) > * commons-logging (LOGGING-165, it's worth just ditching commons-logging > these days. just use slf4j-api) > * servlet-api-2.2 (just use the newer one) > > I personally like option 2 and use that for jars I publish to maven central. > I can do a PR for each approach but ideally would like to see these other two > PR's merged in first: > * [https://github.com/apache/xmlgraphics-fop/pull/74] > * [https://github.com/apache/xmlgraphics-fop/pull/75] > > Based on naming convention used by other Apache projects I suspect the module > names should be: > * org.apache.xmlgraphics.fop > * org.apache.xmlgraphics.fop.core > * org.apache.xmlgraphics.fop.events > * org.apache.xmlgraphics.fop.sandbox > * org.apache.xmlgraphics.fop.transcoder > * org.apache.xmlgraphics.fop.util > > I'm happy to do PR's for any of the 3 options given if someone is willing to > review & merge. > > Due to lack of proper JPMS support in the project dependencies defining > _Automatic-Module-Name_ in the manifest is the way to go for now. -- This message was sent by Atlassian Jira (v8.20.10#820010)