From f5f5df7136a8fb912b22363eecda9ab91f98444f Mon Sep 17 00:00:00 2001 From: Sylwester Lachiewicz Date: Mon, 17 Aug 2026 16:45:37 +0200 Subject: [PATCH] Depend on maven-api-xml at compile and maven-xml at runtime Main sources import three Maven types and all live in maven-api-xml: XmlNode and XmlService. maven-xml is needed only at runtime, where XmlService loads its implementation through ServiceLoader and Xpp3Dom.mergeXpp3Dom reaches it. Consumers keep maven-api-xml transitively at compile, which is what Xpp3Dom.getDom() and the XmlNode constructors need. What they lose is org.apache.maven.internal.* and maven-xml's own compile transitives, woodstox-core and stax2-api. The sisu-plexus exclusion goes with it: maven-xml declares that dependency at provided scope, which never propagates. --- pom.xml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/pom.xml b/pom.xml index 8542aa7..0ef1ff1 100644 --- a/pom.xml +++ b/pom.xml @@ -58,20 +58,22 @@ limitations under the License. 17 1.37 + 4.0.0-rc-6 2026-01-25T22:28:22Z + + org.apache.maven + maven-api-xml + ${mavenXmlVersion} + + org.apache.maven maven-xml - 4.0.0-rc-6 - - - org.eclipse.sisu - org.eclipse.sisu.plexus - - + ${mavenXmlVersion} + runtime org.openjdk.jmh