summaryrefslogtreecommitdiff
path: root/buildscripts/phing/bin/phing.php
blob: 3b70887abf775b8da31a314d6251e2bf4f4411a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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);
    
}

?>