Groups revision b4b45a7526fef6a514d6c746d80a05f898ba573d
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger#!/bin/sh
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger# Supported Environment Variables:
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger# - OPENGROK_STANDARD_ENV Run Time Shell Environment (Shell Script)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger# - OPENGROK_CONFIGURATION User Configuration (Shell Script)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger#
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger# Supported Environment Variables for configuring the default setup:
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger# - OPENGROK_DISTRIBUTION_BASE Base Directory of the OpenGrok Distribution
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger# - determining the opengrok.jar
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger# - OPENGROK_INSTANCE_BASE Base Directory of the OpenGrok User Data Area
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger# - determining the configuration
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger# switch), default is DATA_ROOT/etc/ctags.config
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger# - JAVA_HOME Full Path to Java Installation Root
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger# - JAVA Full Path to java binary (to enable 64bit JDK)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger# - JAVA_OPTS Java options (e.g. for JVM memory increase view
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger# - READ_XML_CONFIGURATION file with read only configuration
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger# - determining the configuration
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof TulingerPROGNAME=`basename $0`
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof TulingerUsage()
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger{
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger exec >&2
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo ""
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "Usage: ${PROGNAME} <add|delete|match|list|help> [--help] [--verbose] [-d]"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo " ${PROGNAME} add <name> <pattern>"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo " ${PROGNAME} delete <name>"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo " ${PROGNAME} match <project name>"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo ""
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo " The script searches for the configuration in"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo " OPENGROK_INSTANCE_BASE/etc/configuration.xml or"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo " READ_XML_CONFIGURATION files or"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo " you can use the -i option."
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo " When no such file exists it uses an empty configuration."
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo ""
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo " Optional environment variables:"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo " OPENGROK_CONFIGURATION - location of your configuration"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo " e.g. $ OPENGROK_CONFIGURATION=/var/opengrok/myog.conf ${0} ... "
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo ""
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo " See the code for more information on configuration options /" \
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger "variables"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo ""
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger}
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof TulingerCommonInvocation()
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger{
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ${DO} \
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ${JAVA} \
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ${JAVA_OPTS} \
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ${JAVA_CLASSPATH:+-classpath} ${JAVA_CLASSPATH} \
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ${MAIN_CLASS} \
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ${INPUT_FILE:+-i} ${INPUT_FILE:+"$INPUT_FILE"} \
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ${OUTPUT_FILE:+-o} ${OUTPUT_FILE:+"$OUTPUT_FILE"} \
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger "${@}"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger}
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof TulingerStdInvocation()
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger{
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger CommonInvocation \
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ${NAME:+-n} ${NAME:+"$NAME"} \
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ${PATTERN:+-r} ${PATTERN:+"$PATTERN"} \
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ${PARENT:+-p} ${PARENT:+"$PARENT"} \
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ${MATCH:+-m} ${MATCH:+"$MATCH"} \
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ${LIST:+-l} \
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ${DELETE:+-d} \
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger "${@}"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger}
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof TulingerCheckInputFile()
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger{
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger if [ -n "$INPUT_FILE" ] && ( [ ! -e "$INPUT_FILE" ] || [ ! -f "$INPUT_FILE" ] )
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger then
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "input file does not exist or is not readable"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger LocalUsage
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger exit 5
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger fi
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger}
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof TulingerOneArgument()
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger{
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger if [ $# -gt 0 ]
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger then
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "$1"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger fi
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger}
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof TulingerExpectOption()
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger{
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger if [ $# -lt 2 ]
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger then
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "Argument \"$1\" expects a value"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger exit 3
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger fi
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger}
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof TulingerInfo()
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger{
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger if $VERBOSE
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger then
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "Configuration loaded"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "\tJAVA_HOME = "${JAVA_HOME}
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger if [ -n "$JAVA_HOME" ]
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger then
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "\tJAVA = $JAVA_HOME/bin/java"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger else
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "\tJAVA ="
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger fi
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "\tJAVA_OPTS = "${JAVA_OPTS}
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "\tJAVA_CLASSPATH = "${JAVA_CLASSPATH}
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "\tOPENGROK_JAR = "${OPENGROK_JAR}
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "\tOPENGROK_CONFIGURATION = "${OPENGROK_CONFIGURATION}
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "\tOPENGROK_STANDARD_ENV = "${OPENGROK_STANDARD_ENV}
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "\tOPENGROK_INSTANCE_BASE = "${OPENGROK_INSTANCE_BASE}
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "\tOPENGROK_DISTRIBUTION_BASE = "${OPENGROK_DISTRIBUTION_BASE}
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "\tREAD_XML_CONFIGURATION = "${READ_XML_CONFIGURATION}
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "\tOPENGROK_JAR = "${OPENGROK_JAR}
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo ""
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "Files used"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "\tINPUT_FILE = "${INPUT_FILE:-empty configuration}
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "\tOUTPUT_FILE = "${OUTPUT_FILE:-standard output}
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "\tPATTERN = "${PATTERN:-$PATTERN}
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "\tNAME = "${NAME:-$NAME}
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "\tPARENT = "${PARENT:-$PARENT}
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo ""
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger fi
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger}
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof TulingerProgress()
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger{
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger if $VERBOSE
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger then
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "$@"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger fi
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger}
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof TulingerMatch ()
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger{
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger LocalUsage()
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger {
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "Usage:"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "${PROGNAME} match <project name> [-i|--input <file>] [-v|--verbose] [-d]"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo ""
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo " Lists which groups would match the project name (description)"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo ""
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "Options:"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo " -d option performs dry run with verbose mode"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo " -i option can be used for specifying the input file"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger }
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger while [ $# -gt 0 ]
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger do
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger opt="$1"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger case $opt in
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger -i|--input)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ExpectOption "$@"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger shift
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger INPUT_FILE=$(OneArgument "$@")
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger -d)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger DO=echo
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger VERBOSE=true
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger -v|--verbose)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger VERBOSE=true
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger -h|--help)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger LocalUsage
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger exit 0
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger -*)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "Uknown option \"$opt\"" && LocalUsage && exit 5
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger *)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger if [ "x$MATCH" = "x" ]
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger then
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger MATCH=$(OneArgument "$@")
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger else
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "match must be specified only once" && LocalUsage && exit 5
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger fi
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger esac
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger shift
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger done
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger [ -z "$MATCH" ] && echo "project name must be specified" && LocalUsage && exit 5
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger CheckInputFile
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger Info
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger StdInvocation
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger}
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof TulingerList ()
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger{
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger LocalUsage()
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger {
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "Usage:"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "${PROGNAME} list [-i|--input <file>] [-v|--verbose] [-d]"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo ""
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo " Lists the current configuration"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo ""
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "Options:"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo " -d option performs dry run with verbose mode"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo " -i option can be used for specifying the input file"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger }
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger while [ $# -gt 0 ]
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger do
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger opt="$1"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger case $opt in
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger -i|--input)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ExpectOption "$@"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger shift
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger INPUT_FILE=$(OneArgument "$@")
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger -d)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger DO=echo
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger VERBOSE=true
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger -v|--verbose)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger VERBOSE=true
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger -h|--help)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger LocalUsage
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger exit 0
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger -*)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "Uknown option \"$opt\"" && LocalUsage && exit 5
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger *)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "this requires no other parameter"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger LocalUsage
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger exit 5
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger esac
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger shift
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger done
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger LIST=true
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger CheckInputFile
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger Info
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger StdInvocation
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger}
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof TulingerDelete ()
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger{
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger LocalUsage()
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger {
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "Usage:"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "${PROGNAME} delete <name> [-i|--input <file>] [-o|--output <file>] [-l] [-v|--verbose] [-u|--update] [-d]"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo ""
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo " Deletes a group with given name from the input configuration"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo ""
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "Options:"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo " -d option performs dry run with verbose mode"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo " -i option can be used for specifying the input file"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo " -l option prints the overview to stdout (still -o can be used)"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo " -o option can be used for saving the result"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo " -u option forces the script to use same output file as input file (overwrite)"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger }
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger while [ $# -gt 0 ]
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger do
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger opt="$1"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger case $opt in
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger -i|--input)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ExpectOption "$@"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger shift
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger INPUT_FILE=$(OneArgument "$@")
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger -o|--output)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ExpectOption "$@"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger shift
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger OUTPUT_FILE=$(OneArgument "$@")
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger -u|--update)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger OUTPUT_FILE="$INPUT_FILE"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger -l|--list)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger LIST=true
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger -d)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger DO=echo
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger VERBOSE=true
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger -v|--verbose)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger VERBOSE=true
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger -h|--help)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger LocalUsage
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger exit 0
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger -*)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "Uknown option \"$opt\"" && LocalUsage && exit 5
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger *)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger if [ "x$NAME" = "x" ]
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger then
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger NAME=$(OneArgument "$@")
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger else
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "name must be specified only once" && LocalUsage && exit 5
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger fi
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger esac
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger shift
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger done
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger [ -z "$NAME" ] && echo "name must be specified" && LocalUsage && exit 5
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger DELETE=true
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger CheckInputFile
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger Info
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger StdInvocation
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger}
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof TulingerAdd ()
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger{
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger LocalUsage()
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger {
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "Usage:"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "${PROGNAME} add <name> <pattern> [-i|--input <file>] [-o|--output <file>] [-l] [-v|--verbose] [-u|--update] [-d]"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo ""
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo " Adds or updates a group with given name"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo " 1) If given group name already exists, the pattern is updated."
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo " 2) If given group name does not exist, the group is inserted"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo " 3) If the parent group exists, the group is inserted as its child"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo ""
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "Options:"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo " -d option performs dry run with verbose mode"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo " -i option can be used for specifying the input file"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo " -l option prints the overview to stdout (still -o can be used)"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo " -o option can be used for saving the result"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo " -u option forces the script to use same output file as input file (overwrite)"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger }
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger NAME=""
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger PATTERN=""
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger while [ $# -gt 0 ]
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger do
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger opt="$1"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger case $opt in
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger -i|--input)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ExpectOption "$@"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger shift
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger INPUT_FILE=$(OneArgument "$@")
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger -o|--output)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ExpectOption "$@"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger shift
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger OUTPUT_FILE=$(OneArgument "$@")
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger -p|--parent)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ExpectOption "$@"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger shift
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger PARENT=$(OneArgument "$@")
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger -u|--update)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger OUTPUT_FILE="$INPUT_FILE"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger -l|--list)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger LIST=true
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger -d)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger DO=echo
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger VERBOSE=true
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger -v|--verbose)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger VERBOSE=true
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger -h|--help)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger LocalUsage
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger exit 0
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger -*)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "Uknown option \"$opt\"" && LocalUsage && exit 5
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger *)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger if [ "x$NAME" = "x" ]
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger then
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger NAME=$(OneArgument "$@")
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger elif [ "x$PATTERN" = "x" ]
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger then
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger PATTERN=$(OneArgument "$@")
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger else
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "name and pattern must be specified only once" && LocalUsage && exit 5
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger fi
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger esac
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger shift
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger done
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger [ -z "$NAME" ] && echo "name must be specified" && LocalUsage && exit 5
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger [ -z "$PATTERN" ] && echo "pattern must be specified" && LocalUsage && exit 5
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger CheckInputFile
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger Info
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger StdInvocation
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger}
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger# Find and load relevant configuration
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger#
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger# Taken (and modified) from original OpenGrok shell wrapper
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger#
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof TulingerSetupInstanceConfiguration()
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger{
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger VERBOSE="${VERBOSE:-false}"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger if [ -f "${OPENGROK_STANDARD_ENV}" ]
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger then
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger Progress "Loading ${OPENGROK_STANDARD_ENV} ..."
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger . "${OPENGROK_STANDARD_ENV}"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger fi
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger if [ -n "${OPENGROK_CONFIGURATION}" -a -f "${OPENGROK_CONFIGURATION}" ]
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger then
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger # Load the Local OpenGrok Configuration Environment
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger Progress "Loading ${OPENGROK_CONFIGURATION} ..."
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger . "${OPENGROK_CONFIGURATION}"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger fi
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger # REQUIRED: Java Home
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger JAVA_HOME="${JAVA_HOME:-`FindJavaHome`}"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger # REQUIRED: Java Virtual Machine
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger JAVA="${JAVA:-$JAVA_HOME/bin/java}"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger if [ -n "$OPENGROK_DISTRIBUTION_BASE" ] && [ -f "$OPENGROK_DISTRIBUTION_BASE/dist/opengrok.jar" ]
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger then
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger OPENGROK_JAR="$OPENGROK_DISTRIBUTION_BASE/dist/opengrok.jar"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger fi
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger if [ -z "$OPENGROK_JAR" ] && [ -f "../dist/opengrok.jar" ]
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger then
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger OPENGROK_JAR="${OPENGROK_JAR:-../dist/opengrok.jar}"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger elif [ -z "$OPENGROK_JAR" ] && [ -f "dist/opengrok.jar" ]
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger then
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger OPENGROK_JAR="${OPENGROK_JAR:-dist/opengrok.jar}"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger fi
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger JAVA_CLASSPATH="$CLASSPATH"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger JAVA_CLASSPATH="${JAVA_CLASSPATH}:${OPENGROK_JAR}"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger JAVA_OPTS="${JAVA_OPTS:--Xmx2048m}"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger MAIN_CLASS="org.opensolaris.opengrok.configuration.Groups"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger unset NAME
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger unset PATTERN
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger unset PARENT
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger unset DELETE
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger unset MATCH
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger unset LIST
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger if [ -n "$OPENGROK_INSTANCE_BASE" ] && [ -f "$OPENGROK_INSTANCE_BASE/etc/configuration.xml" ]
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger then
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger INPUT_FILE="$OPENGROK_INSTANCE_BASE/etc/configuration.xml"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger elif [ -n "$READ_XML_CONFIGURATION" ] && [ -f "$READ_XML_CONFIGURATION" ]
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger then
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger INPUT_FILE="$READ_XML_CONFIGURATION"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger fi
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger}
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger# Find java home based on your system information
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger#
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger# Taken from original OpenGrok shell wrapper
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger#
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof TulingerFindJavaHome()
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger{
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger if [ -x "/bin/uname" ]; then
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger OS_NAME="`/bin/uname -s`"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger OS_VERSION="`/bin/uname -r`"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger elif [ -x "/usr/bin/uname" ]; then
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger OS_NAME="`/usr/bin/uname -s`"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger OS_VERSION="`/usr/bin/uname -r`"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger else
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "Cannot determine operating system version"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger exit 3
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger fi
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger javaHome=""
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger case "${OS_NAME}:${OS_VERSION}" in
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger SunOS:5.10) javaHome="/usr/jdk/instances/jdk1.7.0" ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger SunOS:5.11) javaHome="/usr/jdk/latest" ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger SunOS:5.12) javaHome="/usr/jdk/latest" ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger Darwin:*) javaHome=`/usr/libexec/java_home` ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger Linux:*)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger if [ -f /etc/alternatives/java ]
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger then
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger javaHome=`ls -l /etc/alternatives/java | cut -f 2 -d \> `
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger javaHome=`dirname $javaHome`
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger javaHome=`dirname $javaHome`
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger fi
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger esac
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger if [ -z "${javaHome}" ]
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger then
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "Unable to determine Java Home" \
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger "for ${OS_NAME} ${OS_VERSION}"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger exit 3
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger fi
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger if [ ! -d "${javaHome}" ]
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger then
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "Missing Java Home ${javaHome}"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger exit 3
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger fi
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger echo "${javaHome}"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger}
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulingerif [ $# -eq 0 ]
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulingerthen
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger Usage
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger exit 1
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulingerfi
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof TulingerSetupInstanceConfiguration
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulingercase "${1}" in
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger match)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger shift
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger Match "$@"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger delete)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger shift
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger Delete "$@"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger add)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger shift
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger Add "$@"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger list)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger shift
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger List "$@"
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger help)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger Usage
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger exit 0
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger *)
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger Usage
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger exit 5
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulinger ;;
b4b45a7526fef6a514d6c746d80a05f898ba573dKryštof Tulingeresac