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();
         }

Reply via email to