[
https://issues.apache.org/jira/browse/FOP-3159?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Simon Steiner resolved FOP-3159.
--------------------------------
Fix Version/s: main
Resolution: Fixed
https://github.com/apache/xmlgraphics-fop/commit/ed60079e0064febb68d8c5be690c853f6d83ac4a
> Add JPMS support
> ----------------
>
> Key: FOP-3159
> URL: https://issues.apache.org/jira/browse/FOP-3159
> Project: FOP
> Issue Type: Task
> Reporter: Samael Bate
> Assignee: Simon Steiner
> Priority: Major
> Labels: jpms
> Fix For: main
>
>
> 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 (https://issues.apache.org/jira/browse/BATIK-1362)
> * 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)