diff options
Diffstat (limited to 'buildscripts/phing/bin')
-rwxr-xr-x | buildscripts/phing/bin/phing | 87 | ||||
-rw-r--r-- | buildscripts/phing/bin/phing.bat | 58 | ||||
-rwxr-xr-x | buildscripts/phing/bin/phing.php | 56 |
3 files changed, 201 insertions, 0 deletions
diff --git a/buildscripts/phing/bin/phing b/buildscripts/phing/bin/phing new file mode 100755 index 00000000..bbc6eefe --- /dev/null +++ b/buildscripts/phing/bin/phing @@ -0,0 +1,87 @@ +#!/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
\ No newline at end of file diff --git a/buildscripts/phing/bin/phing.bat b/buildscripts/phing/bin/phing.bat new file mode 100644 index 00000000..ea310470 --- /dev/null +++ b/buildscripts/phing/bin/phing.bat @@ -0,0 +1,58 @@ +@echo off + +rem ********************************************************************* +rem ** the phing build script for Windows based systems +rem ** $Id$ +rem ********************************************************************* + +rem This script will do the following: +rem - check for PHP_COMMAND env, if found, use it. +rem - if not found detect php, if found use it, otherwise err and terminate +rem - check for PHING_HOME evn, if found use it +rem - if not found error and leave +rem - check for PHP_CLASSPATH, if found use it +rem - if not found set it using PHING_HOME/classes + +if "%OS%"=="Windows_NT" @setlocal + +rem %~dp0 is expanded pathname of the current script under NT +set DEFAULT_PHING_HOME=%~dp0.. + +goto init +goto cleanup + +:init + +if "%PHING_HOME%" == "" set PHING_HOME=%DEFAULT_PHING_HOME% +set DEFAULT_PHING_HOME= + +if "%PHP_COMMAND%" == "" goto no_phpcommand +if "%PHP_CLASSPATH%" == "" goto set_classpath + +goto run +goto cleanup + +:run +"%PHP_COMMAND%" -d html_errors=off -qC "%PHING_HOME%\bin\phing.php" %* +goto cleanup + +:no_phpcommand +REM echo ------------------------------------------------------------------------ +REM echo WARNING: Set environment var PHP_COMMAND to the location of your php.exe +REM echo executable (e.g. C:\PHP\php.exe). (Assuming php.exe on Path) +REM echo ------------------------------------------------------------------------ +set PHP_COMMAND=php.exe +goto init + +:err_home +echo ERROR: Environment var PHING_HOME not set. Please point this +echo variable to your local phing installation! +goto cleanup + +:set_classpath +set PHP_CLASSPATH=%PHING_HOME%\classes +goto init + +:cleanup +if "%OS%"=="Windows_NT" @endlocal +REM pause diff --git a/buildscripts/phing/bin/phing.php b/buildscripts/phing/bin/phing.php new file mode 100755 index 00000000..3b70887a --- /dev/null +++ b/buildscripts/phing/bin/phing.php @@ -0,0 +1,56 @@ +<?php + +/** + * This is the Phing command line launcher. It starts up the system evironment + * tests for all important paths and properties and kicks of the main command- + * line entry point of phing located in phing.Phing + * @version $Id$ + */ + +// Set any INI options for PHP +// --------------------------- + +/* set classpath */ +if (getenv('PHP_CLASSPATH')) { + if (!defined('PHP_CLASSPATH')) { define('PHP_CLASSPATH', getenv('PHP_CLASSPATH') . PATH_SEPARATOR . get_include_path()); } + ini_set('include_path', PHP_CLASSPATH); +} else { + if (!defined('PHP_CLASSPATH')) { define('PHP_CLASSPATH', get_include_path()); } +} + +require_once 'phing/Phing.php'; + +try { + + /* Setup Phing environment */ + Phing::startup(); + + // Set phing.home property to the value from environment + // (this may be NULL, but that's not a big problem.) + Phing::setProperty('phing.home', getenv('PHING_HOME')); + + // Grab and clean up the CLI arguments + $args = isset($argv) ? $argv : $_SERVER['argv']; // $_SERVER['argv'] seems to not work (sometimes?) when argv is registered + array_shift($args); // 1st arg is script name, so drop it + + // Invoke the commandline entry point + Phing::fire($args); + + // Invoke any shutdown routines. + Phing::shutdown(); + +} catch (ConfigurationException $x) { + + Phing::printMessage($x); + exit(-1); // This was convention previously for configuration errors. + +} catch (Exception $x) { + + // Assume the message was already printed as part of the build and + // exit with non-0 error code. + + exit(1); + +} + +?> |