#!/bin/sh

# set the current working dir as the PROJECT_HOME variable 

cygwin=false;
darwin=false;
case "`uname`" in
  CYGWIN*) cygwin=true ;;
  Darwin*) darwin=true
           if [ -z "$JAVA_HOME" ] ; then
             JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home   
           fi
           ;;
esac

if [ "$cygwin" = "true" ] ; then
  PROJECT_HOME=`cygpath -w "$PWD"`
else
  PROJECT_HOME=`pwd`
fi

# use the location of this script to infer $FORREST_HOME
FORREST_HOME=`dirname "$0"`/..

# Save old ANT_HOME
OLD_ANT_HOME="$ANT_HOME"
unset ANT_HOME

# ----- Set Up The Runtime Classpath ------------------------------------------

if [ "$cygwin" = "true" ] ; then
  S=';'
  FORREST_DOT_HOME=`cygpath -w "$FORREST_HOME"`
else
  S=':'
  FORREST_DOT_HOME=$FORREST_HOME
fi

# set the ant file to use
ANTFILE="$FORREST_DOT_HOME/forrest.build.xml"

CP="$CLASSPATH"
export CP
unset CLASSPATH

for i in $FORREST_HOME/lib/endorsed/*.jar; do
  if [ "$cygwin" = "true" ] ; then
    LIB=`cygpath -w $i`
  else
    LIB=$i
  fi

  CLASSPATH=$CLASSPATH$S$LIB
done

export CLASSPATH

echo "Apache Forrest.  Run 'forrest -projecthelp' to list options"
echo
"$FORREST_HOME/ant/bin/ant" -buildfile "$ANTFILE" -Dbasedir="$PROJECT_HOME" -Dproject.home="$PROJECT_HOME" -Dforrest.home="$FORREST_DOT_HOME" -emacs $@
RESULT=$?

# ---- Restore Classpath
unset CLASSPATH
CLASSPATH=$CP
export CLASSPATH

# ---- Restore ANT_HOME
# Restore old ANT_HOME
ANT_HOME="$OLD_ANT_HOME"
export ANT_HOME

exit $RESULT
