Skip to content
Snippets Groups Projects
Select Git revision
  • 737385d19359d0aba169a6a6bfd80d043a5975ab
  • master default protected
2 results

main.py

Blame
  • Build.php 2.29 KiB
    <?php
    /**
     * PEAR_Command_Auth (build command)
     *
     * PHP versions 4 and 5
     *
     * @category   pear
     * @package    PEAR
     * @author     Stig Bakken <ssb@php.net>
     * @author     Tomas V.V.Cox <cox@idecnet.com>
     * @author     Greg Beaver <cellog@php.net>
     * @copyright  1997-2009 The Authors
     * @license    http://opensource.org/licenses/bsd-license.php New BSD License
     * @version    CVS: $Id: Build.php 276383 2009-02-24 23:39:37Z dufuz $
     * @link       http://pear.php.net/package/PEAR
     * @since      File available since Release 0.1
     */
    
    /**
     * base class
     */
    require_once 'PEAR/Command/Common.php';
    
    /**
     * PEAR commands for building extensions.
     *
     * @category   pear
     * @package    PEAR
     * @author     Stig Bakken <ssb@php.net>
     * @author     Tomas V.V.Cox <cox@idecnet.com>
     * @author     Greg Beaver <cellog@php.net>
     * @copyright  1997-2009 The Authors
     * @license    http://opensource.org/licenses/bsd-license.php New BSD License
     * @version    Release: 1.9.0
     * @link       http://pear.php.net/package/PEAR
     * @since      Class available since Release 0.1
     */
    class PEAR_Command_Build extends PEAR_Command_Common
    {
        var $commands = array(
            'build' => array(
                'summary' => 'Build an Extension From C Source',
                'function' => 'doBuild',
                'shortcut' => 'b',
                'options' => array(),
                'doc' => '[package.xml]
    Builds one or more extensions contained in a package.'
                ),
            );
    
        /**
         * PEAR_Command_Build constructor.
         *
         * @access public
         */
        function PEAR_Command_Build(&$ui, &$config)
        {
            parent::PEAR_Command_Common($ui, $config);
        }
    
        function doBuild($command, $options, $params)
        {
            require_once 'PEAR/Builder.php';
            if (sizeof($params) < 1) {
                $params[0] = 'package.xml';
            }
    
            $builder = &new PEAR_Builder($this->ui);
            $this->debug = $this->config->get('verbose');
            $err = $builder->build($params[0], array(&$this, 'buildCallback'));
            if (PEAR::isError($err)) {
                return $err;
            }
    
            return true;
        }
    
        function buildCallback($what, $data)
        {
            if (($what == 'cmdoutput' && $this->debug > 1) ||
                ($what == 'output' && $this->debug > 0)) {
                $this->ui->outputData(rtrim($data), 'build');
            }
        }
    }