blob: 551b1596d0ceba5430fe9d6d8d37ae496d425fbd [file] [log] [blame] [edit]
#!/bin/sh
#
# This file simply redirects all passed arguments
# to org.checkerframework.framework.util.CheckerMain
#
mydir="$(dirname "$0")"
case $(uname -s) in
CYGWIN*)
mydir=$(cygpath -m "$mydir")
;;
esac
## Preserve quoting and spaces in arguments, which would otherwise be lost
## due to being passed through the shell twice.
# Unset IFS and use newline as arg separator to preserve spaces in args.
# shellcheck disable=SC2034
DUALCASE=1 # for MKS: make case statement case-sensitive (6709498)
saveIFS="$IFS"
nl='
'
for i in "$@" ; do
IFS=
# shellcheck disable=SC2027
case $i in
"-Xmn"*) jvmargs=$jvmargs$nl"'"$i"'" ;;
"-Xms"*) jvmargs=$jvmargs$nl"'"$i"'" ;;
"-Xmx"*) jvmargs=$jvmargs$nl"'"$i"'" ;;
*) args=$args$nl"'"$i"'" ;;
esac
IFS="$saveIFS"
done
# shellcheck disable=SC2086
eval "java" \
${jvmargs} \
"-jar" "${mydir}"/../dist/checker.jar \
${args}