1#!/bin/sh 2# 3# Run the code in a classes directory on a host-local reference virtual 4# machine. The jar should contain a top-level class named Main to run. 5# 6# Options: 7# --quiet -- don't chatter 8# --debug -- wait for debugger to attach 9# --no-verify -- turn off verification (on by default) 10# --dev -- development mode 11 12msg() { 13 if [ "$QUIET" = "n" ]; then 14 echo "$@" 15 fi 16} 17 18DEBUG="n" 19QUIET="n" 20VERIFY="y" 21 22while true; do 23 if [ "x$1" = "x--quiet" ]; then 24 QUIET="y" 25 shift 26 elif [ "x$1" = "x--debug" ]; then 27 DEBUG="y" 28 shift 29 elif [ "x$1" = "x--no-verify" ]; then 30 VERIFY="n" 31 shift 32 elif [ "x$1" = "x--dev" ]; then 33 # not used; ignore 34 shift 35 elif [ "x$1" = "x--" ]; then 36 shift 37 break 38 elif expr "x$1" : "x--" >/dev/null 2>&1; then 39 echo "unknown option: $1" 1>&2 40 exit 1 41 else 42 break 43 fi 44done 45 46if [ "$VERIFY" = "y" ]; then 47 VERIFY_ARG="-Xverify:all" 48 msg "Performing verification" 49else 50 VERIFY_ARG="-Xverify:none" 51 msg "Skipping verification" 52fi 53 54if [ "$DEBUG" = "y" ]; then 55 PORT=8000 56 msg "Waiting for debugger to connect on localhost:$PORT" 57 DEBUG_OPTS="-agentlib:jdwp=transport=dt_socket,address=$PORT,server=y,suspend=y" 58fi 59 60${JAVA} ${DEBUG_OPTS} -ea ${VERIFY_ARG} -classpath classes Main "$@" 61