#!/bin/sh # # javawrapper.sh # # Allows to install several Java Virtual Machines # on the same system and use config file/or environment # variable to select wichever to use # # ---------------------------------------------------------------------------- # "THE BEER-WARE LICENSE" (Revision 42, (c) Poul-Henning Kamp): # Maxim Sobolev wrote this file. As long as you retain # this notice you can do whatever you want with this stuff. If we meet some # day, and you think this stuff is worth it, you can buy me a beer in return. # # Maxim Sobolev # ---------------------------------------------------------------------------- # # $FreeBSD$ # # MAINTAINER= sobomax@FreeBSD.org PREFIX="%%PREFIX%%" CONF="${PREFIX}/etc/javavms" IAM=`basename "${0}"` tryrunVM () { if [ -x "${1}" ]; then exec "${@}" fi /bin/echo "${IAM}: warning: couldn't start specified JavaVM - \"${1}\"" >&2 } registerVM () { if [ x"${1}" = x"" ]; then /bin/echo "Usage: ${IAM} path" exit fi if [ ! -e "${CONF}" ]; then /usr/bin/touch "${CONF}" fi VM=`/bin/echo "${1}" | sed 's|#.*||'` if [ ! -x ${VM} ]; then /bin/echo "${IAM}: warning: the specified JavaVM \"${VM}\" either not exists or not executable" >&2 fi /bin/ed "${CONF}" >/dev/null <&2 exit 1 fi if [ x"`grep ${1} ${CONF}`" = x"" ]; then /bin/echo "${IAM}: error: \"${1}\" JavaVM is not currently registered" exit 1 fi /bin/ed "${CONF}" >/dev/null <&2 exit 1 fi # Allow coment in the ${CONF} VMS=`/usr/bin/sed 's|#.*||' < "${CONF}" | uniq` # Finally try to run one of the ${VMS} for JAVAVM in ${VMS}; do tryrunVM "${JAVAVM}" "${@}"; done echo "${IAM}: error: no suitable JavaVMs found" >&2 exit 1