blob: 713fe1783ecc870eec03e5b83ab0531d17d45b76 [file] [log] [blame]
#!/bin/sh
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# 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
if [ -x '/usr/libexec/java_home' ] ; then
JAVA_HOME=`/usr/libexec/java_home`
elif [ -d "/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home" ]; then
JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
fi
fi
;;
esac
if [ "$cygwin" = "true" ] ; then
PROJECT_HOME=`cygpath -w "$PWD"`
else
PROJECT_HOME=`pwd`
fi
if [ -z "$FORREST_HOME" ] ; then
# use the location of this script to infer $FORREST_HOME
thisprg="$0"
# Resolve links - $thisprg may be a symbolic link
while [ -h "$thisprg" ] ; do
ls=`ls -ld "$thisprg"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
thisprg="$link"
else
thisprg=`dirname "$thisprg"`/"$link"
fi
done
FORREST_HOME=`dirname "$thisprg"`/..
# Make it fully qualified
FORREST_HOME=`cd "$FORREST_HOME" && pwd`
fi
# Save old JAVA_TOOL_OPTIONS
OLD_TOOL_OPTIONS="$JAVA_TOOL_OPTIONS"
unset OLD_TOOL_OPTIONS
JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8"
# Save old ANT_HOME
OLD_ANT_HOME="$ANT_HOME"
unset ANT_HOME
ANT_HOME="$FORREST_HOME/tools/ant"
# ----- Set Up The Runtime Classpath ------------------------------------------
if [ "$cygwin" = "true" ] ; then
S=';'
FORREST_DOT_HOME=`cygpath -w "$FORREST_HOME"`
FORREST_SHELL_HOME=`cygpath -u "$FORREST_HOME"`
else
S=':'
FORREST_DOT_HOME=$FORREST_HOME
FORREST_SHELL_HOME=$FORREST_HOME
fi
# set the ant file to use
ANTFILE="$FORREST_DOT_HOME/main/forrest.build.xml"
CP="$CLASSPATH"
export CP
unset CLASSPATH
for i in $FORREST_SHELL_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
export FORREST_HOME
"$ANT_HOME/bin/ant" --noconfig -buildfile "$ANTFILE" -Dbasedir="$PROJECT_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
# ---- Restore JAVA_TOOL_OPTIONS
JAVA_TOOL_OPTIONS="$OLD_TOOL_OPTIONS"
export JAVA_TOOL_OPTIONS
exit $RESULT