forked from runtimeverification/k
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathcheckJava
More file actions
executable file
·64 lines (58 loc) · 1.89 KB
/
checkJava
File metadata and controls
executable file
·64 lines (58 loc) · 1.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#!/usr/bin/env bash
MIN_VERSION="8"
echoerr() { echo "$@" 1>&2; }
if type -p java >/dev/null; then
# echo found java executable in PATH
_java=java
elif [[ -n "$JAVA_HOME" ]] && [[ -x "$JAVA_HOME/bin/java" ]]; then
# echo found java executable in JAVA_HOME
_java="$JAVA_HOME/bin/java"
else
echoerr -e "\033[1;31mError:\033[0m K requires Java $MIN_VERSION to run but Java was not detected."
echoerr "Please either add it to PATH or set the JAVA_HOME environment variable."
exit 1
fi
function setarch {
echo $version | grep '64-Bit' >& /dev/null
if [ $? -eq 0 ]; then
ARCH=64
else
ARCH=32
fi
}
KSERVER_SOCKET="${KSERVER_SOCKET:-$HOME/.kserver}"
KSERVER_INSTANCE="ng --nailgun-server local:$KSERVER_SOCKET/socket"
version=$($KSERVER_INSTANCE org.kframework.main.JavaVersion 2>&1)
if [ $? -eq 0 ]; then
setarch
JAVA="$KSERVER_INSTANCE"
else
version=$(ng org.kframework.main.JavaVersion 2>&1)
if [ $? -eq 0 ]; then
setarch
JAVA=ng
else
version=$("$_java" -version 2>&1)
setarch
if [ $ARCH -eq 64 ]; then
TIERED=-XX:+TieredCompilation
fi
export K_OPTS="-Xms64m -Xmx4096m -Xss32m $TIERED $K_OPTS"
JAVA="java -Dfile.encoding=UTF-8 -Djava.awt.headless=true $K_OPTS -ea -cp \"$(dirname "$BASH_SOURCE")/java/*\""
fi
fi
if [[ "$_java" ]]; then
version=$(echo $version | awk -F '"' '/version/ {print $2}')
# echo version "$version"
if [[ $version = "1."* ]]; then
version=$(echo $version | sed -e 's/1\.\([0-9]*\)\(.*\)/\1/; 1q')
else
version=$(echo $version | sed -e 's/\([0-9]*\)\(.*\)/\1/; 1q')
fi
if [[ "$version" -lt "$MIN_VERSION" ]]; then
echoerr -e "\033[1;31mError:\033[0m K requires Java $MIN_VERSION to run but the detected version is $version."
echoerr "Please either add Java $MIN_VERSION bin directory to the PATH or set the JAVA_HOME
environment variable accordingly."
exit 2
fi
fi