Messages revision 4ff40998447db64e675e85cda2bf3ae286b71529
cd348e325366620fe047edcc849e3c9424828599Peter Bray#!/bin/ksh
cd348e325366620fe047edcc849e3c9424828599Peter Bray
0ca9a2c194523c517c3aafe5758e217ac88d6baaLubos Kosco# Supported Environment Variables:
cd348e325366620fe047edcc849e3c9424828599Peter Bray# - OPENGROK_STANDARD_ENV Run Time Shell Environment (Shell Script)
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray# - OPENGROK_CONFIGURATION User Configuration (Shell Script)
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray#
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal# Supported Environment Variables for configuring the default setup:
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray# - OPENGROK_DISTRIBUTION_BASE Base Directory of the OpenGrok Distribution
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray# - containing the opengrok.jar
c577d2f6c082eaff9af5bc997d12f3d3bcef537cPeter Bray# - OPENGROK_JAR OpenGrok java package
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray# switch), default is DATA_ROOT/etc/ctags.config
2b024356b830395446c55f50f9f724a63612e578Lubos Kosco# - JAVA_HOME Full Path to Java Installation Root
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray# - JAVA Full Path to java binary (to enable 64bit JDK)
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray# - JAVA_OPTS Java options (e.g. for JVM memory increase view
c577d2f6c082eaff9af5bc997d12f3d3bcef537cPeter Bray
c577d2f6c082eaff9af5bc997d12f3d3bcef537cPeter BrayPROGNAME=`basename $0`
d2a02e104622a26dd90fa88f4f17188f2039809fPeter BrayDATE="${DATE:-date}"
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray
d2a02e104622a26dd90fa88f4f17188f2039809fPeter BraySCRIPT_DIRECTORY=`dirname "${0}"`
c577d2f6c082eaff9af5bc997d12f3d3bcef537cPeter BraySCRIPT_DIRECTORY=`cd "${SCRIPT_DIRECTORY}"; pwd`
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray
d2a02e104622a26dd90fa88f4f17188f2039809fPeter BrayUsage()
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray{
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray exec >&2
cd71fb134e037849c77364b50940b1870c4684ceVladimir Kotal echo ""
cd71fb134e037849c77364b50940b1870c4684ceVladimir Kotal echo "Usage: ${PROGNAME} [options] <text>"
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray echo ""
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray echo "[OPTIONS]:"
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray echo " -c|--class css class to apply for the message (default info)"
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray echo " -e|--expire human readable date string of expiration (default +5 min) (*)"
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray echo " -h|--help display this message and exit"
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal echo " -n|--type type of the message (default normal)"
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal echo " -p|--port remote port number of the application (default 2424)"
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray echo " -s|--server remote server of the application (default localhost)"
c577d2f6c082eaff9af5bc997d12f3d3bcef537cPeter Bray echo " -t|--tag tag the message/multiple options (default main)"
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal echo " -u|--expire-timestamp explicit UTC timestamp for expiration in sec"
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal echo " -v|--verbose verbose"
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal echo ""
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal echo " (*) see man date: option --date (requires GNU date - use DATE env variable)"
b17cb0705d90907337b3528aa7b8ed1700806f26Vladimir Kotal echo " css classes: success, info, warning, error"
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal echo " types: normal, abort"
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal echo " tags: main, <project name>"
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal echo " text: supports html markup"
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal echo ""
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal echo " Optional environment variables:"
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal echo " OPENGROK_CONFIGURATION - location of your configuration"
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal echo " e.g. $ OPENGROK_CONFIGURATION=/var/opengrok/myog.conf ${0} ... "
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal echo ""
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal echo " See the code for more information on configuration options /" \
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal "variables"
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal echo ""
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal}
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal
c577d2f6c082eaff9af5bc997d12f3d3bcef537cPeter BrayCommonInvocation()
c577d2f6c082eaff9af5bc997d12f3d3bcef537cPeter Bray{
c577d2f6c082eaff9af5bc997d12f3d3bcef537cPeter Bray ${DO} \
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray ${JAVA} \
0ca9a2c194523c517c3aafe5758e217ac88d6baaLubos Kosco ${JAVA_OPTS} \
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal ${JAVA_CLASSPATH:+-classpath} ${JAVA_CLASSPATH} \
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal ${MAIN_CLASS} \
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal "${@}"
cd348e325366620fe047edcc849e3c9424828599Peter Bray}
43dac746513591adbd09bc4f417feb385f4fd87eVladimir Kotal
cd348e325366620fe047edcc849e3c9424828599Peter BrayStdInvocation()
cd348e325366620fe047edcc849e3c9424828599Peter Bray{
cd348e325366620fe047edcc849e3c9424828599Peter Bray CommonInvocation \
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal ${MESSAGE_TYPE:+-m} ${MESSAGE_TYPE:+"$MESSAGE_TYPE"} \
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal ${MESSAGE_CLASS:+-c} ${MESSAGE_CLASS:+"$MESSAGE_CLASS"} \
43dac746513591adbd09bc4f417feb385f4fd87eVladimir Kotal ${MESSAGE_TAGS:+"${MESSAGE_TAGS[@]}"} \
f21b682cd9b414738a4f5a38b56f6682e537e1d2Trond Norbye ${MESSAGE_EXPIRE_TIMESTAMP:+-e} ${MESSAGE_EXPIRE_TIMESTAMP:+"$MESSAGE_EXPIRE_TIMESTAMP"} \
f21b682cd9b414738a4f5a38b56f6682e537e1d2Trond Norbye ${REMOTE_SERVER:+-s} ${REMOTE_SERVER:+"$REMOTE_SERVER"} \
f21b682cd9b414738a4f5a38b56f6682e537e1d2Trond Norbye ${REMOTE_PORT_NUM:+-p} ${REMOTE_PORT_NUM:+"$REMOTE_PORT_NUM"} \
f21b682cd9b414738a4f5a38b56f6682e537e1d2Trond Norbye ${MESSAGE_TEXT:+-t} ${MESSAGE_TEXT:+"$MESSAGE_TEXT"} \
f21b682cd9b414738a4f5a38b56f6682e537e1d2Trond Norbye "${@}"
f21b682cd9b414738a4f5a38b56f6682e537e1d2Trond Norbye}
f21b682cd9b414738a4f5a38b56f6682e537e1d2Trond Norbye
f21b682cd9b414738a4f5a38b56f6682e537e1d2Trond Norbye
f21b682cd9b414738a4f5a38b56f6682e537e1d2Trond NorbyeOneArgument()
f21b682cd9b414738a4f5a38b56f6682e537e1d2Trond Norbye{
f21b682cd9b414738a4f5a38b56f6682e537e1d2Trond Norbye if [ $# -gt 0 ]
cd348e325366620fe047edcc849e3c9424828599Peter Bray then
cd348e325366620fe047edcc849e3c9424828599Peter Bray echo "$1"
cd348e325366620fe047edcc849e3c9424828599Peter Bray fi
cd348e325366620fe047edcc849e3c9424828599Peter Bray}
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray
cd348e325366620fe047edcc849e3c9424828599Peter BrayExpectOption()
2cf31ec93bd5d8a2efeab511ce051da51e69aedaLubos Kosco{
2cf31ec93bd5d8a2efeab511ce051da51e69aedaLubos Kosco if [ $# -lt 2 ]
43dac746513591adbd09bc4f417feb385f4fd87eVladimir Kotal then
43dac746513591adbd09bc4f417feb385f4fd87eVladimir Kotal echo "Argument \"$1\" expects a value"
2cf31ec93bd5d8a2efeab511ce051da51e69aedaLubos Kosco exit 3
43dac746513591adbd09bc4f417feb385f4fd87eVladimir Kotal fi
43dac746513591adbd09bc4f417feb385f4fd87eVladimir Kotal}
2cf31ec93bd5d8a2efeab511ce051da51e69aedaLubos Kosco
0ca9a2c194523c517c3aafe5758e217ac88d6baaLubos KoscoInfo()
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray{
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray if $VERBOSE
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray then
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray echo "Configuration loaded"
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray echo -e "\tJAVA_HOME = "${JAVA_HOME}
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray if [ -n "$JAVA_HOME" ]
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray then
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray echo -e "\tJAVA = $JAVA_HOME/bin/java"
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray else
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray echo -e "\tJAVA ="
cd348e325366620fe047edcc849e3c9424828599Peter Bray fi
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray echo -e "\tJAVA_OPTS = "${JAVA_OPTS}
cd348e325366620fe047edcc849e3c9424828599Peter Bray echo -e "\tJAVA_CLASSPATH = "${JAVA_CLASSPATH}
cd348e325366620fe047edcc849e3c9424828599Peter Bray echo -e "\tOPENGROK_JAR = "${OPENGROK_JAR}
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray echo -e "\tOPENGROK_CONFIGURATION = "${OPENGROK_CONFIGURATION}
cd348e325366620fe047edcc849e3c9424828599Peter Bray echo -e "\tOPENGROK_STANDARD_ENV = "${OPENGROK_STANDARD_ENV}
cd348e325366620fe047edcc849e3c9424828599Peter Bray echo -e "\tOPENGROK_DISTRIBUTION_BASE = "${OPENGROK_DISTRIBUTION_BASE}
cd348e325366620fe047edcc849e3c9424828599Peter Bray echo -e "\tOPENGROK_JAR = "${OPENGROK_JAR}
cd348e325366620fe047edcc849e3c9424828599Peter Bray echo ""
cd348e325366620fe047edcc849e3c9424828599Peter Bray echo "Files used"
cd348e325366620fe047edcc849e3c9424828599Peter Bray echo -e "\tDATE = "${DATE:-$DATE}
cd348e325366620fe047edcc849e3c9424828599Peter Bray echo -e "\tREMOTE_SERVER = "${REMOTE_SERVER:-$REMOTE_SERVER}
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray echo -e "\tREMOTE_PORT_NUM = "${REMOTE_PORT_NUM:-$REMOTE_PORT_NUM}
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray echo -e "\tMESSAGE_TYPE = "${MESSAGE_TYPE:-$MESSAGE_TYPE}
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray echo -e "\tMESSAGE_TAGS = "${MESSAGE_TAGS[*]:-${MESSAGE_TAGS[*]}}
0ca9a2c194523c517c3aafe5758e217ac88d6baaLubos Kosco echo -e "\tMESSAGE_CLASS = "${MESSAGE_CLASS:-$MESSAGE_CLASS}
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray echo -e "\tMESSAGE_EXPIRE = "${MESSAGE_EXPIRE:-$MESSAGE_EXPIRE}
0ca9a2c194523c517c3aafe5758e217ac88d6baaLubos Kosco echo -e "\tMESSAGE_EXPIRE_TIMESTAMP = "${MESSAGE_EXPIRE_TIMESTAMP:-$MESSAGE_EXPIRE_TIMESTAMP}
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray echo -e "\tMESSAGE_TEXT = "${MESSAGE_TEXT:-$MESSAGE_TEXT}
5762c9f28c2246777be0e9d49cb29d9c0f49146dLubos Kosco echo ""
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray fi
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray}
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter BrayProgress()
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray{
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray if $VERBOSE
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray then
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray echo "$@"
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray fi
b34561d2c3d92fac37dbced05ba6a8738e3d20e9Lubos Kosco}
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray# Find and load relevant configuration
5e6c91d7e77062129cd0b6ac8aaa546dff216419Lubos Kosco#
c83dfde6b364917fa8ed28142d509a7c29a4da68Vladimir Kotal# Taken (and modified) from original OpenGrok shell wrapper
c83dfde6b364917fa8ed28142d509a7c29a4da68Vladimir Kotal#
d2a02e104622a26dd90fa88f4f17188f2039809fPeter BraySetupInstanceConfiguration()
cd348e325366620fe047edcc849e3c9424828599Peter Bray{
cd348e325366620fe047edcc849e3c9424828599Peter Bray VERBOSE="${VERBOSE:-false}"
cd348e325366620fe047edcc849e3c9424828599Peter Bray
cd348e325366620fe047edcc849e3c9424828599Peter Bray if [ -f "${OPENGROK_STANDARD_ENV}" ]
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray then
cd348e325366620fe047edcc849e3c9424828599Peter Bray Progress "Loading ${OPENGROK_STANDARD_ENV} ..."
cd348e325366620fe047edcc849e3c9424828599Peter Bray . "${OPENGROK_STANDARD_ENV}"
cd348e325366620fe047edcc849e3c9424828599Peter Bray fi
cd348e325366620fe047edcc849e3c9424828599Peter Bray
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray if [ -n "${OPENGROK_CONFIGURATION}" -a -f "${OPENGROK_CONFIGURATION}" ]
cd348e325366620fe047edcc849e3c9424828599Peter Bray then
cd348e325366620fe047edcc849e3c9424828599Peter Bray # Load the Local OpenGrok Configuration Environment
cd348e325366620fe047edcc849e3c9424828599Peter Bray Progress "Loading ${OPENGROK_CONFIGURATION} ..."
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray . "${OPENGROK_CONFIGURATION}"
cd348e325366620fe047edcc849e3c9424828599Peter Bray fi
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray
cd348e325366620fe047edcc849e3c9424828599Peter Bray if [ -z "${OPENGROK_DISTRIBUTION_BASE}" ]
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray then
cd348e325366620fe047edcc849e3c9424828599Peter Bray if [ -d "${SCRIPT_DIRECTORY}/../dist" -a \
c842732324ee4c74ede17887ad1f0dcdc4364a2cLubos Kosco -f "${SCRIPT_DIRECTORY}/../dist/opengrok.jar" -a \
c842732324ee4c74ede17887ad1f0dcdc4364a2cLubos Kosco -f "${SCRIPT_DIRECTORY}/../dist/source.war" \
c842732324ee4c74ede17887ad1f0dcdc4364a2cLubos Kosco ]
d7c1415de39f4b07c85828f49cd1ee7a2a19eb9eLubos Kosco then
c842732324ee4c74ede17887ad1f0dcdc4364a2cLubos Kosco # Handle Developer Build Environments
c842732324ee4c74ede17887ad1f0dcdc4364a2cLubos Kosco OPENGROK_DISTRIBUTION_BASE="${SCRIPT_DIRECTORY}/../dist"
c842732324ee4c74ede17887ad1f0dcdc4364a2cLubos Kosco else
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray # Handle Binary Distributions
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray OPENGROK_DISTRIBUTION_BASE="${SCRIPT_DIRECTORY}/../lib"
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray fi
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray fi
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray
3aa0947feb67d3e8292d84776638be98dd97fdc3Lubos Kosco # REQUIRED: Java Home
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray JAVA_HOME="${JAVA_HOME:-`FindJavaHome`}"
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray # REQUIRED: Java Virtual Machine
cd348e325366620fe047edcc849e3c9424828599Peter Bray JAVA="${JAVA:-$JAVA_HOME/bin/java}"
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray
cd348e325366620fe047edcc849e3c9424828599Peter Bray # REQUIRED: OpenGrok library
cd348e325366620fe047edcc849e3c9424828599Peter Bray OPENGROK_JAR="${OPENGROK_JAR:-${OPENGROK_DISTRIBUTION_BASE}/opengrok.jar}"
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray
cd348e325366620fe047edcc849e3c9424828599Peter Bray JAVA_CLASSPATH="$CLASSPATH"
cd348e325366620fe047edcc849e3c9424828599Peter Bray JAVA_CLASSPATH="${JAVA_CLASSPATH}:${OPENGROK_JAR}"
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray JAVA_OPTS="${JAVA_OPTS:--Xmx2048m}"
cd348e325366620fe047edcc849e3c9424828599Peter Bray MAIN_CLASS="org.opensolaris.opengrok.configuration.messages.Messages"
cd348e325366620fe047edcc849e3c9424828599Peter Bray
cd348e325366620fe047edcc849e3c9424828599Peter Bray
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray REMOTE_SERVER="localhost"
cd348e325366620fe047edcc849e3c9424828599Peter Bray REMOTE_PORT_NUM=2424
56d93b0c761868f813ac0bc0b5bc21a7a9fefd89Vladimir Kotal MESSAGE_TYPE="normal"
56d93b0c761868f813ac0bc0b5bc21a7a9fefd89Vladimir Kotal typeset -a MESSAGE_TAGS
4f3c0816485669143aa54f1c6461fcb47cf5bc5cVladimir Kotal MESSAGE_CLASS="info"
4f3c0816485669143aa54f1c6461fcb47cf5bc5cVladimir Kotal MESSAGE_EXPIRE="+5 min"
2b024356b830395446c55f50f9f724a63612e578Lubos Kosco unset MESSAGE_TEXT
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray VERBOSE=false
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray}
5762c9f28c2246777be0e9d49cb29d9c0f49146dLubos Kosco
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray# Find java home based on your system information
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray#
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray# Taken from original OpenGrok shell wrapper
5762c9f28c2246777be0e9d49cb29d9c0f49146dLubos Kosco#
d2a02e104622a26dd90fa88f4f17188f2039809fPeter BrayFindJavaHome()
d6ee3934a24d8ccc0e4bb478405d8e5f6a35825dLubos Kosco{
477c09a2656e6a2c1075425ad81e61d594164fa9Lubos Kosco if [ -x "/bin/uname" ]; then
c842732324ee4c74ede17887ad1f0dcdc4364a2cLubos Kosco OS_NAME="`/bin/uname -s`"
d6ee3934a24d8ccc0e4bb478405d8e5f6a35825dLubos Kosco OS_VERSION="`/bin/uname -r`"
c842732324ee4c74ede17887ad1f0dcdc4364a2cLubos Kosco elif [ -x "/usr/bin/uname" ]; then
cd348e325366620fe047edcc849e3c9424828599Peter Bray OS_NAME="`/usr/bin/uname -s`"
b17cb0705d90907337b3528aa7b8ed1700806f26Vladimir Kotal OS_VERSION="`/usr/bin/uname -r`"
d6ee3934a24d8ccc0e4bb478405d8e5f6a35825dLubos Kosco else
b17cb0705d90907337b3528aa7b8ed1700806f26Vladimir Kotal echo "Cannot determine operating system version"
8f8c3f4555e5aa3160f03f2e9c55ddbd3381357bLubos Kosco exit 3
d6ee3934a24d8ccc0e4bb478405d8e5f6a35825dLubos Kosco fi
8f8c3f4555e5aa3160f03f2e9c55ddbd3381357bLubos Kosco
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray javaHome=""
d70dc22c6dce3f498251b0873638d1fea0e644a3Lubos Kosco case "${OS_NAME}:${OS_VERSION}" in
477c09a2656e6a2c1075425ad81e61d594164fa9Lubos Kosco SunOS:5.10) javaHome="/usr/jdk/instances/jdk1.7.0" ;;
d70dc22c6dce3f498251b0873638d1fea0e644a3Lubos Kosco SunOS:5.11) javaHome="/usr/jdk/latest" ;;
d70dc22c6dce3f498251b0873638d1fea0e644a3Lubos Kosco SunOS:5.12) javaHome="/usr/jdk/latest" ;;
d70dc22c6dce3f498251b0873638d1fea0e644a3Lubos Kosco Darwin:*) javaHome=`/usr/libexec/java_home` ;;
d70dc22c6dce3f498251b0873638d1fea0e644a3Lubos Kosco Linux:*)
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray if [ -f /etc/alternatives/java ]
2cf31ec93bd5d8a2efeab511ce051da51e69aedaLubos Kosco then
2cf31ec93bd5d8a2efeab511ce051da51e69aedaLubos Kosco javaHome=`ls -l /etc/alternatives/java | cut -f 2 -d \> `
2cf31ec93bd5d8a2efeab511ce051da51e69aedaLubos Kosco javaHome=`dirname $javaHome`
2cf31ec93bd5d8a2efeab511ce051da51e69aedaLubos Kosco javaHome=`dirname $javaHome`
2cf31ec93bd5d8a2efeab511ce051da51e69aedaLubos Kosco fi
2cf31ec93bd5d8a2efeab511ce051da51e69aedaLubos Kosco ;;
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray esac
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray if [ -z "${javaHome}" ]
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray then
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray echo "Unable to determine Java Home" \
5762c9f28c2246777be0e9d49cb29d9c0f49146dLubos Kosco "for ${OS_NAME} ${OS_VERSION}"
e87f836e908f8279021f79c8f7bcef98e99d126eLubos Kosco exit 3
e87f836e908f8279021f79c8f7bcef98e99d126eLubos Kosco fi
e87f836e908f8279021f79c8f7bcef98e99d126eLubos Kosco
e87f836e908f8279021f79c8f7bcef98e99d126eLubos Kosco if [ ! -d "${javaHome}" ]
e87f836e908f8279021f79c8f7bcef98e99d126eLubos Kosco then
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray echo "Missing Java Home ${javaHome}"
5762c9f28c2246777be0e9d49cb29d9c0f49146dLubos Kosco exit 3
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray fi
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal echo "${javaHome}"
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal}
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotalif [ $# -eq 0 ]
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotalthen
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal echo "Bad syntax. Expecting some arguments."
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal echo "Maybe try --help option?"
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal exit 3
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotalfi
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir KotalSetupInstanceConfiguration
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Braywhile [ $# -gt 0 ]
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Braydo
cd71fb134e037849c77364b50940b1870c4684ceVladimir Kotal opt="$1"
5762c9f28c2246777be0e9d49cb29d9c0f49146dLubos Kosco case $opt in
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray -c|--class)
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray ExpectOption "$@"
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray shift
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray MESSAGE_CLASS=$(OneArgument "$@")
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray ;;
2b024356b830395446c55f50f9f724a63612e578Lubos Kosco -e|--expire)
2b024356b830395446c55f50f9f724a63612e578Lubos Kosco ExpectOption "$@"
2b024356b830395446c55f50f9f724a63612e578Lubos Kosco shift
2b024356b830395446c55f50f9f724a63612e578Lubos Kosco MESSAGE_EXPIRE=$(OneArgument "$@")
2b024356b830395446c55f50f9f724a63612e578Lubos Kosco ;;
0ca9a2c194523c517c3aafe5758e217ac88d6baaLubos Kosco -h|--help)
cd348e325366620fe047edcc849e3c9424828599Peter Bray Usage
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray exit 0
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray ;;
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray -n|--type)
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray ExpectOption "$@"
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray shift
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray MESSAGE_TYPE=$(OneArgument "$@")
2b024356b830395446c55f50f9f724a63612e578Lubos Kosco ;;
2b024356b830395446c55f50f9f724a63612e578Lubos Kosco -p|--port)
2b024356b830395446c55f50f9f724a63612e578Lubos Kosco ExpectOption "$@"
2b024356b830395446c55f50f9f724a63612e578Lubos Kosco shift
2b024356b830395446c55f50f9f724a63612e578Lubos Kosco REMOTE_PORT_NUM=$(OneArgument "$@")
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray ;;
cd348e325366620fe047edcc849e3c9424828599Peter Bray -s|--server)
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray ExpectOption "$@"
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray shift
4e854c69a0484765dcd27b0e837898c8b6969beaTrond Norbye REMOTE_SERVER=$(OneArgument "$@")
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray ;;
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray -t|--tag)
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray ExpectOption "$@"
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray shift
477c09a2656e6a2c1075425ad81e61d594164fa9Lubos Kosco MESSAGE_TAGS+=(-g "$(OneArgument "$@")")
477c09a2656e6a2c1075425ad81e61d594164fa9Lubos Kosco ;;
477c09a2656e6a2c1075425ad81e61d594164fa9Lubos Kosco -u|--expire-timestamp)
477c09a2656e6a2c1075425ad81e61d594164fa9Lubos Kosco ExpectOption "$@"
cd348e325366620fe047edcc849e3c9424828599Peter Bray shift
cd348e325366620fe047edcc849e3c9424828599Peter Bray MESSAGE_EXPIRE_TIMESTAMP=$(OneArgument "$@")
cd348e325366620fe047edcc849e3c9424828599Peter Bray ;;
cd348e325366620fe047edcc849e3c9424828599Peter Bray -v|--verbose)
cd348e325366620fe047edcc849e3c9424828599Peter Bray VERBOSE=true
cd348e325366620fe047edcc849e3c9424828599Peter Bray ;;
cd348e325366620fe047edcc849e3c9424828599Peter Bray -*)
cd348e325366620fe047edcc849e3c9424828599Peter Bray echo "Uknown option \"$opt\"" && Usage && exit 5
cd348e325366620fe047edcc849e3c9424828599Peter Bray ;;
cd348e325366620fe047edcc849e3c9424828599Peter Bray *)
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray if [ $# -ne 1 ]
cd348e325366620fe047edcc849e3c9424828599Peter Bray then
cd348e325366620fe047edcc849e3c9424828599Peter Bray echo "Bad syntax. The text should be the last argument."
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray echo "Stopped near \"$@\"."
c577d2f6c082eaff9af5bc997d12f3d3bcef537cPeter Bray echo "Check the quotes around the arguments?"
477c09a2656e6a2c1075425ad81e61d594164fa9Lubos Kosco exit 3
4e854c69a0484765dcd27b0e837898c8b6969beaTrond Norbye fi
c577d2f6c082eaff9af5bc997d12f3d3bcef537cPeter Bray if [ "x$MESSAGE_TEXT" = "x" ]
c577d2f6c082eaff9af5bc997d12f3d3bcef537cPeter Bray then
8f8c3f4555e5aa3160f03f2e9c55ddbd3381357bLubos Kosco MESSAGE_TEXT="$@"
d0767114e1a949e4a42358f5aeaa08590b87cd80Trond Norbye break # exit the while cycle
3a5046f0538ba9fb3a9429199544a9f4b93d9a4dLubos Kosco else
3a5046f0538ba9fb3a9429199544a9f4b93d9a4dLubos Kosco echo "Bad syntax. The text must be specified only once."
3a5046f0538ba9fb3a9429199544a9f4b93d9a4dLubos Kosco exit 3
3a5046f0538ba9fb3a9429199544a9f4b93d9a4dLubos Kosco fi
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray ;;
cd348e325366620fe047edcc849e3c9424828599Peter Bray esac
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray shift
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Braydone
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray[ -z "$MESSAGE_TEXT" ] && echo "The text of the message must be specified" && Usage && exit 3
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray[ -z "$MESSAGE_EXPIRE" ] && echo "The expire must be set" && Usage && exit 5
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Brayif [ -z "$MESSAGE_EXPIRE_TIMESTAMP" ]
0ca9a2c194523c517c3aafe5758e217ac88d6baaLubos Koscothen
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray MESSAGE_EXPIRE_TIMESTAMP=`"$DATE" --date="$MESSAGE_EXPIRE" +"%s"`
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray if [ $? -ne 0 ]
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray then
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray echo "The date couldn't parse the input '$MESSAGE_EXPIRE'."
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray echo "Consider installing gnu date and setting env variable DATE."
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray exit 5;
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray fi
0ca9a2c194523c517c3aafe5758e217ac88d6baaLubos Koscofi
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray[ -z "${MESSAGE_TAGS[*]}" ] && MESSAGE_TAGS=(-g 'main')
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray
d2a02e104622a26dd90fa88f4f17188f2039809fPeter BrayInfo
d2a02e104622a26dd90fa88f4f17188f2039809fPeter BrayStdInvocation
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray