#!/bin/sh
# 
# Groovy 1.5.8 script


# Packagers: When updating the package be sure to check
# all this against against the upstream binary package

# Source functions library
if [ -f /usr/share/java-utils/java-functions ] ; then 
  . /usr/share/java-utils/java-functions
else
  echo "Can't find functions library, aborting"
  exit 1
fi

# Configuration
SCRIPT_PATH=$0
PROGNAME=$(basename $SCRIPT_PATH)
GROOVY_CONF=/etc/groovy16-starter.conf
TOOLS_JAR=$(build-classpath ../jvm/java/lib/tools)
STARTER_MAIN_CLASS=org.codehaus.groovy.tools.GroovyStarter
MAIN_CLASS=$STARTER_MAIN_CLASS

# Wrappers
[ $PROGNAME = grape16 ] && CLASS=org.codehaus.groovy.tools.GrapeMain
[ $PROGNAME = groovy16 ] && CLASS=groovy.ui.GroovyMain
[ $PROGNAME = groovyc16 ] && CLASS=org.codehaus.groovy.tools.FileSystemCompiler
[ $PROGNAME = groovyConsole16 ]	&& CLASS=groovy.ui.Console
[ $PROGNAME = java2groovy16 ] && CLASS=org.codehaus.groovy.antlr.java.Java2GroovyMain
[ $PROGNAME = groovysh16 ] && CLASS=org.codehaus.groovy.tools.shell.Main
[ $PROGNAME = groovysh16 ] && [ "$OLDSHELL" ] && CLASS=groovy.ui.InteractiveShell

# Load system-wide configuration
if [ -f /etc/groovy16.conf ]; then
  . /etc/groovy16.conf
fi

# Load user configuration
[ -f "$HOME/.groovy16rc" ] && . "$HOME/.groovy16rc"
[ -f "$HOME/.groovy16/startup" ] && . "$HOME/.groovy16/startup"

# Bail out if there's nothing to run
if [ -z "$CLASS" ]
then
	echo "Can not determine main class for '$PROGNAME'" >&2
	exit 1
fi

# JVM options
GROOVY_OPTS="$GROOVY_OPTS -Dscript.name=$SCRIPT_PATH"
GROOVY_OPTS="$GROOVY_OPTS -Dprogram.name=$PROGNAME"
GROOVY_OPTS="$GROOVY_OPTS -Dgroovy.starter.conf=$GROOVY_CONF"
GROOVY_OPTS="$GROOVY_OPTS -Dgroovy.home=$GROOVY_HOME"
GROOVY_OPTS="$GROOVY_OPTS -Dtools.jar=$TOOLS_JAR"

# Do not forget about RPM dependencies!
BASE_JARS="$BASE_JARS ant17"
BASE_JARS="$BASE_JARS ant17/ant17-antlr"
BASE_JARS="$BASE_JARS ant17/ant17-junit"
BASE_JARS="$BASE_JARS ant17-launcher"
BASE_JARS="$BASE_JARS antlr"
BASE_JARS="$BASE_JARS asm2/asm2"
BASE_JARS="$BASE_JARS asm2/asm2-analysis"
BASE_JARS="$BASE_JARS asm2/asm2-commons"
BASE_JARS="$BASE_JARS asm2/asm2-tree"
BASE_JARS="$BASE_JARS asm2/asm2-util"
BASE_JARS="$BASE_JARS bsf"
BASE_JARS="$BASE_JARS commons-cli"
BASE_JARS="$BASE_JARS commons-logging"
BASE_JARS="$BASE_JARS groovy16"
BASE_JARS="$BASE_JARS mx4j/mx4j"
BASE_JARS="$BASE_JARS ivy"
BASE_JARS="$BASE_JARS jline"
BASE_JARS="$BASE_JARS jarjar"
BASE_JARS="$BASE_JARS livetribe-jsr223"
BASE_JARS="$BASE_JARS mockobjects-core"
BASE_JARS="$BASE_JARS tomcat5-jsp-2.0-api"
BASE_JARS="$BASE_JARS junit"
BASE_JARS="$BASE_JARS qdox16"
BASE_JARS="$BASE_JARS servletapi5"
BASE_JARS="$BASE_JARS xpp3"
BASE_JARS="$BASE_JARS xstream"

# Set parameters
set_jvm
set_classpath $BASE_JARS
set_flags $BASE_FLAGS
set_options $BASE_OPTIONS $GROOVY_OPTS

# Let's start
run --conf "$GROOVY_CONF" --main "$CLASS" "$@"
