Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,17 @@ else
fi

# check jdk version
JAVA_VERSION=$($JAVA -version 2>&1 | awk 'NR==1{gsub(/"/,""); print $3}' | awk -F'_' '{print $1}')
if [[ $? -ne 0 || $JAVA_VERSION < $EXPECT_JDK_VERSION ]]; then
EXPECT_JDK_VERSION=11

# Extract and check Java version
JAVA_VERSION=$($JAVA -version 2>&1 | head -n1 | sed -n 's/.*version "\([0-9]*\)\..*/\1/p')

if [[ "$JAVA_VERSION" != "$EXPECT_JDK_VERSION" ]]; then
echo "Expected Java ${EXPECT_JDK_VERSION}, but found Java ${JAVA_VERSION} ✗" >> ${OUTPUT}
fi


if [[ $? -ne 0 || $MAJOR_VERSION -lt $EXPECT_JDK_VERSION ]]; then
echo "Please make sure that the JDK is installed and the version >= $EXPECT_JDK_VERSION" >> ${OUTPUT}
exit 1
fi
Comment on lines +91 to 94
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

duplicate logic?

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ function abs_path() {
cd -P "$(dirname "$SOURCE")" && pwd
}

REQUIRED_JAVA_VERSION="11"
BIN=$(abs_path)
TOP="$(cd "${BIN}"/../ && pwd)"
CONF="$TOP/conf"
Expand All @@ -47,9 +48,20 @@ cd "${TOP}" || exit

DEFAULT_JAVA_OPTIONS=""
JAVA_VERSION=$($JAVA -version 2>&1 | awk 'NR==1{gsub(/"/,""); print $3}' | awk -F'_' '{print $1}')
# TODO: better not string number compare, use `bc` like github.com/koalaman/shellcheck/wiki/SC2072
if [[ $? -eq 0 && $JAVA_VERSION > "1.9" ]]; then
DEFAULT_JAVA_OPTIONS="--add-exports=java.base/jdk.internal.reflect=ALL-UNNAMED"

# Extract the major version number for numerical comparison
if [[ $JAVA_VERSION == 1.* ]]; then
MAJOR_VERSION=$(echo $JAVA_VERSION | cut -d'.' -f2)
else
MAJOR_VERSION=$(echo $JAVA_VERSION | cut -d'.' -f1)
fi

# Compare with the required Java version
if [[ $? -eq 0 && $MAJOR_VERSION -ge $REQUIRED_JAVA_VERSION ]]; then
DEFAULT_JAVA_OPTIONS="--add-exports=java.base/jdk.internal.reflect=ALL-UNNAMED"
else
echo "Error: This application requires Java version $REQUIRED_JAVA_VERSION or higher."
exit 1
fi

echo "Initializing HugeGraph Store..."
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -129,11 +129,13 @@ else
JAVA="$JAVA_HOME/bin/java"
fi

# check jdk version
JAVA_VERSION=$($JAVA -version 2>&1 | awk 'NR==1{gsub(/"/,""); print $3}' | awk -F'_' '{print $1}')
if [[ $? -ne 0 || $JAVA_VERSION < $EXPECT_JDK_VERSION ]]; then
echo "Please make sure that the JDK is installed and the version >= $EXPECT_JDK_VERSION" >> ${OUTPUT}
exit 1
EXPECT_JDK_VERSION=11

# Extract and check Java version
JAVA_VERSION=$($JAVA -version 2>&1 | head -n1 | sed -n 's/.*version "\([0-9]*\)\..*/\1/p')

if [[ "$JAVA_VERSION" != "$EXPECT_JDK_VERSION" ]]; then
echo "Expected Java ${EXPECT_JDK_VERSION}, but found Java ${JAVA_VERSION} ✗" >> ${OUTPUT}
fi

# Set Java options
Expand Down
Loading