You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "ASF subversion and git services (Jira)" <ji...@apache.org> on 2019/09/26 19:18:00 UTC

[jira] [Commented] (GEODE-6914) Switch the XML parser from libxml to xerces

    [ https://issues.apache.org/jira/browse/GEODE-6914?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16938887#comment-16938887 ] 

ASF subversion and git services commented on GEODE-6914:
--------------------------------------------------------

Commit b85c9366ccb055636f19922b96fbd4863e7b026f in geode-native's branch refs/heads/master from Blake Bender
[ https://gitbox.apache.org/repos/asf?p=geode-native.git;h=b85c936 ]

GEODE-6914: Replace libxml with xerces-c in CacheXmlParser (#501)

- Replaced libxml references with Xerces.
- Removed dead code.
- Add xerces-c project back into dependencies.  This was pulled in 11/2017, but we're switching to using it in product code now
- Templatize function pointers using std::function
- Remove unused endPdx method
- Rename member variables to conform to our conventions
- Move getFactoryFunc into Utils where it belongs
- Added negative test case to verify we assert if missing required attribute
- GEODE-6914: Apply correct compiler settings to Xerces
- GEODE-6914: Disable schema validation for the time being
- Add alias for xerces-c to CMakeLists, update reference to it
- Mark Xerces headers as system headers
- Spell out 'function' in getFactoryFunction
- Corresponding formatting changes
- Add a CacheXmlParser test that loads a cache.xml with a bad schema and assert it doesn't throw, i.e. we're not validating schemas

Co-authored-by: Matthew Reddington <mr...@pivotal.io>
Co-authored-by: Mike Martell <mm...@pivotal.io>
Co-authored-by: Jacob Barrett <jb...@pivotal.io>



> Switch the XML parser from libxml to xerces 
> --------------------------------------------
>
>                 Key: GEODE-6914
>                 URL: https://issues.apache.org/jira/browse/GEODE-6914
>             Project: Geode
>          Issue Type: Improvement
>          Components: native client
>            Reporter: Matthew Reddington
>            Priority: Major
>          Time Spent: 2.5h
>  Remaining Estimate: 0h
>
> This is becoming a pain point on multiple dev platforms, so we need to switch to something modern.  On MacOS, libxml2 no longer builds on Mojave with out-of-the-box tools, because /usr/include and /usr/lib have been removed from the system.  You can build it by running an installer package that Apple includes with the tools _for the time being_, but it's going away, and BTW having these directories causes problems with other packages (OpenSSL).  On Windows, the libxml build has a custom build step that _runs a javascript file from the command line_, so if anything moves the .js file association away from the windows scripting host (many, many applications do this, not least of which is Webstorm IDE), you can't build libxml2 without swapping back file associations manually.  In short, it hurts when we do this, so let's not do this any more.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)