summaryrefslogtreecommitdiff
path: root/buildscripts/phing/bin/phing.php
diff options
context:
space:
mode:
Diffstat (limited to 'buildscripts/phing/bin/phing.php')
-rwxr-xr-xbuildscripts/phing/bin/phing.php56
1 files changed, 56 insertions, 0 deletions
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);
+
+}
+
+?>