<?php 
/** 
 * PEAR package builder 
 * 
 * Inspired by Twig's create_pear_package.php. 
 * @link https://raw.github.com/fabpot/Twig/master/bin/create_pear_package.php 
 * @author Twig Team 
 * @license BSD license 
 */ 
 
if (!isset($argv[1]) || $argv[1] === '-h' || $argv[1] === '--help') { 
    echo 'usage: php ' . $argv[0] . ' <version> <stability>' . PHP_EOL; 
    echo PHP_EOL; 
    echo '    version:' . PHP_EOL; 
    echo '        Version of the package, in the form of major.minor.bug' . PHP_EOL; 
    echo PHP_EOL; 
    echo '    stability:' . PHP_EOL; 
    echo '        One of alpha, beta, stable' . PHP_EOL; 
    die(); 
} 
 
if (!isset($argv[2])) { 
    die('You must provide the stability (alpha, beta, or stable)'); 
} 
 
$context = array( 
    'date'          => gmdate('Y-m-d'), 
    'time'          => gmdate('H:m:00'), 
    'version'       => $argv[1], 
    'api_version'   => $argv[1], 
    'stability'     => $argv[2], 
    'api_stability' => $argv[2], 
); 
 
$context['files'] = ''; 
$path = realpath(dirname(__FILE__).'/../library/Requests'); 
foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path), RecursiveIteratorIterator::LEAVES_ONLY) as $file) { 
    if (preg_match('/\.php$/', $file))     { 
        $name = str_replace($path . DIRECTORY_SEPARATOR, '', $file); 
        $name = str_replace(DIRECTORY_SEPARATOR, '/', $name); 
        $context['files'][] = "\t\t\t\t\t" . '<file install-as="Requests/' . $name . '" name="' . $name . '" role="php" />'; 
    } 
} 
 
$context['files'] = implode("\n", $context['files']); 
 
$template = file_get_contents(dirname(__FILE__).'/../package.xml.tpl'); 
$content = preg_replace_callback('/\{\{\s*([a-zA-Z0-9_]+)\s*\}\}/', 'replace_parameters', $template); 
file_put_contents(dirname(__FILE__).'/../package.xml', $content); 
 
function replace_parameters($matches) { 
    global $context; 
 
    return isset($context[$matches[1]]) ? $context[$matches[1]] : null; 
} 
 
 |