From edf2251aca60a970e822079d23933e5b70b26571 Mon Sep 17 00:00:00 2001 From: ctrlaltca <> Date: Wed, 2 Jan 2013 14:42:24 +0000 Subject: backported all related changes up to 3229 to branch/3.2 --- buildscripts/phing/bin/phing.php | 72 +++++++++++++++++++++------------------- 1 file changed, 37 insertions(+), 35 deletions(-) mode change 100644 => 100755 buildscripts/phing/bin/phing.php (limited to 'buildscripts/phing/bin/phing.php') diff --git a/buildscripts/phing/bin/phing.php b/buildscripts/phing/bin/phing.php old mode 100644 new mode 100755 index 7d0a774a..3b70887a --- a/buildscripts/phing/bin/phing.php +++ b/buildscripts/phing/bin/phing.php @@ -4,51 +4,53 @@ * 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 $Revision: 1.7 $ + * @version $Id$ */ - + // Set any INI options for PHP // --------------------------- -ini_set('track_errors', 1); - /* set classpath */ -/* if (getenv('PHP_CLASSPATH')) { -// define('PHP_CLASSPATH', getenv('PHP_CLASSPATH') . PATH_SEPARATOR . get_include_path()); - define('PHP_CLASSPATH', realpath(dirname(__FILE__).'/../classes') . PATH_SEPARATOR . get_include_path()); + if (!defined('PHP_CLASSPATH')) { define('PHP_CLASSPATH', getenv('PHP_CLASSPATH') . PATH_SEPARATOR . get_include_path()); } ini_set('include_path', PHP_CLASSPATH); } else { - define('PHP_CLASSPATH', get_include_path()); + if (!defined('PHP_CLASSPATH')) { define('PHP_CLASSPATH', get_include_path()); } } -*/ -define('PHP_CLASSPATH', realpath(dirname(__FILE__).'/../classes') . PATH_SEPARATOR . get_include_path()); -ini_set('include_path', PHP_CLASSPATH); require_once 'phing/Phing.php'; -/* Setup Phing environment */ -Phing::startup(); - -/* - find phing home directory - -- if Phing is installed from PEAR this will probably be null, - which is fine (I think). Nothing uses phing.home right now. -*/ -Phing::setProperty('phing.home', getenv('PHING_HOME')); - - -/* polish CLI arguments */ -$args = isset($argv) ? $argv : $_SERVER['argv']; // $_SERVER['argv'] seems not to work when argv is registered (PHP5b4) -array_shift($args); // 1st arg is script name, so drop it - -/* fire main application */ -Phing::fire($args); - -/* - exit OO system if not already called by Phing - -- basically we should not need this due to register_shutdown_function in Phing - */ - Phing::halt(0); +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); + +} -?> \ No newline at end of file +?> -- cgit v1.2.3