#!/bin/sh # Shell wrapper for Phing # $Id$ # # This script will do the following: # - check for PHP_COMMAND env, if found, use it. # - if not found assume php is on the path # - check for PHING_HOME evn, if found use it # - if not look for it # - check for PHP_CLASSPATH, if found use it # - if not found set it using PHING_HOME/classes # Put all args in quotes phing_exec_debug=false phing_exec_args= for arg in "$@" ; do phing_exec_args="$phing_exec_args \"$arg\"" done if [ -z "$PHING_HOME" ] ; then # echo "WARNING: PHING_HOME environment not set. Attempting to guess." # try to find PHING if [ -d /opt/phing ] ; then PHING_HOME=/opt/phing fi if [ -d "${HOME}/opt/phing" ] ; then PHING_HOME="${HOME}/opt/phing" fi if [ -d "/usr/local/phing" ] ; then PHING_HOME="/usr/local/phing" fi if [ -d "${HOME}/usr/phing" ] ; then PHING_HOME="${HOME}/usr/phing" fi ## resolve links - $0 may be a link to phing's home PRG="$0" progname=`basename "$0"` saveddir=`pwd` # need this for relative symlinks dirname_prg=`dirname "$PRG"` cd "$dirname_prg" while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG=`dirname "$PRG"`"/$link" fi done PHING_HOME=`dirname "$PRG"`/.. cd "$saveddir" # make it fully qualified PHING_HOME=`cd "$PHING_HOME" && pwd` # make it available in PHP via getenv("PHING_HOME") export PHING_HOME fi if (test -z "$PHP_COMMAND") ; then # echo "WARNING: PHP_COMMAND environment not set. (Assuming php on PATH)" PHP_COMMAND=php export PHP_COMMAND fi if (test -z "$PHP_CLASSPATH") ; then PHP_CLASSPATH=$PHING_HOME/classes export PHP_CLASSPATH fi phing_exec_cmd="exec $PHP_COMMAND -d html_errors=off -qC \"$PHING_HOME/bin/phing.php\" -logger phing.listener.AnsiColorLogger $phing_exec_args" if $phing_exec_debug ; then echo $phing_exec_cmd fi eval $phing_exec_cmd