# -*- mode:sh -*-

##############################################################################
##                                                                          ##
##  Groovy JVM Bootstrap for UN*X                                           ##
##                                                                          ##
##############################################################################

##
## $Revision$
## $Date$
##

startGroovy ( ) {
    CLASS=$1
    shift
    # Start the Profiler or the JVM
    if $useprofiler ; then
        runProfiler
    else
        if [ $# -eq 0 ] ; then
            exec "$JAVACMD" $JAVA_OPTS \
                -classpath "$STARTER_CLASSPATH" \
                -Dprogram.name="$PROGNAME" \
                -Dgroovy.starter.conf="$GROOVY_CONF" \
                -Dgroovy.home="$GROOVY_HOME" \
                -Dtools.jar="$TOOLS_JAR" \
                $STARTER_MAIN_CLASS \
                --main $CLASS \
                --conf "$GROOVY_CONF" \
                --classpath "$CP" 
        else
            exec "$JAVACMD" $JAVA_OPTS \
                -classpath "$STARTER_CLASSPATH" \
                -Dprogram.name="$PROGNAME" \
                -Dgroovy.starter.conf="$GROOVY_CONF" \
                -Dgroovy.home="$GROOVY_HOME" \
                -Dtools.jar="$TOOLS_JAR" \
                $STARTER_MAIN_CLASS \
                --main $CLASS \
                --conf "$GROOVY_CONF" \
                --classpath "$CP" \
                "${ARGUMENTS[@]}"
        fi
    fi
}
