This is an automated email from the ASF dual-hosted git repository.

asf-gitbox-commits pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 937097048b Improved: no functional change in ControlFilterTests class
937097048b is described below

commit 937097048b0c444147a69ae82b69c5f6c7bfddcc
Author: Jacques Le Roux <[email protected]>
AuthorDate: Wed Jun 3 12:16:05 2026 +0200

    Improved: no functional change in ControlFilterTests class
    
    Uses @BeforeEach and @AfterEach to set and remove
    "ControlFilterTests" property
---
 .gitignore                                         |   1 -
 framework/security/config/security.properties      |   4 +-
 .../ofbiz/webapp/control/ControlFilterTests.java   |  24 +--
 gradle/init-gradle-wrapper.ps1                     | 104 ++---------
 gradle/init-gradle-wrapper.sh                      | 203 +++++++--------------
 gradle/wrapper/gradle-wrapper.jar                  | Bin 0 -> 61574 bytes
 gradle/wrapper/gradle-wrapper.properties           |   3 +-
 gradlew                                            |  37 ++--
 gradlew.bat                                        |  26 ++-
 init-gradle-wrapper.bat                            |   7 +-
 10 files changed, 123 insertions(+), 286 deletions(-)

diff --git a/.gitignore b/.gitignore
index 8693c5d3bb..c6853dbc44 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,5 @@
 bin/
 build/
-gradle/wrapper/gradle-wrapper.jar
 applications/*/build
 framework/*/build
 /plugins/
diff --git a/framework/security/config/security.properties 
b/framework/security/config/security.properties
index 088a4399b4..32cc5c2b01 100644
--- a/framework/security/config/security.properties
+++ b/framework/security/config/security.properties
@@ -145,7 +145,7 @@ security.login.externalLoginKey.enabled=true
 #    Read Passwords and JWT (JSON Web Tokens) usage documentation to choose 
the way you want to store this key
 #    The key must be 512 bits (ie 64 chars) as we use HMAC512 to create the 
token, cf. OFBIZ-12724
 #    Run './gradlew generateSecretKeys' to generate a cryptographically secure 
random key.
-login.secret_key_string=
+login.secret_key_string=5CmG8aolQ8zOkrjuMR2vL+FSXnIbVLqQtl8Z1I6Tyl5hUIJ7t02iAFuZ3raQjT1e
 
 # -- Time To Live of the token send to the external server in seconds
 security.jwt.token.expireTime=1800
@@ -161,7 +161,7 @@ security.internal.sso.enabled=false
 #    Read Passwords and JWT (JSON Web Tokens) usage documentation to choose 
the way you want to store this key
 #    The key must be 512 bits (ie 64 chars) as we use HMAC512 to create the 
token, cf. OFBIZ-12724
 #    Run './gradlew generateSecretKeys' to generate a cryptographically secure 
random key.
-security.token.key=
+security.token.key=bNssBNUJZvIXAF7GHIjVL5k7ydQ4qB/HxtkLqNCG3kyTpbfpA/wi5AEabuBuWXJZ
 
 # -- Specifies the expected issuer (the "iss" claim) of JSON Web Tokens (JWTs).
 #    If this property is set, the system assumes that tokens are issued and 
signed by an external
diff --git 
a/framework/webapp/src/test/java/org/apache/ofbiz/webapp/control/ControlFilterTests.java
 
b/framework/webapp/src/test/java/org/apache/ofbiz/webapp/control/ControlFilterTests.java
index e1e6ce2fde..baae0b4636 100644
--- 
a/framework/webapp/src/test/java/org/apache/ofbiz/webapp/control/ControlFilterTests.java
+++ 
b/framework/webapp/src/test/java/org/apache/ofbiz/webapp/control/ControlFilterTests.java
@@ -24,6 +24,7 @@ import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
@@ -53,12 +54,18 @@ public final class ControlFilterTests {
         when(req.getContextPath()).thenReturn("");
         resp = mock(HttpServletResponse.class);
         next = mock(FilterChain.class);
+        System.setProperty("ControlFilterTests", 
"bypassPreventsStreamExploitation");
         filter = new ControlFilter();
+
+    }
+
+    @AfterEach
+    public void tearDown() {
+        System.clearProperty("ControlFilterTests");
     }
 
     @Test
     public void filterWithExactAllowedPath() throws Exception {
-        System.setProperty("ControlFilterTests", 
"bypassPreventsStreamExploitation");
         when(config.getInitParameter("redirectPath")).thenReturn("/foo");
         when(config.getInitParameter("allowedPaths")).thenReturn("/foo:/bar");
         when(req.getRequestURI()).thenReturn("/servlet/bar");
@@ -67,12 +74,10 @@ public final class ControlFilterTests {
         filter.init(config);
         filter.doFilter(req, resp, next);
         verify(next).doFilter(req, resp);
-        System.clearProperty("ControlFilterTests");
     }
 
     @Test
     public void filterWithAllowedSubPath() throws Exception {
-        System.setProperty("ControlFilterTests", 
"bypassPreventsStreamExploitation");
         when(config.getInitParameter("redirectPath")).thenReturn("/foo");
         when(config.getInitParameter("allowedPaths")).thenReturn("/foo:/bar");
         when(req.getRequestURI()).thenReturn("/servlet/bar/baz");
@@ -81,12 +86,10 @@ public final class ControlFilterTests {
         filter.init(config);
         filter.doFilter(req, resp, next);
         verify(next).doFilter(req, resp);
-        System.clearProperty("ControlFilterTests");
     }
 
     @Test
     public void filterWithRedirection() throws Exception {
-        System.setProperty("ControlFilterTests", 
"bypassPreventsStreamExploitation");
         when(config.getInitParameter("redirectPath")).thenReturn("/foo");
         when(config.getInitParameter("allowedPaths")).thenReturn("/bar:/baz");
         when(req.getRequestURI()).thenReturn("/missing/path");
@@ -94,12 +97,10 @@ public final class ControlFilterTests {
         filter.init(config);
         filter.doFilter(req, resp, next);
         verify(resp).sendRedirect("/foo");
-        System.clearProperty("ControlFilterTests");
     }
 
     @Test
     public void filterWithURIredirection() throws Exception {
-        System.setProperty("ControlFilterTests", 
"bypassPreventsStreamExploitation");
         
when(config.getInitParameter("redirectPath")).thenReturn("http://example.org/foo";);
         when(config.getInitParameter("allowedPaths")).thenReturn("/foo:/bar");
         when(req.getRequestURI()).thenReturn("/baz");
@@ -107,12 +108,10 @@ public final class ControlFilterTests {
         filter.init(config);
         filter.doFilter(req, resp, next);
         verify(resp).sendRedirect("http://example.org/foo";);
-        System.clearProperty("ControlFilterTests");
     }
 
     @Test
     public void bailsOutWithVariousErrorCodes() throws Exception {
-        System.setProperty("ControlFilterTests", 
"bypassPreventsStreamExploitation");
         when(config.getInitParameter("allowedPaths")).thenReturn("/foo");
         when(req.getRequestURI()).thenReturn("/baz");
 
@@ -138,12 +137,10 @@ public final class ControlFilterTests {
         filter.init(config);
         filter.doFilter(req, resp, next);
         verify(resp).sendError(404, "/baz");
-        System.clearProperty("ControlFilterTests");
     }
 
     @Test
     public void redirectAllAllowed() throws Exception {
-        System.setProperty("ControlFilterTests", 
"bypassPreventsStreamExploitation");
         when(config.getInitParameter("redirectPath")).thenReturn("/bar");
         when(config.getInitParameter("forceRedirectAll")).thenReturn("Y");
         when(config.getInitParameter("allowedPaths")).thenReturn("/foo");
@@ -152,12 +149,10 @@ public final class ControlFilterTests {
         filter.init(config);
         filter.doFilter(req, resp, next);
         verify(resp).sendRedirect("/bar");
-        System.clearProperty("ControlFilterTests");
     }
 
     @Test
     public void redirectAllNotAllowed() throws Exception {
-        System.setProperty("ControlFilterTests", 
"bypassPreventsStreamExploitation");
         when(config.getInitParameter("redirectPath")).thenReturn("/bar");
         when(config.getInitParameter("forceRedirectAll")).thenReturn("Y");
         when(config.getInitParameter("allowedPaths")).thenReturn("/foo");
@@ -166,12 +161,10 @@ public final class ControlFilterTests {
         filter.init(config);
         filter.doFilter(req, resp, next);
         verify(resp).sendRedirect("/bar");
-        System.clearProperty("ControlFilterTests");
     }
 
     @Test
     public void redirectAllRecursive() throws Exception {
-        System.setProperty("ControlFilterTests", 
"bypassPreventsStreamExploitation");
         when(config.getInitParameter("redirectPath")).thenReturn("/foo");
         when(config.getInitParameter("forceRedirectAll")).thenReturn("Y");
         when(config.getInitParameter("allowedPaths")).thenReturn("/foo");
@@ -189,6 +182,5 @@ public final class ControlFilterTests {
         filter.doFilter(req, resp, next);
         verify(next).doFilter(req, resp);
         verify(session).removeAttribute("_FORCE_REDIRECT_");
-        System.clearProperty("ControlFilterTests");
     }
 }
diff --git a/gradle/init-gradle-wrapper.ps1 b/gradle/init-gradle-wrapper.ps1
index 9216ab0feb..36d46eb624 100644
--- a/gradle/init-gradle-wrapper.ps1
+++ b/gradle/init-gradle-wrapper.ps1
@@ -15,106 +15,26 @@
 # specific language governing permissions and limitations
 # under the License.
 
-param(
-    [switch]$Help,
-    [switch]$Upgrade
-)
-
-if ($Help) {
-    Write-Host "Usage: gradle\init-gradle-wrapper.ps1 [-Help] [-Upgrade]"
-    Write-Host ""
-    Write-Host "Downloads and verifies gradle-wrapper.jar for Apache OFBiz."
-    Write-Host "The jar is not committed to the repository; run this script"
-    Write-Host "before using gradlew.bat for the first time."
-    Write-Host ""
-    Write-Host "Options:"
-    Write-Host "  -Help     Show this message and exit."
-    Write-Host "  -Upgrade  After downloading/verifying the jar, run"
-    Write-Host "            '.\gradlew wrapper' to regenerate gradlew.bat"
-    Write-Host "            to match the new Gradle version."
-    Write-Host ""
-    Write-Host "Workflow for Gradle version upgrades (e.g. from a Dependabot 
PR):"
-    Write-Host "  1. gradle\init-gradle-wrapper.ps1 -Upgrade"
-    Write-Host "  2. Commit any changes to gradlew and gradlew.bat"
-    exit 0
-}
-
 md -force gradle/wrapper
 
-# Parse the Gradle version from gradle-wrapper.properties
-$distributionUrl = (Get-Content "gradle\wrapper\gradle-wrapper.properties" | 
Where-Object { $_ -match "^distributionUrl=" }) -replace "^distributionUrl=", ""
-$release = [regex]::Match($distributionUrl, 
'gradle-(\d+(?:\.\d+)+)-').Groups[1].Value
-Write-Host "Gradle version: $release"
-
-$gradleWrapperJar = "gradle\wrapper\gradle-wrapper.jar"
-$gradleWrapperUri = 
"https://github.com/gradle/gradle/raw/v$release/gradle/wrapper/gradle-wrapper.jar";
-$gradleWrapperSha256Uri = 
"https://services.gradle.org/distributions/gradle-$release-wrapper.jar.sha256";
-
-function Get-ExpectedSha256 {
-    try {
-        return Invoke-RestMethod -Uri $gradleWrapperSha256Uri -ErrorAction Stop
-    } catch {
-        return $null
-    }
-}
-
-function Get-ActualSha256 {
-    return (Get-FileHash $gradleWrapperJar -Algorithm SHA256).Hash.ToLower()
-}
-
-# If gradle-wrapper.jar already exists, verify its checksum before deciding to 
skip or re-download
-if (Test-Path $gradleWrapperJar) {
-    Write-Host "gradle-wrapper.jar found, verifying checksum..."
-    $expected = Get-ExpectedSha256
-    if ($null -eq $expected) {
-        Write-Host "Warning: could not reach checksum service, skipping 
verification"
-        exit 0
-    }
-    $actual = Get-ActualSha256
-    if ($actual -eq $expected) {
-        Write-Host "Checksum OK."
-        if ($Upgrade) {
-            Write-Host "Running '.\gradlew wrapper' to regenerate gradlew and 
gradlew.bat..."
-            & .\gradlew wrapper
-        }
-        exit 0
-    } else {
-        Write-Host "Checksum mismatch, re-downloading..."
-        Remove-Item $gradleWrapperJar
-    }
-}
-
-# Download gradle-wrapper.jar from the Gradle GitHub repository
+# download raw format from 
https://github.com/gradle/gradle/tree/v7.6.0/gradle/wrapper
 If ($ExecutionContext.SessionState.LanguageMode -eq "ConstrainedLanguage") {
     Set-ItemProperty 'hklm:\SYSTEM\CurrentControlSet\Control\Session 
Manager\Environment' -name "__PSLockdownPolicy" -Value 8
-    Invoke-WebRequest -outf $gradleWrapperJar $gradleWrapperUri
+    Invoke-WebRequest -outf gradle\wrapper\gradle-wrapper.jar 
https://github.com/gradle/gradle/raw/v7.6.0/gradle/wrapper/gradle-wrapper.jar
     Set-ItemProperty 'hklm:\SYSTEM\CurrentControlSet\Control\Session 
Manager\Environment' -name "__PSLockdownPolicy" -Value 4
 } else {
-    Invoke-WebRequest -outf $gradleWrapperJar $gradleWrapperUri
+    Invoke-WebRequest -outf gradle\wrapper\gradle-wrapper.jar 
https://github.com/gradle/gradle/raw/v7.6.0/gradle/wrapper/gradle-wrapper.jar
 }
 
-# Verify the downloaded jar against the expected checksum published by Gradle
-# See: 
https://docs.gradle.org/current/userguide/gradle_wrapper.html#wrapper_checksum_verification
-Write-Host "Verifying checksum..."
-$expected = Get-ExpectedSha256
-if ($null -eq $expected) {
-    Remove-Item $gradleWrapperJar
-    Write-Host "Error: could not fetch checksum from $gradleWrapperSha256Uri"
-    exit 1
-}
-$actual = Get-ActualSha256
-if ($actual -eq $expected) {
-    Write-Host "Checksum OK."
-    if ($Upgrade) {
-        Write-Host "Running '.\gradlew wrapper' to regenerate gradlew and 
gradlew.bat..."
-        & .\gradlew wrapper
-    }
-} else {
-    Remove-Item $gradleWrapperJar
-    Write-Host "Error: checksum mismatch"
-    Write-Host "Expected: $expected"
-    Write-Host "Actual:   $actual"
-    exit 1
+# 
https://docs.gradle.org/current/userguide/gradle_wrapper.html#wrapper_checksum_verification
+$expected = Invoke-RestMethod -Uri 
https://services.gradle.org/distributions/gradle-7.6-wrapper.jar.sha256
+$actual = (Get-FileHash gradle\wrapper\gradle-wrapper.jar -Algorithm 
SHA256).Hash.ToLower()
+@{$true = 'OK: Checksum match'; $false = "ERROR: Checksum mismatch!`nExpected: 
$expected`nActual:   $actual"}[$actual -eq $expected]
+
+if (!$true) {
+    Remove-Item gradle\wrapper\gradle-wrapper.jar
 }
 
+#Write-Host $ExecutionContext.SessionState.LanguageMode
+
 Start-Sleep -s 3
diff --git a/gradle/init-gradle-wrapper.sh b/gradle/init-gradle-wrapper.sh
index aed0b50726..764b40605a 100755
--- a/gradle/init-gradle-wrapper.sh
+++ b/gradle/init-gradle-wrapper.sh
@@ -16,162 +16,93 @@
 # specific language governing permissions and limitations
 # under the License.
 
-# Paths
+# Variable for location
 OFBIZ_HOME="$(pwd)"
-GRADLE_WRAPPER_OFBIZ_PATH="$OFBIZ_HOME/gradle/wrapper"
-GRADLE_WRAPPER_PROPERTIES="$GRADLE_WRAPPER_OFBIZ_PATH/gradle-wrapper.properties"
-GRADLE_WRAPPER_JAR="$GRADLE_WRAPPER_OFBIZ_PATH/gradle-wrapper.jar"
+GRADLE_OFBIZ_PATH="$OFBIZ_HOME/gradle"
+GRADLE_WRAPPER_OFBIZ_PATH="$GRADLE_OFBIZ_PATH/wrapper"
+
+# version and uri to download the wrapper
+RELEASE="6.5.1"
+GRADLE_WRAPPER_URI="https://github.com/gradle/gradle/raw/v$RELEASE/gradle/wrapper/";
+
+# checksum to verify the downloaded file
+SHASUM_GRADLE_WRAPPER_FILES="33b0acb4572934fc1dd7d5880c65036724974e06  
gradle/wrapper/gradle-wrapper.jar
+b76cfc82d574180f435b4bd9d4b0f29a3c32294b  
gradle/wrapper/gradle-wrapper.properties
+67bc176bca816684cf5218570a931f57d5f2b423  gradlew"
+
+GRADLE_WRAPPER_JAR="gradle-wrapper.jar"
+GRADLE_WRAPPER_PROPERTIES="gradle-wrapper.properties"
+GRADLE_WRAPPER_FILES="$GRADLE_WRAPPER_JAR $GRADLE_WRAPPER_PROPERTIES"
+GRADLE_WRAPPER_SCRIPT="gradlew"
 
 whereIsBinary() {
     whereis $1 | grep /
 }
 
-# Perform the download using curl or wget, output to stdout
-downloadToStdout() {
-    if [ -n "$(whereIsBinary curl)" ]; then
-        curl -L -s "$1"
-    elif [ -n "$(whereIsBinary wget)" ]; then
-        wget -q -O - "$1"
-    fi
-}
-
-# Download a file to a given destination path
+# Perform the download using curl or wget
 downloadFile() {
-    if [ -n "$(whereIsBinary curl)" ]; then
-        HTTP_CODE=$(curl -L -o "$2" -s -w '%{http_code}' "$1")
-        [ "$HTTP_CODE" = "200" ]
-    elif [ -n "$(whereIsBinary wget)" ]; then
-        wget -q -O "$2" "$1" 2>&1 | grep -q 'HTTP/1.1 200 OK'
-        [ $? -eq 0 ]
-    else
-        return 1
-    fi
+   if [ -n "$(whereIsBinary curl)" ]; then
+       GET_CMD="curl -L -o $GRADLE_WRAPPER_OFBIZ_PATH/$1 -s -w %{http_code} 
$2/$1";
+       if [ "$($GET_CMD)" = "200" ]; then
+           return 0;
+       fi
+   elif [ -n "$(whereIsBinary wget)" ]; then
+       if [[ `wget -q -S -O $GRADLE_WRAPPER_OFBIZ_PATH/$1 $2/$1 2>&1 > 
/dev/null | grep 'HTTP/1.1 200 OK'` ]]; then
+           return 0;
+       fi
+   fi
+   return 1
 }
 
-# Compute SHA256 of a file
-computeSha256() {
-    if [ -n "$(whereIsBinary sha256sum)" ]; then
-        sha256sum "$1" | cut -d' ' -f1
-    elif [ -n "$(whereIsBinary shasum)" ]; then
-        shasum -a 256 "$1" | cut -d' ' -f1
-    fi
+# Download the file from the main URI
+resolveFile() {
+   downloadFile $1 $GRADLE_WRAPPER_URI;
 }
 
-UPGRADE=false
-
-for arg in "$@"; do
-    case "$arg" in
-        --help)
-            echo "Usage: sh gradle/init-gradle-wrapper.sh [--help] [--upgrade]"
-            echo ""
-            echo "Downloads and verifies gradle-wrapper.jar for Apache OFBiz."
-            echo "The jar is not committed to the repository; run this script"
-            echo "before using ./gradlew for the first time."
-            echo ""
-            echo "Options:"
-            echo "  --help     Show this message and exit."
-            echo "  --upgrade  After downloading/verifying the jar, run"
-            echo "             './gradlew wrapper' to regenerate gradlew and"
-            echo "             gradlew.bat to match the new Gradle version."
-            echo ""
-            echo "Workflow for Gradle version upgrades (e.g. from a Dependabot 
PR):"
-            echo "  1. sh gradle/init-gradle-wrapper.sh --upgrade"
-            echo "  2. Commit any changes to gradlew and gradlew.bat"
-            exit 0
-            ;;
-        --upgrade)
-            UPGRADE=true
-            ;;
-        *)
-            echo "Unknown option: $arg"
-            echo "Run 'sh gradle/init-gradle-wrapper.sh --help' for usage."
-            exit 1
-            ;;
-    esac
-done
-
+echo " === Prepare operation ===";
 # Verify that the script is executed from the right location
-if [ ! -f "$GRADLE_WRAPPER_PROPERTIES" ]; then
-    echo "gradle/wrapper/gradle-wrapper.properties not found."
-    echo "Please run 'sh gradle/init-gradle-wrapper.sh' from the Apache OFBiz 
home."
-    exit 1
-fi
-
-# Parse the Gradle version from gradle-wrapper.properties
-RELEASE=$(grep "^distributionUrl=" "$GRADLE_WRAPPER_PROPERTIES" | sed 
's/.*gradle-\([0-9.]*\)-.*/\1/')
-if [ -z "$RELEASE" ]; then
-    echo "Could not determine Gradle version from $GRADLE_WRAPPER_PROPERTIES"
-    exit 1
+if [ ! -d "$GRADLE_OFBIZ_PATH" ]; then
+    echo "Location seems to be incorrect, please run 'sh 
gradle/init-gradle-wrapper.sh' from the Apache OFBiz home";
+    exit 1;
 fi
-echo "Gradle version: $RELEASE"
-
-GRADLE_WRAPPER_URI="https://github.com/gradle/gradle/raw/v$RELEASE/gradle/wrapper/gradle-wrapper.jar";
-GRADLE_WRAPPER_SHA256_URI="https://services.gradle.org/distributions/gradle-$RELEASE-wrapper.jar.sha256";
-
-# If gradle-wrapper.jar already exists, verify its checksum before deciding to 
skip or re-download
-if [ -r "$GRADLE_WRAPPER_JAR" ]; then
-    echo "gradle-wrapper.jar found, verifying checksum..."
-    EXPECTED_SHA256=$(downloadToStdout "$GRADLE_WRAPPER_SHA256_URI")
-    if [ -z "$EXPECTED_SHA256" ]; then
-        echo "Warning: could not reach checksum service, skipping verification"
-        exit 0
-    fi
-    ACTUAL_SHA256=$(computeSha256 "$GRADLE_WRAPPER_JAR")
-    if [ -z "$ACTUAL_SHA256" ]; then
-        echo "Warning: sha256sum or shasum not found, cannot verify existing 
gradle-wrapper.jar"
-        exit 0
-    fi
-    if [ "$ACTUAL_SHA256" = "$EXPECTED_SHA256" ]; then
-        echo "Checksum OK."
-        if [ "$UPGRADE" = true ]; then
-            echo "Running './gradlew wrapper' to regenerate gradlew and 
gradlew.bat..."
-            ./gradlew wrapper
-        fi
-        exit 0
-    else
-        echo "Checksum mismatch, re-downloading..."
-        rm -f "$GRADLE_WRAPPER_JAR"
-    fi
+if [ ! -d "$GRADLE_WRAPPER_OFBIZ_PATH" ]; then
+    mkdir $GRADLE_WRAPPER_OFBIZ_PATH;
 fi
 
-# Ensure curl or wget is available
+# check if we have on binary to download missing wrapper
 if [ -z "$(whereIsBinary curl)" ] && [ -z "$(whereIsBinary wget)" ]; then
-    echo "curl or wget not found, please install one of them or install 
yourself gradle (for more information see README.md or 
https://gradle.org/install)"
-    exit 1
+   echo "curl or wget not found, please install one of them or install 
yourself gradle (for more information see README.md or 
https://gradle.org/install)";
+   exit 1
 fi
 
-echo "Downloading gradle-wrapper.jar..."
-if ! downloadFile "$GRADLE_WRAPPER_URI" "$GRADLE_WRAPPER_JAR"; then
-    rm -f "$GRADLE_WRAPPER_JAR"
-    echo "Download of gradle-wrapper.jar from $GRADLE_WRAPPER_URI failed."
-    echo "Please check the logs, fix the problem and run the script again."
-    exit 1
-fi
+if [ ! -r "$GRADLE_WRAPPER_OFBIZ_PATH/$GRADLE_WRAPPER_JAR" ]; then
+    echo "$GRADLE_WRAPPER_OFBIZ_PATH/$GRADLE_WRAPPER_JAR not found, we 
download it"
 
-echo "Verifying checksum..."
-EXPECTED_SHA256=$(downloadToStdout "$GRADLE_WRAPPER_SHA256_URI")
-if [ -z "$EXPECTED_SHA256" ]; then
-    rm -f "$GRADLE_WRAPPER_JAR"
-    echo "Error: could not fetch checksum from $GRADLE_WRAPPER_SHA256_URI"
-    exit 1
-fi
+    for fileToDownload in $GRADLE_WRAPPER_FILES; do
+         echo " === Download $fileToDownload ===";
+         resolveFile $fileToDownload
+    done
+    if [ ! $? -eq 0 ]; then
+        rm -f $GRADLE_WRAPPER_OFBIZ_PATH/*
+        echo "\nDownload files $GRADLE_WRAPPER_FILES from $GRADLE_WRAPPER_URI 
failed.\nPlease check the logs, fix the problem and run the script again."
+    fi
 
-ACTUAL_SHA256=$(computeSha256 "$GRADLE_WRAPPER_JAR")
-if [ -z "$ACTUAL_SHA256" ]; then
-    echo "Warning: sha256sum or shasum not found, the downloaded file could 
not be verified"
-    exit 0
-fi
+    if [ ! -r "$GRADLE_WRAPPER_SCRIPT" ]; then
+         echo " === Download script wrapper ==="
+         resolveFile $GRADLE_WRAPPER_SCRIPT
+         mv "$GRADLE_WRAPPER_OFBIZ_PATH/$GRADLE_WRAPPER_SCRIPT" .
+         chmod u+x $GRADLE_WRAPPER_SCRIPT
+    fi
 
-if [ "$ACTUAL_SHA256" = "$EXPECTED_SHA256" ]; then
-    echo "Checksum OK."
-    if [ "$UPGRADE" = true ]; then
-        echo "Running './gradlew wrapper' to regenerate gradlew and 
gradlew.bat..."
-        ./gradlew wrapper
+    echo " === Control downloaded files ==="
+    if [ -n "$(whereIsBinary shasum)" ]; then
+        echo "$SHASUM_GRADLE_WRAPPER_FILES" | shasum -c -;
+        echo " Warning: shasum not found, the downloaded files could not be 
verified"
+        exit 0;
+        else
+        exit 1;
+        fi
     fi
-else
-    rm -f "$GRADLE_WRAPPER_JAR"
-    echo "Error: checksum mismatch"
-    echo "Expected: $EXPECTED_SHA256"
-    echo "Actual:   $ACTUAL_SHA256"
-    exit 1
+    exit 1;
 fi
+echo " Nothing more to be done"
diff --git a/gradle/wrapper/gradle-wrapper.jar 
b/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 0000000000..943f0cbfa7
Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/gradle/wrapper/gradle-wrapper.properties 
b/gradle/wrapper/gradle-wrapper.properties
index 4f5eb9dcc0..2617362fd0 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,7 +1,6 @@
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.5-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip
 networkTimeout=10000
-validateDistributionUrl=true
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
diff --git a/gradlew b/gradlew
index 23d15a9367..65dcd68d65 100755
--- a/gradlew
+++ b/gradlew
@@ -15,8 +15,6 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-# SPDX-License-Identifier: Apache-2.0
-#
 
 ##############################################################################
 #
@@ -57,7 +55,7 @@
 #       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
+#       
https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
 #       within the Gradle project.
 #
 #       You can find Gradle at https://github.com/gradle/gradle/.
@@ -85,8 +83,10 @@ done
 # 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
+APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
+
+# 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"'
 
 # Use the maximum available, or set MAX_FD != -1 to use that value.
 MAX_FD=maximum
@@ -114,7 +114,7 @@ case "$( uname )" in                #(
   NONSTOP* )        nonstop=true ;;
 esac
 
-CLASSPATH="\\\"\\\""
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
 
 
 # Determine the Java command to use to start the JVM.
@@ -133,13 +133,10 @@ location of your Java installation."
     fi
 else
     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.
+    which java >/dev/null 2>&1 || 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.
@@ -147,7 +144,7 @@ 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
+        # shellcheck disable=SC3045 
         MAX_FD=$( ulimit -H -n ) ||
             warn "Could not query maximum file descriptor limit"
     esac
@@ -155,7 +152,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
       '' | soft) :;; #(
       *)
         # In POSIX sh, ulimit -n is undefined. That's why the result is 
checked to see if it worked.
-        # shellcheck disable=SC2039,SC3045
+        # shellcheck disable=SC3045 
         ulimit -n "$MAX_FD" ||
             warn "Could not set maximum file descriptor limit to $MAX_FD"
     esac
@@ -200,20 +197,16 @@ if "$cygwin" || "$msys" ; then
     done
 fi
 
-
-# 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.
+# Collect all arguments for the java command;
+#   * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
+#     shell script including quotes and variable substitutions, so put them in
+#     double quotes to make sure that they get re-expanded; and
+#   * put everything else in single quotes, so that it's not re-expanded.
 
 set -- \
         "-Dorg.gradle.appname=$APP_BASE_NAME" \
         -classpath "$CLASSPATH" \
-        -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
+        org.gradle.wrapper.GradleWrapperMain \
         "$@"
 
 # Stop when "xargs" is not available.
diff --git a/gradlew.bat b/gradlew.bat
index db3a6ac207..93e3f59f13 100644
--- a/gradlew.bat
+++ b/gradlew.bat
@@ -13,8 +13,6 @@
 @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 ##########################################################################
@@ -45,11 +43,11 @@ 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
+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
 
@@ -59,22 +57,22 @@ 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
+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
 
 :execute
 @rem Setup the command line
 
-set CLASSPATH=
+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%" -jar 
"%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
+"%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
diff --git a/init-gradle-wrapper.bat b/init-gradle-wrapper.bat
index fe5ba52792..5e38fa2e84 100755
--- a/init-gradle-wrapper.bat
+++ b/init-gradle-wrapper.bat
@@ -18,4 +18,9 @@ rem specific language governing permissions and limitations
 rem under the License.
 rem #####################################################################
 
-pwsh -command "  Start-Process pwsh -Verb RunAs \""-Command `\""cd '%cd%'; & 
'gradle\init-gradle-wrapper.ps1' %*;`\""\""   "
+if exist "%~dp0gradle\wrapper\gradle-wrapper.jar" (
+    echo The Gradle Wrapper has already been downloaded.
+    exit /b
+)
+
+pwsh -command "  Start-Process pwsh -Verb RunAs \""-Command `\""cd '%cd%'; & 
'gradle\init-gradle-wrapper.ps1';`\""\""   "

Reply via email to