You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by afs <gi...@git.apache.org> on 2018/05/01 08:31:52 UTC

[GitHub] jena pull request #413: JENA-1537: Remove dependency on Apache Xerces.

GitHub user afs opened a pull request:

    https://github.com/apache/jena/pull/413

    JENA-1537: Remove dependency on Apache Xerces.

    The dependency of Apache Xerces 2.11.0 can be removed by extracting the necessary datatype validation code from Xerces and using the JDK XML parser. The Xerces release jars `xercesImpl-2.11.0.jar` and `xml-apis-1.4.01.jar` are no longer needed which has OSGi and JPMS advantages.
    
    Impacts:
    
    * Switch to using the JDK built-in XML parser (this affects any use of XML in an application using Jena)
    * Drop `XSDDatatype.loadUserDefined` - the necessary code isn't available via JDK APIs
    * Add package tree `org.apache.jena.ext.xerces` for the extracted datatype validation and regex code (a SPARQL corner case)
    * Remove Xerces from `pom.xml` and `jena-core/pom.xml`
    * Remove Xerces from `jena-osgi/pom.xml`
    * No checking of encoding mismatches between reader and XML charset declaration (access to the XML Declaration is not available, at least not in the same way)
    
    The extracted code is only slightly cleaned up to keep some degree of alignment with the original Xerces source. That code originates from a long time ago and has a lot of warnings which have been suppressed.
    
    There will also need to be a change to NOTICE to reflect NOTICE from Xerces (it is already in the NOTICE for the distribution).


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/afs/jena xerces

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/jena/pull/413.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #413
    
----
commit c9a7e646be45d44f26b44e51187487f12f182b89
Author: Andy Seaborne <an...@...>
Date:   2018-04-30T17:26:05Z

    JENA-1537: Remove dependency on Xerces. Import needed code

----


---

[GitHub] jena issue #413: JENA-1537: Remove dependency on Apache Xerces.

Posted by stain <gi...@git.apache.org>.
Github user stain commented on the issue:

    https://github.com/apache/jena/pull/413
  
    +1 - And as the extracted code is under `org.apache.jena.ext.*` so the modified OSGI export looks good.


---

[GitHub] jena pull request #413: JENA-1537: Remove dependency on Apache Xerces.

Posted by asfgit <gi...@git.apache.org>.
Github user asfgit closed the pull request at:

    https://github.com/apache/jena/pull/413


---

[GitHub] jena issue #413: JENA-1537: Remove dependency on Apache Xerces.

Posted by stain <gi...@git.apache.org>.
Github user stain commented on the issue:

    https://github.com/apache/jena/pull/413
  
    Would be good for the history if this pull request (or ideally git commit) referenced which particular commit/version of Xerces this was extracted from - even if we are "importing from ourself" as Xerces is ASF.


---

[GitHub] jena issue #413: JENA-1537: Remove dependency on Apache Xerces.

Posted by afs <gi...@git.apache.org>.
Github user afs commented on the issue:

    https://github.com/apache/jena/pull/413
  
    It is from the released artifacts (specifically, the source artifact).
    
    The Xerces `Version` class has `getVersion()` -> "2.11.0-jena".
    The last Xerces dependency is in the JIRA ticket.
    And the commit has the change to the dependency management in the POM.



---