#!/bin/sh

file=$0
# resolve relative symlinks
while [ -h "$file" ]; do
  _ls=`ls -ld "$file"`
  _link=`expr "$_ls" : '.*-> \(.*\)$'`
  if expr "$_link" : '/.*' > /dev/null; then
    file="$_link"
  else
    file=`dirname "$file"`"/$_link"
  fi
done

_G_ROOT_DIR=`dirname "$file"`/..
# canonicalize
_G_ROOT_DIR=`cd "$_G_ROOT_DIR" > /dev/null && pwd`

AllJars="$_G_ROOT_DIR/src:$_G_ROOT_DIR/lib/*:$JAVA_HOME/lib/tools.jar"

if [ "$1" = "debug" ]; then
  _DEBUG="-Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=y"
  shift
fi

# checkJava
_JAVACMD=$JAVACMD
if [ "$_JAVACMD" = "" ]; then
  if [ "$JAVA_HOME" = "" -o ! -f "$JAVA_HOME/bin/java" ]; then
    _JAVACMD=java
  else
    _JAVACMD="$JAVA_HOME/bin/java"
  fi
fi

_G_OSNAME=`uname -s`

if [ "$_G_OSNAME" = "Darwin" ]; then
  GOSU_OPTS="$GOSU_OPTS -Xdock:name=gosudoc"
fi

for arg in "$@"; do
  _CMD_LINE_ARGS="$_CMD_LINE_ARGS \"$arg\""
done

CMD="exec $_JAVACMD $_DEBUG $GOSU_OPTS -classpath \"$AllJars\" gw.gosudoc.cli.Gosudoc"
if [ -n "$_DEBUG" ]; then
  echo $CMD $_CMD_LINE_ARGS
fi
eval $CMD $_CMD_LINE_ARGS
