You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@daffodil.apache.org by "John Interrante (Jira)" <ji...@apache.org> on 2023/05/04 13:18:00 UTC

[jira] [Updated] (DAFFODIL-2812) Exclude xml-apis from transitive dependencies

     [ https://issues.apache.org/jira/browse/DAFFODIL-2812?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

John Interrante updated DAFFODIL-2812:
--------------------------------------
    Description: 
Xerces doesn't actually need xml-apis for the same reason that Saxon doesn't need it.  The xml-apis library is used to provide a consistent set of XML APIs across different Java versions and implementations, but the XML APIs are included in the standard Java runtime library in all current Java LTS releases (8, 11, 17).  We very likely can exclude xml-apis from Daffodil's dependencies safely, although we should do a lot of testing in diverse environments because the whole point of xml-apis is to provide a consistent set of XML APIs in these diverse environments.  Still, Saxon also works in many diverse environments so if it can exclude xml-apis safely in its most recent 12.2 release, it seems that Daffodil can exclude xml-apis safely too.

Note that Java 8 and Java 11/17 differ in how they package the Java runtime library.  Java 11/17 have added module paths as well as class paths and moved the XML APIs into the standard Java module [java.xml (Java SE 11 & JDK 11 ) (oracle.com)|https://docs.oracle.com/en/java/javase/11/docs/api/java.xml/module-summary.html].  I do not believe Java's standard module path will cause a problem for Daffodil or Java applications embedding Daffodil libraries, but Java applications which use a smaller custom module path may need to add the java.xml module.

  was:Xerces doesn't actually need xml-apis for the same reason that Saxon doesn't need it.  The xml-apis library is used to provide a consistent set of XML APIs across different Java versions and implementations, but the XML APIs are included in the standard Java runtime library in all current Java LTS releases (8, 11, 17).  We very likely can exclude xml-apis from Daffodil's dependencies safely, although we should do a lot of testing in diverse environments because the whole point of xml-apis is to provide a consistent set of XML APIs in these diverse environments.  Still, Saxon also works in many diverse environments so if it can exclude xml-apis safely in its most recent 12.2 release, it seems that Daffodil can exclude xml-apis safely too.


> Exclude xml-apis from transitive dependencies
> ---------------------------------------------
>
>                 Key: DAFFODIL-2812
>                 URL: https://issues.apache.org/jira/browse/DAFFODIL-2812
>             Project: Daffodil
>          Issue Type: Improvement
>          Components: Libraries
>    Affects Versions: 3.4.0
>            Reporter: John Interrante
>            Priority: Minor
>
> Xerces doesn't actually need xml-apis for the same reason that Saxon doesn't need it.  The xml-apis library is used to provide a consistent set of XML APIs across different Java versions and implementations, but the XML APIs are included in the standard Java runtime library in all current Java LTS releases (8, 11, 17).  We very likely can exclude xml-apis from Daffodil's dependencies safely, although we should do a lot of testing in diverse environments because the whole point of xml-apis is to provide a consistent set of XML APIs in these diverse environments.  Still, Saxon also works in many diverse environments so if it can exclude xml-apis safely in its most recent 12.2 release, it seems that Daffodil can exclude xml-apis safely too.
> Note that Java 8 and Java 11/17 differ in how they package the Java runtime library.  Java 11/17 have added module paths as well as class paths and moved the XML APIs into the standard Java module [java.xml (Java SE 11 & JDK 11 ) (oracle.com)|https://docs.oracle.com/en/java/javase/11/docs/api/java.xml/module-summary.html].  I do not believe Java's standard module path will cause a problem for Daffodil or Java applications embedding Daffodil libraries, but Java applications which use a smaller custom module path may need to add the java.xml module.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)