This is an automated email from the ASF dual-hosted git repository. slachiewicz pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/maven-release.git
commit 0845f678b5558c6d0f1e25bfdd517c2c35841ece Author: Sylwester Lachiewicz <[email protected]> AuthorDate: Mon Jun 15 00:46:22 2026 +0200 Enhance XML comparison by configuring DocumentBuilderFactory to not enable DefaultWithDTDParsing --- .../maven/shared/release/phase/AbstractReleaseTestCase.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractReleaseTestCase.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractReleaseTestCase.java index 01d5451a..02726987 100644 --- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractReleaseTestCase.java +++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractReleaseTestCase.java @@ -19,6 +19,7 @@ package org.apache.maven.shared.release.phase; import javax.inject.Inject; +import javax.xml.parsers.DocumentBuilderFactory; import java.io.File; import java.io.IOException; @@ -76,6 +77,7 @@ import org.xmlunit.diff.DefaultNodeMatcher; import org.xmlunit.diff.Diff; import org.xmlunit.diff.DifferenceEvaluator; import org.xmlunit.diff.ElementSelectors; +import org.xmlunit.util.DocumentBuilderFactoryConfigurer; import static org.codehaus.plexus.testing.PlexusExtension.getBasedir; import static org.codehaus.plexus.testing.PlexusExtension.getTestFile; @@ -87,6 +89,11 @@ import static org.junit.jupiter.api.Assertions.assertFalse; * @author <a href="mailto:[email protected]">Brett Porter</a> */ public abstract class AbstractReleaseTestCase implements PlexusTestConfiguration { + private static final DocumentBuilderFactory DOCUMENT_BUILDER_FACTORY = DocumentBuilderFactoryConfigurer.builder() + // .withDTDParsingDisabled() + .build() + .configure(DocumentBuilderFactory.newInstance()); + @Inject protected ProjectBuilder projectBuilder; @@ -279,12 +286,14 @@ public abstract class AbstractReleaseTestCase implements PlexusTestConfiguration protected void comparePomFiles( File expectedFile, File actualFile, boolean normalizeLineEndings, boolean ignoreComments) throws IOException { - StringBuffer sb = new StringBuffer("Check the transformed POM " + actualFile); + StringBuilder sb = new StringBuilder("Check the transformed POM " + actualFile); sb.append(System.lineSeparator()); final String remoteRepositoryURL = getRemoteRepositoryURL(); - DiffBuilder diffBuilder = DiffBuilder.compare(expectedFile).withTest(actualFile); + DiffBuilder diffBuilder = DiffBuilder.compare(expectedFile) + .withDocumentBuilderFactory(DOCUMENT_BUILDER_FACTORY) + .withTest(actualFile); if (normalizeLineEndings) { diffBuilder = diffBuilder.normalizeWhitespace(); }
