#!/bin/bash

CMD=''

IFS="
"
for path in $(cat .../lib/java/cmds/utf8); do
    [ -e "$path" ] && {
        CMD="$path"
        break
    }
done

[ -z "$CMD" ] && {
    echo 'No java in:'
    cat .../lib/java/cmds/utf8 | sed -e 's/^/    /'
    exit -1
}

CP=''

function addJar() {
    jar="$1"
    pullhash "$jar"

    LINK="$jar"
    LINK="$(readlink -m "$LINK")"

    [ "$OSTYPE" == 'cygwin' ] && {
        CP="$CP;$(cygpath -w "$LINK")"
    } || {
        CP="$CP:$jar"
    }
}

# ToDo: Generalize

SCRIPT="$1"

[[ ! -z "$SCRIPT" && -e lib/rhino/jars/utf8 ]] && {
    pushd "$(dirname $SCRIPT)" > /dev/null
    for jar in $(cat lib/rhino/jars/utf8); do
        addJar "$jar"
    done
    popd > /dev/null
}

for jar in $(cat .../lib/rhino/jars/utf8); do
    addJar "$jar"
done

OPTS=''

## Ref: https://bugs.launchpad.net/ubuntu/+source/openjdk-6/+bug/255149
JDKOPT=
isOpenJDK=$($JAVA_CMD -version 2>&1 | grep -i "OpenJDK" | wc -l)
[ $isOpenJDK -gt 0 ] && {
    JDKOPT='-Xbootclasspath:/usr/lib/jvm/java-6-openjdk/jre/lib/rt.jar'
}

CYGOPT=
[ "$OSTYPE" == 'cygwin' ] && {
    CYGOPT='-Dos.emulator=cygwin'
}

MAIN='org.mozilla.javascript.tools.shell.Main'

# echo $CMD $OPTS -classpath $CP $MAIN "$@"
$CMD $JDKOPT $CYGOPT -classpath $CP $MAIN "$@"

