Skip to content

Commit 6e88956

Browse files
committed
Remove gradle-wrapper.jar from source tree
The ASF Release Policy mentions that a source release should not contain compiled code. Jar files, like the `gradle/wrapper/gradle-wrapper.jar` file, are compiled code and should not be included in source releases. The Gradle build tool currently offers no way out-of-the box to run Gradle without having the wrapper jar in the source tree. [The repository](https://github.com/snazy/gradle-wrapper-no-jar) demonstrates how to use Gradle without having the wrapper jar in the source tree. This change adopts these changes for Apache Beam, and also * Replace the deprecated [`gradle/gradle-build-action`](https://github.com/gradle/gradle-build-action) (repo is archived/read-only) with [`gradle/actions/setup-gradle`](https://github.com/gradle/actions/tree/main/setup-gradle) * Remove usage of the no longer necessary [`gradle/wrapper-validation-action`](https://github.com/gradle/wrapper-validation-action) (repo is archived/read-only)
1 parent c65c198 commit 6e88956

File tree

23 files changed

+826
-5
lines changed

23 files changed

+826
-5
lines changed

.github/actions/setup-environment-action/action.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,10 @@ runs:
7676
distribution: 'temurin'
7777
java-version: ${{ inputs.java-version == 'default' && '11' || inputs.java-version }}
7878
- name: Setup Gradle
79-
uses: gradle/gradle-build-action@v2
79+
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5
8080
with:
8181
cache-disabled: ${{ inputs.disable-cache }}
82+
validate-wrappers: false
8283
- name: Install Go
8384
if: ${{ inputs.go-version != '' }}
8485
uses: actions/setup-go@v6

.github/workflows/code_completion_plugin_tests.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,10 +68,6 @@ jobs:
6868
repository: JetBrains/intellij-community
6969
path: intellij
7070

71-
# Validate wrapper
72-
- name: Gradle Wrapper Validation
73-
uses: gradle/[email protected]
74-
7571
# Setup Java environment for the next steps
7672
- name: Setup Java
7773
uses: actions/setup-java@v5

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,3 +154,7 @@ playground/cloudfunction.zip
154154
# Ignore .test-infra/metrics/github_runs_prefetcher/code.zip
155155
# as its generated with terraform
156156
.test-infra/metrics/sync/github/github_runs_prefetcher/code.zip
157+
158+
# Ignore Gradle wrapper jar file and checksum files
159+
**/gradle/wrapper/gradle-wrapper.jar
160+
**/gradle/wrapper/gradle-wrapper-*.sha256

gradle/gradlew-include.ps1

Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
#
2+
# Licensed to the Apache Software Foundation (ASF) under one
3+
# or more contributor license agreements. See the NOTICE file
4+
# distributed with this work for additional information
5+
# regarding copyright ownership. The ASF licenses this file
6+
# to you under the Apache License, Version 2.0 (the
7+
# "License"); you may not use this file except in compliance
8+
# with the License. You may obtain a copy of the License at
9+
#
10+
# http://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# Unless required by applicable law or agreed to in writing,
13+
# software distributed under the License is distributed on an
14+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
# KIND, either express or implied. See the License for the
16+
# specific language governing permissions and limitations
17+
# under the License.
18+
19+
# Binary, especially executable binary files, shall not be in the source tree of any Apache project.
20+
# Gradle usually requires a `gradle-wrapper.jar` file to be present in the source tree.
21+
# This script, included from `gradlew` downloads the gradle-wrapper.jar if necessary and verifies its integrity.
22+
# The `gradle-wrapper.jar` and its checksum are downloaded from two well-known locations.
23+
24+
# This fixes an issue that Get-FileHash works fine "out of the box" on older Windows version, but fails on
25+
# newer ones. More info via https://github.com/actions/runner-images/issues/225
26+
Import-Module $PSHOME\Modules\Microsoft.PowerShell.Utility -Function Get-FileHash
27+
28+
# Extract the Gradle version from gradle-wrapper.properties using a regular expression.
29+
$GradlePropertiesPath = Join-Path -Path $env:APP_HOME -ChildPath "gradle\wrapper\gradle-wrapper.properties"
30+
if (-not (Test-Path $GradlePropertiesPath)) {
31+
Write-Error "Gradle properties file not found: $GradlePropertiesPath"
32+
exit 1
33+
}
34+
35+
# Read the content and use a regex match to capture the version number.
36+
# Bash regex: 's/^.*gradle-\([0-9.]*\)-[a-z]*.zip$/\1/'
37+
# PowerShell equivalent: Match the distributionUrl line, then capture the version group.
38+
$GRADLE_DIST_VERSION = (
39+
Select-String -Path $GradlePropertiesPath -CaseSensitive `
40+
-Pattern 'distributionUrl=' |
41+
ForEach-Object {
42+
if ($_ -match 'gradle-([\d.]+)-[a-z]+\.zip') {
43+
$Matches[1]
44+
}
45+
}
46+
)
47+
48+
# Define file paths
49+
$GRADLE_WRAPPER_SHA256 = Join-Path -Path $env:APP_HOME -ChildPath "gradle\wrapper\gradle-wrapper-$GRADLE_DIST_VERSION.jar.sha256"
50+
$GRADLE_WRAPPER_JAR = Join-Path -Path $env:APP_HOME -ChildPath "gradle\wrapper\gradle-wrapper.jar"
51+
52+
# Checksum Verification and Cleanup
53+
# If the checksum file does not exist, delete the wrapper jar.
54+
if (-not (Test-Path $GRADLE_WRAPPER_SHA256)) {
55+
Remove-Item -Path $GRADLE_WRAPPER_JAR -Force -ErrorAction SilentlyContinue
56+
}
57+
58+
# If the wrapper jar exists, verify its checksum.
59+
if (Test-Path $GRADLE_WRAPPER_JAR) {
60+
try {
61+
# Calculate the SHA256 hash of the existing wrapper JAR.
62+
# Get-FileHash is the native PowerShell equivalent for sha256sum.
63+
$JarHashObject = Get-FileHash -Path $GRADLE_WRAPPER_JAR -Algorithm SHA256
64+
$JAR_CHECKSUM = $JarHashObject.Hash.ToLower() # Hash is uppercase by default, convert to lowercase
65+
66+
# Read the expected checksum from the file.
67+
# Note: 'cat' is an alias for Get-Content in PowerShell.
68+
$EXPECTED = (Get-Content -Path $GRADLE_WRAPPER_SHA256 -Raw).Trim().ToLower()
69+
70+
# Compare checksums and delete files if they do not match.
71+
if ($JAR_CHECKSUM -ne $EXPECTED) {
72+
Write-Warning "Checksum mismatch. Deleting $GRADLE_WRAPPER_JAR and $GRADLE_WRAPPER_SHA256."
73+
Remove-Item -Path $GRADLE_WRAPPER_JAR -Force -ErrorAction SilentlyContinue
74+
Remove-Item -Path $GRADLE_WRAPPER_SHA256 -Force -ErrorAction SilentlyContinue
75+
}
76+
} catch {
77+
# Handle cases where Get-Content or Get-FileHash might fail (e.g., file deleted during operation).
78+
Write-Warning "Error during checksum verification: $($_.Exception.Message)"
79+
Remove-Item -Path $GRADLE_WRAPPER_JAR -Force -ErrorAction SilentlyContinue
80+
Remove-Item -Path $GRADLE_WRAPPER_SHA256 -Force -ErrorAction SilentlyContinue
81+
}
82+
}
83+
84+
# Download Checksum File
85+
# If the checksum file is missing, download it.
86+
if (-not (Test-Path $GRADLE_WRAPPER_SHA256)) {
87+
$Sha256DownloadUrl = "https://services.gradle.org/distributions/gradle-$GRADLE_DIST_VERSION-wrapper.jar.sha256"
88+
Write-Host "Downloading SHA256 checksum from $Sha256DownloadUrl"
89+
# Invoke-WebRequest is the native PowerShell equivalent for curl --location --output.
90+
try {
91+
Invoke-WebRequest -Uri $Sha256DownloadUrl -OutFile $GRADLE_WRAPPER_SHA256 -UseBasicParsing -ErrorAction Stop
92+
} catch {
93+
Write-Error "Failed to download SHA256 checksum: $($_.Exception.Message)"
94+
exit 1
95+
}
96+
}
97+
98+
# Download Wrapper JAR and Final Verification
99+
# If the wrapper jar is missing, download it.
100+
if (-not (Test-Path $GRADLE_WRAPPER_JAR)) {
101+
# The original script handles a case where the version might be like 'x.y' and needs 'x.y.0'.
102+
# Bash sed: 's/^\([0-9]*[.][0-9]*\)$/\1.0/'
103+
# PowerShell equivalent using regex replacement.
104+
$GRADLE_VERSION = $GRADLE_DIST_VERSION
105+
if ($GRADLE_DIST_VERSION -match '^\d+\.\d+$') {
106+
$GRADLE_VERSION = "$GRADLE_DIST_VERSION.0"
107+
}
108+
109+
$JarDownloadUrl = "https://raw.githubusercontent.com/gradle/gradle/v$GRADLE_VERSION/gradle/wrapper/gradle-wrapper.jar"
110+
Write-Host "Downloading wrapper JAR from $JarDownloadUrl"
111+
112+
try {
113+
Invoke-WebRequest -Uri $JarDownloadUrl -OutFile $GRADLE_WRAPPER_JAR -UseBasicParsing -ErrorAction Stop
114+
} catch {
115+
Write-Error "Failed to download wrapper JAR: $($_.Exception.Message)"
116+
exit 1
117+
}
118+
119+
# Verify the checksum of the newly downloaded JAR.
120+
try {
121+
$JarHashObject = Get-FileHash -Path $GRADLE_WRAPPER_JAR -Algorithm SHA256
122+
$JAR_CHECKSUM = $JarHashObject.Hash.ToLower()
123+
$EXPECTED = (Get-Content -Path $GRADLE_WRAPPER_SHA256 -Raw).Trim().ToLower()
124+
125+
if ($JAR_CHECKSUM -ne $EXPECTED) {
126+
# Critical failure: downloaded file does not match its expected checksum.
127+
Write-Error "Expected sha256 of the downloaded $GRADLE_WRAPPER_JAR does not match the downloaded sha256!"
128+
exit 1
129+
}
130+
} catch {
131+
Write-Error "Error during final checksum verification: $($_.Exception.Message)"
132+
exit 1
133+
}
134+
}

gradle/gradlew-include.sh

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
#
2+
# Licensed to the Apache Software Foundation (ASF) under one
3+
# or more contributor license agreements. See the NOTICE file
4+
# distributed with this work for additional information
5+
# regarding copyright ownership. The ASF licenses this file
6+
# to you under the Apache License, Version 2.0 (the
7+
# "License"); you may not use this file except in compliance
8+
# with the License. You may obtain a copy of the License at
9+
#
10+
# http://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# Unless required by applicable law or agreed to in writing,
13+
# software distributed under the License is distributed on an
14+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
# KIND, either express or implied. See the License for the
16+
# specific language governing permissions and limitations
17+
# under the License.
18+
19+
# Binary, especially executable binary files, shall not be in the source tree of any Apache project.
20+
# Gradle usually requires a `gradle-wrapper.jar` file to be present in the source tree.
21+
# This script, included from `gradlew` downloads the gradle-wrapper.jar if necessary and verifies its integrity.
22+
# The `gradle-wrapper.jar` and its checksum are downloaded from two well-known locations.
23+
24+
# Extract the Gradle version from gradle-wrapper.properties.
25+
GRADLE_DIST_VERSION="$(grep distributionUrl= "$APP_HOME/gradle/wrapper/gradle-wrapper.properties" | sed 's/^.*gradle-\([0-9.]*\)-[a-z]*.zip$/\1/')"
26+
GRADLE_WRAPPER_SHA256="$APP_HOME/gradle/wrapper/gradle-wrapper-${GRADLE_DIST_VERSION}.jar.sha256"
27+
GRADLE_WRAPPER_JAR="$APP_HOME/gradle/wrapper/gradle-wrapper.jar"
28+
if [ -x "$(command -v sha256sum)" ] ; then
29+
SHASUM="sha256sum"
30+
else
31+
if [ -x "$(command -v shasum)" ] ; then
32+
SHASUM="shasum -a 256"
33+
else
34+
echo "Neither sha256sum nor shasum are available, install either." > /dev/stderr
35+
exit 1
36+
fi
37+
fi
38+
if [ ! -e "${GRADLE_WRAPPER_SHA256}" ]; then
39+
# Delete the wrapper jar, if the checksum file does not exist.
40+
rm -f "${GRADLE_WRAPPER_JAR}"
41+
fi
42+
if [ -e "${GRADLE_WRAPPER_JAR}" ]; then
43+
# Verify the wrapper jar, if it exists, delete wrapper jar and checksum file, if the checksums
44+
# do not match.
45+
JAR_CHECKSUM="$(${SHASUM} "${GRADLE_WRAPPER_JAR}" | cut -d\ -f1)"
46+
EXPECTED="$(cat "${GRADLE_WRAPPER_SHA256}")"
47+
if [ "${JAR_CHECKSUM}" != "${EXPECTED}" ]; then
48+
rm -f "${GRADLE_WRAPPER_JAR}" "${GRADLE_WRAPPER_SHA256}"
49+
fi
50+
fi
51+
if [ ! -e "${GRADLE_WRAPPER_SHA256}" ]; then
52+
curl --location --output "${GRADLE_WRAPPER_SHA256}" https://services.gradle.org/distributions/gradle-${GRADLE_DIST_VERSION}-wrapper.jar.sha256 || exit 1
53+
fi
54+
if [ ! -e "${GRADLE_WRAPPER_JAR}" ]; then
55+
# The Gradle version extracted from the `distributionUrl` property does not contain ".0" patch
56+
# versions. Need to append a ".0" in that case to download the wrapper jar.
57+
GRADLE_VERSION="$(echo "$GRADLE_DIST_VERSION" | sed 's/^\([0-9]*[.][0-9]*\)$/\1.0/')"
58+
curl --location --output "${GRADLE_WRAPPER_JAR}" https://raw.githubusercontent.com/gradle/gradle/v${GRADLE_VERSION}/gradle/wrapper/gradle-wrapper.jar || exit 1
59+
JAR_CHECKSUM="$(${SHASUM} "${GRADLE_WRAPPER_JAR}" | cut -d\ -f1)"
60+
EXPECTED="$(cat "${GRADLE_WRAPPER_SHA256}")"
61+
if [ "${JAR_CHECKSUM}" != "${EXPECTED}" ]; then
62+
# If the (just downloaded) checksum and the downloaded wrapper jar do not match, something
63+
# really bad is going on.
64+
echo "Expected sha256 of the downloaded gradle-wrapper.jar does not match the downloaded sha256!" > /dev/stderr
65+
exit 1
66+
fi
67+
fi

gradle/wrapper/gradle-wrapper.jar

-62.2 KB
Binary file not shown.

gradlew

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,8 @@ APP_BASE_NAME=${0##*/}
8686
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
8787
APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
8888

89+
. ${APP_HOME}/gradle/gradlew-include.sh
90+
8991
# Use the maximum available, or set MAX_FD != -1 to use that value.
9092
MAX_FD=maximum
9193

gradlew.bat

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ if "%DIRNAME%"=="" set DIRNAME=.
3030
set APP_BASE_NAME=%~n0
3131
set APP_HOME=%DIRNAME%
3232

33+
powershell -file "%APP_HOME%\gradle\gradlew-include.ps1"
34+
3335
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
3436
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
3537

Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
#
2+
# Licensed to the Apache Software Foundation (ASF) under one
3+
# or more contributor license agreements. See the NOTICE file
4+
# distributed with this work for additional information
5+
# regarding copyright ownership. The ASF licenses this file
6+
# to you under the Apache License, Version 2.0 (the
7+
# "License"); you may not use this file except in compliance
8+
# with the License. You may obtain a copy of the License at
9+
#
10+
# http://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# Unless required by applicable law or agreed to in writing,
13+
# software distributed under the License is distributed on an
14+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
# KIND, either express or implied. See the License for the
16+
# specific language governing permissions and limitations
17+
# under the License.
18+
19+
# Binary, especially executable binary files, shall not be in the source tree of any Apache project.
20+
# Gradle usually requires a `gradle-wrapper.jar` file to be present in the source tree.
21+
# This script, included from `gradlew` downloads the gradle-wrapper.jar if necessary and verifies its integrity.
22+
# The `gradle-wrapper.jar` and its checksum are downloaded from two well-known locations.
23+
24+
# This fixes an issue that Get-FileHash works fine "out of the box" on older Windows version, but fails on
25+
# newer ones. More info via https://github.com/actions/runner-images/issues/225
26+
Import-Module $PSHOME\Modules\Microsoft.PowerShell.Utility -Function Get-FileHash
27+
28+
# Extract the Gradle version from gradle-wrapper.properties using a regular expression.
29+
$GradlePropertiesPath = Join-Path -Path $env:APP_HOME -ChildPath "gradle\wrapper\gradle-wrapper.properties"
30+
if (-not (Test-Path $GradlePropertiesPath)) {
31+
Write-Error "Gradle properties file not found: $GradlePropertiesPath"
32+
exit 1
33+
}
34+
35+
# Read the content and use a regex match to capture the version number.
36+
# Bash regex: 's/^.*gradle-\([0-9.]*\)-[a-z]*.zip$/\1/'
37+
# PowerShell equivalent: Match the distributionUrl line, then capture the version group.
38+
$GRADLE_DIST_VERSION = (
39+
Select-String -Path $GradlePropertiesPath -CaseSensitive `
40+
-Pattern 'distributionUrl=' |
41+
ForEach-Object {
42+
if ($_ -match 'gradle-([\d.]+)-[a-z]+\.zip') {
43+
$Matches[1]
44+
}
45+
}
46+
)
47+
48+
# Define file paths
49+
$GRADLE_WRAPPER_SHA256 = Join-Path -Path $env:APP_HOME -ChildPath "gradle\wrapper\gradle-wrapper-$GRADLE_DIST_VERSION.jar.sha256"
50+
$GRADLE_WRAPPER_JAR = Join-Path -Path $env:APP_HOME -ChildPath "gradle\wrapper\gradle-wrapper.jar"
51+
52+
# Checksum Verification and Cleanup
53+
# If the checksum file does not exist, delete the wrapper jar.
54+
if (-not (Test-Path $GRADLE_WRAPPER_SHA256)) {
55+
Remove-Item -Path $GRADLE_WRAPPER_JAR -Force -ErrorAction SilentlyContinue
56+
}
57+
58+
# If the wrapper jar exists, verify its checksum.
59+
if (Test-Path $GRADLE_WRAPPER_JAR) {
60+
try {
61+
# Calculate the SHA256 hash of the existing wrapper JAR.
62+
# Get-FileHash is the native PowerShell equivalent for sha256sum.
63+
$JarHashObject = Get-FileHash -Path $GRADLE_WRAPPER_JAR -Algorithm SHA256
64+
$JAR_CHECKSUM = $JarHashObject.Hash.ToLower() # Hash is uppercase by default, convert to lowercase
65+
66+
# Read the expected checksum from the file.
67+
# Note: 'cat' is an alias for Get-Content in PowerShell.
68+
$EXPECTED = (Get-Content -Path $GRADLE_WRAPPER_SHA256 -Raw).Trim().ToLower()
69+
70+
# Compare checksums and delete files if they do not match.
71+
if ($JAR_CHECKSUM -ne $EXPECTED) {
72+
Write-Warning "Checksum mismatch. Deleting $GRADLE_WRAPPER_JAR and $GRADLE_WRAPPER_SHA256."
73+
Remove-Item -Path $GRADLE_WRAPPER_JAR -Force -ErrorAction SilentlyContinue
74+
Remove-Item -Path $GRADLE_WRAPPER_SHA256 -Force -ErrorAction SilentlyContinue
75+
}
76+
} catch {
77+
# Handle cases where Get-Content or Get-FileHash might fail (e.g., file deleted during operation).
78+
Write-Warning "Error during checksum verification: $($_.Exception.Message)"
79+
Remove-Item -Path $GRADLE_WRAPPER_JAR -Force -ErrorAction SilentlyContinue
80+
Remove-Item -Path $GRADLE_WRAPPER_SHA256 -Force -ErrorAction SilentlyContinue
81+
}
82+
}
83+
84+
# Download Checksum File
85+
# If the checksum file is missing, download it.
86+
if (-not (Test-Path $GRADLE_WRAPPER_SHA256)) {
87+
$Sha256DownloadUrl = "https://services.gradle.org/distributions/gradle-$GRADLE_DIST_VERSION-wrapper.jar.sha256"
88+
Write-Host "Downloading SHA256 checksum from $Sha256DownloadUrl"
89+
# Invoke-WebRequest is the native PowerShell equivalent for curl --location --output.
90+
try {
91+
Invoke-WebRequest -Uri $Sha256DownloadUrl -OutFile $GRADLE_WRAPPER_SHA256 -UseBasicParsing -ErrorAction Stop
92+
} catch {
93+
Write-Error "Failed to download SHA256 checksum: $($_.Exception.Message)"
94+
exit 1
95+
}
96+
}
97+
98+
# Download Wrapper JAR and Final Verification
99+
# If the wrapper jar is missing, download it.
100+
if (-not (Test-Path $GRADLE_WRAPPER_JAR)) {
101+
# The original script handles a case where the version might be like 'x.y' and needs 'x.y.0'.
102+
# Bash sed: 's/^\([0-9]*[.][0-9]*\)$/\1.0/'
103+
# PowerShell equivalent using regex replacement.
104+
$GRADLE_VERSION = $GRADLE_DIST_VERSION
105+
if ($GRADLE_DIST_VERSION -match '^\d+\.\d+$') {
106+
$GRADLE_VERSION = "$GRADLE_DIST_VERSION.0"
107+
}
108+
109+
$JarDownloadUrl = "https://raw.githubusercontent.com/gradle/gradle/v$GRADLE_VERSION/gradle/wrapper/gradle-wrapper.jar"
110+
Write-Host "Downloading wrapper JAR from $JarDownloadUrl"
111+
112+
try {
113+
Invoke-WebRequest -Uri $JarDownloadUrl -OutFile $GRADLE_WRAPPER_JAR -UseBasicParsing -ErrorAction Stop
114+
} catch {
115+
Write-Error "Failed to download wrapper JAR: $($_.Exception.Message)"
116+
exit 1
117+
}
118+
119+
# Verify the checksum of the newly downloaded JAR.
120+
try {
121+
$JarHashObject = Get-FileHash -Path $GRADLE_WRAPPER_JAR -Algorithm SHA256
122+
$JAR_CHECKSUM = $JarHashObject.Hash.ToLower()
123+
$EXPECTED = (Get-Content -Path $GRADLE_WRAPPER_SHA256 -Raw).Trim().ToLower()
124+
125+
if ($JAR_CHECKSUM -ne $EXPECTED) {
126+
# Critical failure: downloaded file does not match its expected checksum.
127+
Write-Error "Expected sha256 of the downloaded $GRADLE_WRAPPER_JAR does not match the downloaded sha256!"
128+
exit 1
129+
}
130+
} catch {
131+
Write-Error "Error during final checksum verification: $($_.Exception.Message)"
132+
exit 1
133+
}
134+
}

0 commit comments

Comments
 (0)