Remove the deprecated internal XML builder
Removed Maven's deprecated `XmlNodeBuilder`, delegated Embedder conversions to the supported Plexus XML builder, and eliminated Plexus XML from the `maven-xml` compile dependency tree.
apache/maven · #12877
Core maintenance improvement
Maven now relies on the supported Plexus XML pull parser instead of carrying a deprecated 301-line internal duplicate and compile dependency.
Problem
Maven maintained a deprecated internal XML pull-parser implementation after Plexus XML 4.2.0 supplied the equivalent behavior. The duplicate code and compile dependency increased maintenance surface while reader templates still referenced obsolete paths.
Approach
Delegated `XmlNode` and `Xpp3Dom` conversion to `Xpp3DomBuilder`, deleted the internal builder, moved the Plexus XML dependency to test scope for interoperability checks, updated the reader template to `XmlService.read`, and removed the obsolete HOCON template reference.
Impact and scope
- Removes 301 lines of deprecated parser code and reduces Maven's production dependency surface.
- Centralizes XML parsing on the maintained upstream implementation instead of preserving parallel behavior.
- Retains default trimming, attributes, child values, empty elements, and both Maven Embedder conversion paths.
Validation
- Added regression coverage for both Embedder conversion paths and preserved existing `XmlService` interoperability tests.
- Passed focused module tests, full `mvn verify`, and the Core IT suite on Java 21; verified the removed class and compile dependency are absent from produced artifacts.
- Received maintainer approval; the authored commit and final merge commit are GitHub-verified, and GH-12754 closed as completed.