[ 
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)

Reply via email to