mirror of
https://github.com/actions/setup-java.git
synced 2026-08-10 00:19:28 +08:00
d2bb5a81bf
* Initial plan * Normalize EA setup-java version output in verify-java.sh Co-authored-by: brunoborges <129743+brunoborges@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: brunoborges <129743+brunoborges@users.noreply.github.com> Co-authored-by: Bruno Borges <brborges@microsoft.com>
60 lines
1.9 KiB
Bash
Executable File
60 lines
1.9 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
if [ -z "$1" ]; then
|
|
echo "::error::Must supply java version argument"
|
|
exit 1
|
|
fi
|
|
|
|
if [ -z "$2" ]; then
|
|
echo "::error::Must supply java path argument"
|
|
exit 1
|
|
fi
|
|
|
|
EXPECTED_JAVA_VERSION=$1
|
|
EXPECTED_PATH=$2
|
|
SETUP_JAVA_VERSION=$3
|
|
REQUIRE_CONCRETE_VERSION=$4
|
|
|
|
EXPECTED_JAVA_VERSION=$(echo $EXPECTED_JAVA_VERSION | cut -d'+' -f1)
|
|
if [[ $EXPECTED_JAVA_VERSION == 8 ]] || [[ $EXPECTED_JAVA_VERSION == 8.* ]]; then
|
|
EXPECTED_JAVA_VERSION="1.${EXPECTED_JAVA_VERSION}"
|
|
fi
|
|
if [[ $EXPECTED_JAVA_VERSION == *-ea* ]]; then
|
|
EXPECTED_JAVA_VERSION=$(echo $EXPECTED_JAVA_VERSION | cut -d'-' -f1 | cut -d'.' -f1)
|
|
fi
|
|
|
|
ACTUAL_JAVA_VERSION="$(java -version 2>&1)"
|
|
echo "Found java version: $ACTUAL_JAVA_VERSION"
|
|
|
|
GREP_RESULT=$(echo $ACTUAL_JAVA_VERSION | grep -E "^(openjdk|java) version \"$EXPECTED_JAVA_VERSION")
|
|
if [ -z "$GREP_RESULT" ]; then
|
|
echo "::error::Unexpected version"
|
|
echo "Expected version: $EXPECTED_JAVA_VERSION"
|
|
exit 1
|
|
fi
|
|
|
|
if [ -n "$SETUP_JAVA_VERSION" ]; then
|
|
OUTPUT_JAVA_VERSION=$(echo "$SETUP_JAVA_VERSION" | cut -d'+' -f1)
|
|
if [[ $OUTPUT_JAVA_VERSION == *-ea* ]]; then
|
|
OUTPUT_JAVA_VERSION=$(echo "$OUTPUT_JAVA_VERSION" | cut -d'-' -f1 | cut -d'.' -f1)
|
|
fi
|
|
OUTPUT_GREP_RESULT=$(echo "$ACTUAL_JAVA_VERSION" | grep -E "^(openjdk|java) version \"$OUTPUT_JAVA_VERSION")
|
|
if [ -z "$OUTPUT_GREP_RESULT" ]; then
|
|
echo "::error::The version output does not match the installed Java version"
|
|
echo "Version output: $SETUP_JAVA_VERSION"
|
|
exit 1
|
|
fi
|
|
if [ "$REQUIRE_CONCRETE_VERSION" = "true" ] && [ "$OUTPUT_JAVA_VERSION" = "$EXPECTED_JAVA_VERSION" ]; then
|
|
echo "::error::Expected a concrete version output for a floating JDK"
|
|
echo "Version output: $SETUP_JAVA_VERSION"
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
if [ "$EXPECTED_PATH" != "$JAVA_HOME" ]; then
|
|
echo "::error::Unexpected path"
|
|
echo "Actual path: $JAVA_HOME"
|
|
echo "Expected path: $EXPECTED_PATH"
|
|
exit 1
|
|
fi
|