#!/bin/sh
PROGNAME=`basename $0`
DIRNAME=`dirname $0`
GREP="grep"
ROOT="/"
ANT_HOME=""
ANT_SEARCH_PATH="\
tools
tools/ant \
tools/apache/ant \
ant"
ANT_BUILD_FILE="build.xml"
ANT_OPTIONS="-find $ANT_BUILD_FILE"
MAX_FD="maximum"
cygwin=false;
darwin=false;
case "`uname`" in
CYGWIN*)
cygwin=true
;;
Darwin*)
darwin=true
;;
esac
if [ "x$JAXP" = "x" ]; then
JAXP="crimson"
fi
die() {
echo "${PROGNAME}: $*"
exit 1
}
warn() {
echo "${PROGNAME}: $*"
}
maybe_source() {
for file in $*; do
if [ -f "$file" ]; then
. $file
fi
done
}
search() {
search="$*"
for d in $search; do
ANT_HOME="`pwd`/$d"
ANT="$ANT_HOME/bin/ant"
if [ -x "$ANT" ]; then
echo $ANT_HOME
break
fi
done
}
main() {
maybe_source "$DIRNAME/build.conf" "$HOME/.build.conf"
if [ $cygwin = "false" ]; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ]; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ]; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ]; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query system maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi
ANT_HOME=`search $ANT_SEARCH_PATH`
if [ "x$ANT_HOME" = "x" ]; then
target="build"
_cwd=`pwd`
while [ "x$ANT_HOME" = "x" ] && [ "$cwd" != "$ROOT" ]; do
cd ..
cwd=`pwd`
ANT_HOME=`search $ANT_SEARCH_PATH`
done
cd $_cwd
if [ "$cwd" != "$ROOT" ]; then
found="true"
fi
if [ "$found" != "true" ]; then
die "Could not locate Ant; check \$ANT or \$ANT_HOME."
fi
fi
ANT=$ANT_HOME/bin/ant
if [ ! -x "$ANT" ]; then
die "Ant file is not executable: $ANT"
fi
case "$JAXP" in
crimson)
JAXP_DOM_FACTORY="org.apache.crimson.jaxp.DocumentBuilderFactoryImpl"
JAXP_SAX_FACTORY="org.apache.crimson.jaxp.SAXParserFactoryImpl"
;;
xerces)
JAXP_DOM_FACTORY="org.apache.xerces.jaxp.DocumentBuilderFactoryImpl"
JAXP_SAX_FACTORY="org.apache.xerces.jaxp.SAXParserFactoryImpl"
;;
esac
if [ "x$JAXP_DOM_FACTORY" != "x" ]; then
ANT_OPTS="$ANT_OPTS -Djavax.xml.parsers.DocumentBuilderFactory=$JAXP_DOM_FACTORY"
fi
if [ "x$JAXP_SAX_FACTORY" != "x" ]; then
ANT_OPTS="$ANT_OPTS -Djavax.xml.parsers.SAXParserFactory=$JAXP_SAX_FACTORY"
fi
ANT_OPTS="$ANT_OPTS -Djava.protocol.handler.pkgs=org.jboss.net.protocol"
ANT_OPTS="$ANT_OPTS -Dbuild.script=$0"
cd $DIRNAME
export ANT ANT_HOME ANT_OPTS
if [ "x$ANT_DEBUG" != "x" ]; then
/bin/sh -x $ANT $ANT_OPTIONS "$@"
else
exec $ANT $ANT_OPTIONS "$@"
fi
}
main "$@"