Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package dom4j for openSUSE:Factory checked 
in at 2026-04-25 21:35:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dom4j (Old)
 and      /work/SRC/openSUSE:Factory/.dom4j.new.11940 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "dom4j"

Sat Apr 25 21:35:19 2026 rev:32 rq:1349083 version:2.1.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/dom4j/dom4j.changes      2024-02-22 
20:55:58.453605091 +0100
+++ /work/SRC/openSUSE:Factory/.dom4j.new.11940/dom4j.changes   2026-04-25 
21:35:27.421099801 +0200
@@ -1,0 +2,10 @@
+Fri Apr 24 06:43:37 UTC 2026 - Fridrich Strba <[email protected]>
+
+- Upgrade to upstream version 2.1.5
+  * Changes:
+    + Bump gradle from 6.3 to 8.13 (fixes #187)
+    + Remove unnecessary constant conditional
+    + Remove misleading no-op lines incorrectly trying to disable
+      external entities
+
+-------------------------------------------------------------------

Old:
----
  dom4j-2.1.4.pom
  dom4j-2.1.4.tar.xz

New:
----
  _scmsync.obsinfo
  build.specials.obscpio
  dom4j-2.1.5.pom
  dom4j-2.1.5.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ dom4j.spec ++++++
--- /var/tmp/diff_new_pack.Kjmmya/_old  2026-04-25 21:35:28.097127309 +0200
+++ /var/tmp/diff_new_pack.Kjmmya/_new  2026-04-25 21:35:28.097127309 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package dom4j
 #
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
 # Copyright (c) 2000-2007, JPackage Project
 #
 # All modifications and additions to the file contributed by third parties
@@ -24,7 +24,7 @@
 %else
 %bcond_with bootstrap
 %endif
-Version:        2.1.4
+Version:        2.1.5
 Release:        0
 Summary:        Open Source XML framework for Java
 License:        Plexus

++++++ _scmsync.obsinfo ++++++
mtime: 1777013359
commit: 7d3830aa372f29af2d88d0c08f078259607dc61f8eea1a9e7cd42c9775d6b7b6
url: https://src.opensuse.org/java-packages/dom4j
revision: 7d3830aa372f29af2d88d0c08f078259607dc61f8eea1a9e7cd42c9775d6b7b6
projectscmsync: https://src.opensuse.org/java-packages/_ObsPrj

++++++ _service ++++++
--- /var/tmp/diff_new_pack.Kjmmya/_old  2026-04-25 21:35:28.165130076 +0200
+++ /var/tmp/diff_new_pack.Kjmmya/_new  2026-04-25 21:35:28.169130239 +0200
@@ -2,10 +2,10 @@
        <service name="tar_scm" mode="disabled">
                <param name="scm">git</param>
                <param name="url">https://github.com/dom4j/dom4j.git</param>
-               <param name="revision">version-2.1.4</param>
-               <param name="match-tag">version-*</param>
+               <param name="revision">version/2.1.5</param>
+               <param name="match-tag">version/*</param>
                <param name="versionformat">@PARENT_TAG@</param>
-               <param name="versionrewrite-pattern">version-(.*)</param>
+               <param name="versionrewrite-pattern">version/(.*)</param>
        </service>
        <service name="recompress" mode="disabled">
                <param name="file">*.tar</param>

++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore      1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore      2026-04-24 08:49:19.000000000 +0200
@@ -0,0 +1 @@
+.osc

++++++ dom4j-2.1.4.pom -> dom4j-2.1.5.pom ++++++
--- /work/SRC/openSUSE:Factory/dom4j/dom4j-2.1.4.pom    2023-08-30 
10:21:52.043112109 +0200
+++ /work/SRC/openSUSE:Factory/.dom4j.new.11940/dom4j-2.1.5.pom 2026-04-25 
21:35:27.377098011 +0200
@@ -1,77 +1,77 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
-  <!-- This module was also published with a richer model, Gradle metadata,  
-->
-  <!-- which should be used instead. Do not delete the following line which  
-->
-  <!-- is to indicate to Gradle or any Gradle module metadata file consumer  
-->
-  <!-- that they should prefer consuming it instead. -->
-  <!-- do_not_remove: published-with-gradle-metadata -->
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.dom4j</groupId>
-  <artifactId>dom4j</artifactId>
-  <version>2.1.4</version>
-  <name>dom4j</name>
-  <description>flexible XML framework for Java</description>
-  <url>http://dom4j.github.io/</url>
-  <licenses>
-    <license>
-      <name>Plexus</name>
-      <url>https://github.com/dom4j/dom4j/blob/master/LICENSE</url>
-    </license>
-  </licenses>
-  <developers>
-    <developer>
-      <name>Filip Jirsák</name>
-      <email>[email protected]</email>
-      <url>https://github.com/FilipJirsak</url>
-    </developer>
-  </developers>
-  <scm>
-    <connection>scm:git:[email protected]:dom4j/dom4j.git</connection>
-    
<developerConnection>scm:git:[email protected]:dom4j/dom4j.git</developerConnection>
-    <url>[email protected]:dom4j/dom4j.git</url>
-  </scm>
-  <dependencies>
-    <dependency>
-      <groupId>jaxen</groupId>
-      <artifactId>jaxen</artifactId>
-      <version>1.1.6</version>
-      <scope>runtime</scope>
-      <optional>true</optional>
-    </dependency>
-    <dependency>
-      <groupId>javax.xml.stream</groupId>
-      <artifactId>stax-api</artifactId>
-      <version>1.0-2</version>
-      <scope>runtime</scope>
-      <optional>true</optional>
-    </dependency>
-    <dependency>
-      <groupId>net.java.dev.msv</groupId>
-      <artifactId>xsdlib</artifactId>
-      <version>2013.6.1</version>
-      <scope>runtime</scope>
-      <optional>true</optional>
-    </dependency>
-    <dependency>
-      <groupId>javax.xml.bind</groupId>
-      <artifactId>jaxb-api</artifactId>
-      <version>2.2.12</version>
-      <scope>runtime</scope>
-      <optional>true</optional>
-    </dependency>
-    <dependency>
-      <groupId>pull-parser</groupId>
-      <artifactId>pull-parser</artifactId>
-      <version>2.1.10</version>
-      <scope>runtime</scope>
-      <optional>true</optional>
-    </dependency>
-    <dependency>
-      <groupId>xpp3</groupId>
-      <artifactId>xpp3</artifactId>
-      <version>1.1.4c</version>
-      <scope>runtime</scope>
-      <optional>true</optional>
-    </dependency>
-  </dependencies>
-</project>
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
https://maven.apache.org/xsd/maven-4.0.0.xsd"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
+  <!-- This module was also published with a richer model, Gradle metadata,  
-->
+  <!-- which should be used instead. Do not delete the following line which  
-->
+  <!-- is to indicate to Gradle or any Gradle module metadata file consumer  
-->
+  <!-- that they should prefer consuming it instead. -->
+  <!-- do_not_remove: published-with-gradle-metadata -->
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.dom4j</groupId>
+  <artifactId>dom4j</artifactId>
+  <version>2.1.5</version>
+  <name>dom4j</name>
+  <description>flexible XML framework for Java</description>
+  <url>http://dom4j.github.io/</url>
+  <licenses>
+    <license>
+      <name>Plexus</name>
+      <url>https://github.com/dom4j/dom4j/blob/master/LICENSE</url>
+    </license>
+  </licenses>
+  <developers>
+    <developer>
+      <name>Filip Jirsák</name>
+      <email>[email protected]</email>
+      <url>https://github.com/FilipJirsak</url>
+    </developer>
+  </developers>
+  <scm>
+    <connection>scm:git:[email protected]:dom4j/dom4j.git</connection>
+    
<developerConnection>scm:git:[email protected]:dom4j/dom4j.git</developerConnection>
+    <url>[email protected]:dom4j/dom4j.git</url>
+  </scm>
+  <dependencies>
+    <dependency>
+      <groupId>jaxen</groupId>
+      <artifactId>jaxen</artifactId>
+      <version>1.1.6</version>
+      <scope>runtime</scope>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>javax.xml.stream</groupId>
+      <artifactId>stax-api</artifactId>
+      <version>1.0-2</version>
+      <scope>runtime</scope>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>net.java.dev.msv</groupId>
+      <artifactId>xsdlib</artifactId>
+      <version>2013.6.1</version>
+      <scope>runtime</scope>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>javax.xml.bind</groupId>
+      <artifactId>jaxb-api</artifactId>
+      <version>2.2.12</version>
+      <scope>runtime</scope>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>pull-parser</groupId>
+      <artifactId>pull-parser</artifactId>
+      <version>2.1.10</version>
+      <scope>runtime</scope>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>xpp3</groupId>
+      <artifactId>xpp3</artifactId>
+      <version>1.1.4c</version>
+      <scope>runtime</scope>
+      <optional>true</optional>
+    </dependency>
+  </dependencies>
+</project>

++++++ dom4j-2.1.4.tar.xz -> dom4j-2.1.5.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dom4j-2.1.4/README.md new/dom4j-2.1.5/README.md
--- old/dom4j-2.1.4/README.md   2023-01-22 21:55:45.000000000 +0100
+++ new/dom4j-2.1.5/README.md   2025-06-29 22:16:54.000000000 +0200
@@ -1,35 +1,9 @@
 [![Maven 
Central](https://maven-badges.herokuapp.com/maven-central/org.dom4j/dom4j/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.dom4j/dom4j)
 
[![codecov.io](https://codecov.io/github/dom4j/dom4j/coverage.svg?branch=master)](https://codecov.io/github/dom4j/dom4j?branch=master)
-[![Build 
Status](https://travis-ci.org/dom4j/dom4j.svg?branch=master)](https://travis-ci.org/dom4j/dom4j)
 
[![Javadocs](https://javadoc.io/badge/org.dom4j/dom4j.svg)](https://javadoc.io/doc/org.dom4j/dom4j)
 
 # dom4j
 
 `dom4j` is an open source framework for processing XML which is integrated 
with XPath and fully supports DOM, SAX, JAXP and the Java platform such as Java 
2 Collections.
 
-# News
-
-## Version 2.0.3 and 2.1.3 released
-
-(Version 2.1.2 has been skipped.)
-
-### Improvements
-* Added new factory method `org.dom4j.io.SAXReader.createDefault()`. It hase 
more secure defaults than `new SAXReader()`, which uses system
- `XMLReaderFactory.createXMLReader()` or 
`SAXParserFactory.newInstance().newSAXParser()`. `SAXReader.createDefault()` 
disable parsing of external entities
-  in the SAX parser.
-
-## Version 2.1.1 released
-Bug fix release.
-
-### Potential breaking changes
-* If you use some optional dependency of dom4j (for example Jaxen, xsdlib 
etc.), you need to specify an explicit dependency on it in your project. They 
are no longer marked as a mandatory transitive dependency by dom4j.
-
-### Fixed issues
-* #28 Possible vulnerability of `DocumentHelper.parseText()` to XML injection 
(reported by @s0m30ne)
-* #34 CVS directories left in the source tree (reported by @ebourg)
-* #38 XMLWriter does not escape supplementary unicode characters correctly 
(reported by @abenkovskii)
-* #39 writer.writeOpen(x) doesn't write namespaces (reported by @borissmidt)
-* #40 concurrency problem with `QNameCache`  (@jbennett2091)
-* #43 and #46 all dependencies are optional (reported by @Zardoz89 and 
@vmassol)
-* #44 SAXReader: hardcoded namespace features (reported by @philippeu)
-* #48 validate `QName`s (reported by @mario-areias)
+See https://dom4j.github.io for details.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dom4j-2.1.4/build.gradle new/dom4j-2.1.5/build.gradle
--- old/dom4j-2.1.4/build.gradle        2023-01-22 21:55:45.000000000 +0100
+++ new/dom4j-2.1.5/build.gradle        2025-06-29 22:16:54.000000000 +0200
@@ -4,15 +4,12 @@
 apply plugin: 'signing'
 
 group = 'org.dom4j'
-archivesBaseName = 'dom4j'
 
-sourceCompatibility = 1.8
-
-tasks.withType(JavaCompile) {
+tasks.withType(JavaCompile).configureEach {
     options.encoding = 'UTF-8'
 }
 
-tasks.withType(Javadoc) {
+tasks.withType(Javadoc).configureEach {
     options.encoding = 'UTF-8'
     options.charSet = options.encoding
 }
@@ -33,28 +30,18 @@
     )
 
     testImplementation(
-            'org.testng:testng:6.8.21',
+            'org.testng:testng:6.14.3',
 
-            'xerces:xercesImpl:2.11.0',
+            'xerces:xercesImpl:2.12.2',
             'xalan:xalan:2.7.2',
     )
 }
 
-sourceSets {
-    test {
-        compileClasspath += configurations.compileOnly
-        runtimeClasspath += configurations.compileOnly
-    }
-}
-
-task sourcesJar(type: Jar, dependsOn: classes) {
-    classifier = 'sources'
-    from sourceSets.main.allSource
-}
-
-task javadocJar(type: Jar, dependsOn: javadoc) {
-    classifier = 'javadoc'
-    from javadoc.destinationDir
+java {
+    sourceCompatibility = JavaVersion.VERSION_1_8
+    targetCompatibility = JavaVersion.VERSION_1_8
+    withJavadocJar()
+    withSourcesJar()
 }
 
 publishing {
@@ -62,14 +49,6 @@
         mavenJava(MavenPublication) {
             from components.java
 
-            artifact sourcesJar {
-                classifier "sources"
-            }
-
-            artifact javadocJar {
-                classifier "javadoc"
-            }
-
             pom {
                 name = 'dom4j'
                 description = 'flexible XML framework for Java'
@@ -115,7 +94,7 @@
 
 jacocoTestReport {
     reports {
-        xml.enabled true
+        xml.required = true
     }
 }
 
@@ -125,7 +104,7 @@
     publishing {
         repositories {
             maven {
-                url 
'https://oss.sonatype.org/service/local/staging/deploy/maven2/'
+                url = 
'https://oss.sonatype.org/service/local/staging/deploy/maven2/'
                 authentication {
                     basic(BasicAuthentication)
                 }
Binary files old/dom4j-2.1.4/gradle/wrapper/gradle-wrapper.jar and 
new/dom4j-2.1.5/gradle/wrapper/gradle-wrapper.jar differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dom4j-2.1.4/gradle/wrapper/gradle-wrapper.properties 
new/dom4j-2.1.5/gradle/wrapper/gradle-wrapper.properties
--- old/dom4j-2.1.4/gradle/wrapper/gradle-wrapper.properties    2023-01-22 
21:55:45.000000000 +0100
+++ new/dom4j-2.1.5/gradle/wrapper/gradle-wrapper.properties    2025-06-29 
22:16:54.000000000 +0200
@@ -1,6 +1,7 @@
-#Sat Apr 11 19:07:04 CEST 2020
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-all.zip
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
-zipStorePath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.2-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
 zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dom4j-2.1.4/gradlew new/dom4j-2.1.5/gradlew
--- old/dom4j-2.1.4/gradlew     2023-01-22 21:55:45.000000000 +0100
+++ new/dom4j-2.1.5/gradlew     2025-06-29 22:16:54.000000000 +0200
@@ -1,7 +1,7 @@
-#!/usr/bin/env sh
+#!/bin/sh
 
 #
-# Copyright 2015 the original author or authors.
+# Copyright © 2015-2021 the original authors.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -15,80 +15,115 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+# SPDX-License-Identifier: Apache-2.0
+#
 
 ##############################################################################
-##
-##  Gradle start up script for UN*X
-##
+#
+#   Gradle start up script for POSIX generated by Gradle.
+#
+#   Important for running:
+#
+#   (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
+#       noncompliant, but you have some other compliant shell such as ksh or
+#       bash, then to run this script, type that shell name before the whole
+#       command line, like:
+#
+#           ksh Gradle
+#
+#       Busybox and similar reduced shells will NOT work, because this script
+#       requires all of these POSIX shell features:
+#         * functions;
+#         * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
+#           «${var#prefix}», «${var%suffix}», and «$( cmd )»;
+#         * compound commands having a testable exit status, especially «case»;
+#         * various built-in commands including «command», «set», and «ulimit».
+#
+#   Important for patching:
+#
+#   (2) This script targets any POSIX shell, so it avoids extensions provided
+#       by Bash, Ksh, etc; in particular arrays are avoided.
+#
+#       The "traditional" practice of packing multiple parameters into a
+#       space-separated string is a well documented source of bugs and security
+#       problems, so this is (mostly) avoided, by progressively accumulating
+#       options in "$@", and eventually passing that to Java.
+#
+#       Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
+#       and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
+#       see the in-line comments for details.
+#
+#       There are tweaks for specific operating systems such as AIX, CygWin,
+#       Darwin, MinGW, and NonStop.
+#
+#   (3) This script is generated from the Groovy template
+#       
https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
+#       within the Gradle project.
+#
+#       You can find Gradle at https://github.com/gradle/gradle/.
+#
 ##############################################################################
 
 # Attempt to set APP_HOME
+
 # Resolve links: $0 may be a link
-PRG="$0"
-# Need this for relative symlinks.
-while [ -h "$PRG" ] ; do
-    ls=`ls -ld "$PRG"`
-    link=`expr "$ls" : '.*-> \(.*\)$'`
-    if expr "$link" : '/.*' > /dev/null; then
-        PRG="$link"
-    else
-        PRG=`dirname "$PRG"`"/$link"
-    fi
-done
-SAVED="`pwd`"
-cd "`dirname \"$PRG\"`/" >/dev/null
-APP_HOME="`pwd -P`"
-cd "$SAVED" >/dev/null
+app_path=$0
 
-APP_NAME="Gradle"
-APP_BASE_NAME=`basename "$0"`
+# Need this for daisy-chained symlinks.
+while
+    APP_HOME=${app_path%"${app_path##*/}"}  # leaves a trailing /; empty if no 
leading path
+    [ -h "$app_path" ]
+do
+    ls=$( ls -ld "$app_path" )
+    link=${ls#*' -> '}
+    case $link in             #(
+      /*)   app_path=$link ;; #(
+      *)    app_path=$APP_HOME$link ;;
+    esac
+done
 
-# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to 
pass JVM options to this script.
-DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
+# This is normally unused
+# shellcheck disable=SC2034
+APP_BASE_NAME=${0##*/}
+# Discard cd standard output in case $CDPATH is set 
(https://github.com/gradle/gradle/issues/25036)
+APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || 
exit
 
 # Use the maximum available, or set MAX_FD != -1 to use that value.
-MAX_FD="maximum"
+MAX_FD=maximum
 
 warn () {
     echo "$*"
-}
+} >&2
 
 die () {
     echo
     echo "$*"
     echo
     exit 1
-}
+} >&2
 
 # OS specific support (must be 'true' or 'false').
 cygwin=false
 msys=false
 darwin=false
 nonstop=false
-case "`uname`" in
-  CYGWIN* )
-    cygwin=true
-    ;;
-  Darwin* )
-    darwin=true
-    ;;
-  MINGW* )
-    msys=true
-    ;;
-  NONSTOP* )
-    nonstop=true
-    ;;
+case "$( uname )" in                #(
+  CYGWIN* )         cygwin=true  ;; #(
+  Darwin* )         darwin=true  ;; #(
+  MSYS* | MINGW* )  msys=true    ;; #(
+  NONSTOP* )        nonstop=true ;;
 esac
 
 CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
 
+
 # Determine the Java command to use to start the JVM.
 if [ -n "$JAVA_HOME" ] ; then
     if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
         # IBM's JDK on AIX uses strange locations for the executables
-        JAVACMD="$JAVA_HOME/jre/sh/java"
+        JAVACMD=$JAVA_HOME/jre/sh/java
     else
-        JAVACMD="$JAVA_HOME/bin/java"
+        JAVACMD=$JAVA_HOME/bin/java
     fi
     if [ ! -x "$JAVACMD" ] ; then
         die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
@@ -97,87 +132,120 @@
 location of your Java installation."
     fi
 else
-    JAVACMD="java"
-    which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 
'java' command could be found in your PATH.
+    JAVACMD=java
+    if ! command -v java >/dev/null 2>&1
+    then
+        die "ERROR: JAVA_HOME is not set and no 'java' command could be found 
in your PATH.
 
 Please set the JAVA_HOME variable in your environment to match the
 location of your Java installation."
+    fi
 fi
 
 # Increase the maximum file descriptors if we can.
-if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; 
then
-    MAX_FD_LIMIT=`ulimit -H -n`
-    if [ $? -eq 0 ] ; then
-        if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
-            MAX_FD="$MAX_FD_LIMIT"
-        fi
-        ulimit -n $MAX_FD
-        if [ $? -ne 0 ] ; then
-            warn "Could not set maximum file descriptor limit: $MAX_FD"
-        fi
-    else
-        warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
-    fi
+if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
+    case $MAX_FD in #(
+      max*)
+        # In POSIX sh, ulimit -H is undefined. That's why the result is 
checked to see if it worked.
+        # shellcheck disable=SC2039,SC3045
+        MAX_FD=$( ulimit -H -n ) ||
+            warn "Could not query maximum file descriptor limit"
+    esac
+    case $MAX_FD in  #(
+      '' | soft) :;; #(
+      *)
+        # In POSIX sh, ulimit -n is undefined. That's why the result is 
checked to see if it worked.
+        # shellcheck disable=SC2039,SC3045
+        ulimit -n "$MAX_FD" ||
+            warn "Could not set maximum file descriptor limit to $MAX_FD"
+    esac
 fi
 
-# For Darwin, add options to specify how the application appears in the dock
-if $darwin; then
-    GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" 
\"-Xdock:icon=$APP_HOME/media/gradle.icns\""
-fi
+# Collect all arguments for the java command, stacking in reverse order:
+#   * args from the command line
+#   * the main class name
+#   * -classpath
+#   * -D...appname settings
+#   * --module-path (only if needed)
+#   * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
 
 # For Cygwin or MSYS, switch paths to Windows format before running java
-if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
-    APP_HOME=`cygpath --path --mixed "$APP_HOME"`
-    CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
-    JAVACMD=`cygpath --unix "$JAVACMD"`
-
-    # We build the pattern for arguments to be converted via cygpath
-    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
-    SEP=""
-    for dir in $ROOTDIRSRAW ; do
-        ROOTDIRS="$ROOTDIRS$SEP$dir"
-        SEP="|"
-    done
-    OURCYGPATTERN="(^($ROOTDIRS))"
-    # Add a user-defined pattern to the cygpath arguments
-    if [ "$GRADLE_CYGPATTERN" != "" ] ; then
-        OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
-    fi
+if "$cygwin" || "$msys" ; then
+    APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
+    CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
+
+    JAVACMD=$( cygpath --unix "$JAVACMD" )
+
     # Now convert the arguments - kludge to limit ourselves to /bin/sh
-    i=0
-    for arg in "$@" ; do
-        CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
-        CHECK2=`echo "$arg"|egrep -c "^-"`                                 ### 
Determine if an option
-
-        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### 
Added a condition
-            eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
-        else
-            eval `echo args$i`="\"$arg\""
+    for arg do
+        if
+            case $arg in                                #(
+              -*)   false ;;                            # don't mess with 
options #(
+              /?*)  t=${arg#/} t=/${t%%/*}              # looks like a POSIX 
filepath
+                    [ -e "$t" ] ;;                      #(
+              *)    false ;;
+            esac
+        then
+            arg=$( cygpath --path --ignore --mixed "$arg" )
         fi
-        i=`expr $i + 1`
+        # Roll the args list around exactly as many times as the number of
+        # args, so each arg winds up back in the position where it started, but
+        # possibly modified.
+        #
+        # NB: a `for` loop captures its iteration list before it begins, so
+        # changing the positional parameters here affects neither the number of
+        # iterations, nor the values presented in `arg`.
+        shift                   # remove old arg
+        set -- "$@" "$arg"      # push replacement arg
     done
-    case $i in
-        0) set -- ;;
-        1) set -- "$args0" ;;
-        2) set -- "$args0" "$args1" ;;
-        3) set -- "$args0" "$args1" "$args2" ;;
-        4) set -- "$args0" "$args1" "$args2" "$args3" ;;
-        5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
-        6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
-        7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" 
"$args6" ;;
-        8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" 
"$args6" "$args7" ;;
-        9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" 
"$args6" "$args7" "$args8" ;;
-    esac
 fi
 
-# Escape application args
-save () {
-    for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; 
done
-    echo " "
-}
-APP_ARGS=`save "$@"`
 
-# Collect all arguments for the java command, following the shell quoting and 
substitution rules
-eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS 
"\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" 
org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to 
pass JVM options to this script.
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
+
+# Collect all arguments for the java command:
+#   * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to 
contain shell fragments,
+#     and any embedded shellness will be escaped.
+#   * For example: A user cannot expect ${Hostname} to be expanded, as it is 
an environment variable and will be
+#     treated as '${Hostname}' itself on the command line.
+
+set -- \
+        "-Dorg.gradle.appname=$APP_BASE_NAME" \
+        -classpath "$CLASSPATH" \
+        org.gradle.wrapper.GradleWrapperMain \
+        "$@"
+
+# Stop when "xargs" is not available.
+if ! command -v xargs >/dev/null 2>&1
+then
+    die "xargs is not available"
+fi
+
+# Use "xargs" to parse quoted args.
+#
+# With -n1 it outputs one arg per line, with the quotes and backslashes 
removed.
+#
+# In Bash we could simply go:
+#
+#   readarray ARGS < <( xargs -n1 <<<"$var" ) &&
+#   set -- "${ARGS[@]}" "$@"
+#
+# but POSIX shell has neither arrays nor command substitution, so instead we
+# post-process each arg (as a line of input to sed) to backslash-escape any
+# character that might be a shell metacharacter, then use eval to reverse
+# that process (while maintaining the separation between arguments), and wrap
+# the whole thing up as a single "set" statement.
+#
+# This will of course break if any of these variables contains a newline or
+# an unmatched quote.
+#
+
+eval "set -- $(
+        printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
+        xargs -n1 |
+        sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
+        tr '\n' ' '
+    )" '"$@"'
 
 exec "$JAVACMD" "$@"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dom4j-2.1.4/gradlew.bat new/dom4j-2.1.5/gradlew.bat
--- old/dom4j-2.1.4/gradlew.bat 2023-01-22 21:55:45.000000000 +0100
+++ new/dom4j-2.1.5/gradlew.bat 2025-06-29 22:16:54.000000000 +0200
@@ -1,103 +1,94 @@
-@rem
-@rem Copyright 2015 the original author or authors.
-@rem
-@rem Licensed under the Apache License, Version 2.0 (the "License");
-@rem you may not use this file except in compliance with the License.
-@rem You may obtain a copy of the License at
-@rem
-@rem      https://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing, software
-@rem distributed under the License is distributed on an "AS IS" BASIS,
-@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-@rem See the License for the specific language governing permissions and
-@rem limitations under the License.
-@rem
-
-@if "%DEBUG%" == "" @echo off
-@rem ##########################################################################
-@rem
-@rem  Gradle startup script for Windows
-@rem
-@rem ##########################################################################
-
-@rem Set local scope for the variables with windows NT shell
-if "%OS%"=="Windows_NT" setlocal
-
-set DIRNAME=%~dp0
-if "%DIRNAME%" == "" set DIRNAME=.
-set APP_BASE_NAME=%~n0
-set APP_HOME=%DIRNAME%
-
-@rem Resolve any "." and ".." in APP_HOME to make it shorter.
-for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
-
-@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS 
to pass JVM options to this script.
-set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
-
-@rem Find java.exe
-if defined JAVA_HOME goto findJavaFromJavaHome
-
-set JAVA_EXE=java.exe
-%JAVA_EXE% -version >NUL 2>&1
-if "%ERRORLEVEL%" == "0" goto init
-
-echo.
-echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your 
PATH.
-echo.
-echo Please set the JAVA_HOME variable in your environment to match the
-echo location of your Java installation.
-
-goto fail
-
-:findJavaFromJavaHome
-set JAVA_HOME=%JAVA_HOME:"=%
-set JAVA_EXE=%JAVA_HOME%/bin/java.exe
-
-if exist "%JAVA_EXE%" goto init
-
-echo.
-echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
-echo.
-echo Please set the JAVA_HOME variable in your environment to match the
-echo location of your Java installation.
-
-goto fail
-
-:init
-@rem Get command-line arguments, handling Windows variants
-
-if not "%OS%" == "Windows_NT" goto win9xME_args
-
-:win9xME_args
-@rem Slurp the command line arguments.
-set CMD_LINE_ARGS=
-set _SKIP=2
-
-:win9xME_args_slurp
-if "x%~1" == "x" goto execute
-
-set CMD_LINE_ARGS=%*
-
-:execute
-@rem Setup the command line
-
-set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
-
-@rem Execute Gradle
-"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% 
"-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" 
org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
-
-:end
-@rem End local scope for the variables with windows NT shell
-if "%ERRORLEVEL%"=="0" goto mainEnd
-
-:fail
-rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code 
instead of
-rem the _cmd.exe /c_ return code!
-if  not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
-exit /b 1
-
-:mainEnd
-if "%OS%"=="Windows_NT" endlocal
-
-:omega
+@rem
+@rem Copyright 2015 the original author or authors.
+@rem
+@rem Licensed under the Apache License, Version 2.0 (the "License");
+@rem you may not use this file except in compliance with the License.
+@rem You may obtain a copy of the License at
+@rem
+@rem      https://www.apache.org/licenses/LICENSE-2.0
+@rem
+@rem Unless required by applicable law or agreed to in writing, software
+@rem distributed under the License is distributed on an "AS IS" BASIS,
+@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@rem See the License for the specific language governing permissions and
+@rem limitations under the License.
+@rem
+@rem SPDX-License-Identifier: Apache-2.0
+@rem
+
+@if "%DEBUG%"=="" @echo off
+@rem ##########################################################################
+@rem
+@rem  Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+set DIRNAME=%~dp0
+if "%DIRNAME%"=="" set DIRNAME=.
+@rem This is normally unused
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Resolve any "." and ".." in APP_HOME to make it shorter.
+for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS 
to pass JVM options to this script.
+set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if %ERRORLEVEL% equ 0 goto execute
+
+echo. 1>&2
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your 
PATH. 1>&2
+echo. 1>&2
+echo Please set the JAVA_HOME variable in your environment to match the 1>&2
+echo location of your Java installation. 1>&2
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto execute
+
+echo. 1>&2
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
+echo. 1>&2
+echo Please set the JAVA_HOME variable in your environment to match the 1>&2
+echo location of your Java installation. 1>&2
+
+goto fail
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% 
"-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" 
org.gradle.wrapper.GradleWrapperMain %*
+
+:end
+@rem End local scope for the variables with windows NT shell
+if %ERRORLEVEL% equ 0 goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code 
instead of
+rem the _cmd.exe /c_ return code!
+set EXIT_CODE=%ERRORLEVEL%
+if %EXIT_CODE% equ 0 set EXIT_CODE=1
+if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
+exit /b %EXIT_CODE%
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dom4j-2.1.4/settings.gradle 
new/dom4j-2.1.5/settings.gradle
--- old/dom4j-2.1.4/settings.gradle     1970-01-01 01:00:00.000000000 +0100
+++ new/dom4j-2.1.5/settings.gradle     2025-06-29 22:16:54.000000000 +0200
@@ -0,0 +1 @@
+rootProject.name = 'dom4j'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/dom4j-2.1.4/src/main/java/org/dom4j/io/DOMSAXContentHandler.java 
new/dom4j-2.1.5/src/main/java/org/dom4j/io/DOMSAXContentHandler.java
--- old/dom4j-2.1.4/src/main/java/org/dom4j/io/DOMSAXContentHandler.java        
2023-01-22 21:55:45.000000000 +0100
+++ new/dom4j-2.1.5/src/main/java/org/dom4j/io/DOMSAXContentHandler.java        
2025-06-29 22:16:54.000000000 +0200
@@ -37,13 +37,10 @@
 import org.xml.sax.helpers.DefaultHandler;
 
 /**
- * <p>
  * <code>SAXContentHandler</code> builds W3C DOM object via SAX events.
  * 
  * @author <a href="mailto:[email protected]";>James Strachan </a>
  * @author Todd Wolff
- * 
- * </p>
  */
 public class DOMSAXContentHandler extends DefaultHandler implements 
LexicalHandler {
        
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/dom4j-2.1.4/src/main/java/org/dom4j/io/SAXHelper.java 
new/dom4j-2.1.5/src/main/java/org/dom4j/io/SAXHelper.java
--- old/dom4j-2.1.4/src/main/java/org/dom4j/io/SAXHelper.java   2023-01-22 
21:55:45.000000000 +0100
+++ new/dom4j-2.1.5/src/main/java/org/dom4j/io/SAXHelper.java   2025-06-29 
22:16:54.000000000 +0200
@@ -83,11 +83,8 @@
      */
     public static XMLReader createXMLReader(boolean validating)
             throws SAXException {
-        XMLReader reader = null;
-
-        if (reader == null) {
-            reader = createXMLReaderViaJAXP(validating, true);
-        }
+    
+        XMLReader reader = createXMLReaderViaJAXP(validating, true);
 
         if (reader == null) {
             try {
@@ -118,10 +115,6 @@
         SAXHelper.setParserFeature(reader, 
"http://xml.org/sax/features/namespaces";, true);
         SAXHelper.setParserFeature(reader, 
"http://xml.org/sax/features/namespace-prefixes";, false);
 
-        // external entites
-        SAXHelper.setParserFeature(reader, 
"http://xml.org/sax/properties/external-general-entities";, false);
-        SAXHelper.setParserFeature(reader, 
"http://xml.org/sax/properties/external-parameter-entities";, false);
-
         // external DTD
         
SAXHelper.setParserFeature(reader,"http://apache.org/xml/features/nonvalidating/load-external-dtd";,
 false);
 

++++++ dom4j-build.xml ++++++
--- /var/tmp/diff_new_pack.Kjmmya/_old  2026-04-25 21:35:28.753154003 +0200
+++ /var/tmp/diff_new_pack.Kjmmya/_new  2026-04-25 21:35:28.761154329 +0200
@@ -8,7 +8,7 @@
 
   <property name="project.groupId" value="org.dom4j"/>
   <property name="project.artifactId" value="dom4j"/>
-  <property name="project.version" value="2.1.4"/>
+  <property name="project.version" value="2.1.5"/>
 
   <property name="compiler.source" value="1.8"/>
   <property name="compiler.target" value="${compiler.source}"/>

Reply via email to