#!/usr/bin/env php -dphar.readonly=0
<?php 
include 'functions.php';
define('ROOT', realpath(__DIR__ . '/../../'));
chdir(ROOT . '/public');
$php = $_SERVER["_"];
$di = new DirectoryIterator(ROOT . '/packages/component-pyrus/');
// change this to actual public directory
foreach ($di as $file) {
    if ($file->isDot()) {
        continue;
    }
    script_run_command($php . ' ' . ROOT . '/build/scripts/pyrus.phar scs-release ' . $file->getPathname());
}
예제 #2
0
}
// building documentation
foreach ($components as $component_info) {
    if (in_array('MANUAL', $component_info[3])) {
        echo 'Building Documentation package for ' . $component_info[0] . ' ... ' . PHP_EOL;
        $command = $php . ' -dphar.readonly=0 ' . __DIR__ . '/scripts/manual-build.php ' . $component_info[0] . '-' . $component_info[2] . ' ' . ROOT . '/packages/working/' . $component_info[1] . ' ';
        script_run_command($command);
    }
    // reset path
    chdir(ROOT . '/packages/working/');
}
// build API docs
foreach ($components as $component_info) {
    if (isset($component_info[3]['APIDOC'])) {
        echo 'Building Apidoc package for ' . $component_info[0] . ' ... ' . PHP_EOL;
        $command = $php . ' -dphar.readonly=0 ' . __DIR__ . '/scripts/apidoc-build.php ' . $component_info[0] . '-' . $component_info[2] . ' ' . ROOT . '/packages/working/' . $component_info[1] . ' ' . escapeshellarg($component_info[3]['APIDOC']);
        script_run_command($command);
    }
    // reset path
    chdir(ROOT . '/packages/working/');
}
// build API docs
foreach ($components as $component_info) {
    if (isset($component_info[3]['PLAIN'])) {
        echo 'Building Plain package for ' . $component_info[0] . ' ... ' . PHP_EOL;
        $command = $php . ' -dphar.readonly=0 ' . __DIR__ . '/scripts/plain-build.php ' . $component_info[0] . '-' . $component_info[2] . ' ' . ROOT . '/packages/working/' . $component_info[1] . ' ' . escapeshellarg($component_info[3]['PLAIN']);
        script_run_command($command);
    }
    // reset path
    chdir(ROOT . '/packages/working/');
}
예제 #3
0
#!/usr/bin/env php -dphar.readonly=0
<?php 
include 'functions.php';
define('ROOT', realpath(__DIR__ . '/../../'));
$release = isset($argv[1]) ? $argv[1] : false;
if (!$release) {
    script_exit('No release specified');
}
$package_glob = ROOT . '/packages/plain/ZendFramework-*' . $release . '.*';
$release_dir = ROOT . '/public/releases/ZendFramework-' . $release . '';
if (!is_dir($release_dir)) {
    mkdir($release_dir, 0777, true);
}
script_run_command('cp -a ' . $package_glob . ' ' . $release_dir);
예제 #4
0
        if (is_string($package_info['required'])) {
            $package_info['required'] = array($package_info['required']);
        }
        foreach ($package_info['required'] as $dependency) {
            $file_replacements['{PACKAGE_REQUIRE_DEPENDENCIES}'] .= 'require_once \'' . $dependency . '-' . trim($package_release) . '.phar\';' . "\n";
            $file_replacements['{PACKAGE_DEPENDENCY}'] = trim($dependency);
            $packagexmlsetup_content .= apply_replacements(file_get_contents(ROOT . '/build/scripts/pyrus-templates/packagexmlsetup-required.php'), $file_replacements);
        }
    }
    if (isset($package_info['optional'])) {
        if (is_string($package_info['optional'])) {
            $package_info['optional'] = array($package_info['optional']);
        }
        foreach ($package_info['optional'] as $dependency) {
            $file_replacements['{PACKAGE_REQUIRE_DEPENDENCIES}'] .= 'require_once \'' . $dependency . '-' . trim($package_release) . '.phar\';' . "\n";
            $file_replacements['{PACKAGE_DEPENDENCY}'] = trim($dependency);
            $packagexmlsetup_content .= apply_replacements(file_get_contents(ROOT . '/build/scripts/pyrus-templates/packagexmlsetup-optional.php'), $file_replacements);
        }
    }
    echo 'Writing: packagexmlsetup.php' . PHP_EOL;
    file_put_contents('packagexmlsetup.php', $packagexmlsetup_content);
}
echo 'Writing: stub.php' . PHP_EOL;
file_put_contents('stub.php', '<?php' . "\n" . trim(apply_replacements(file_get_contents(ROOT . '/build/scripts/pyrus-templates/stub.php'), $file_replacements)));
script_run_command($pyrus_path . ' make');
script_run_command($pyrus_path . ' package -p');
script_run_command('rm -Rf ' . ROOT . '/packages/component-pyrus/' . $package_name . '-' . $package_release . '.*');
script_run_command('mv ' . $package_name . '-' . $package_release . '.* ' . ROOT . '/packages/component-pyrus/');
chdir(ROOT . '/packages/component-pyrus/' . $package_name);
script_run_command('rm -Rf ' . ROOT . '/packages/component-pyrus/' . $package_name);
예제 #5
0
#!/usr/bin/env php
<?php 
include 'functions.php';
define('ROOT', realpath(__DIR__ . '/../../'));
// get information from CLI
$package_name_full = $_SERVER['argv'][1];
$package_source = $_SERVER['argv'][2];
$package_filter = isset($_SERVER['argv'][3]) ? trim($_SERVER['argv'][3], '/') : '*';
list($package_name, $package_release) = preg_split('#-#', $package_name_full);
chdir(ROOT . '/packages/plain');
script_run_command('rm -Rf ' . ROOT . '/packages/plain/' . $package_name_full . '/');
mkdir(ROOT . '/packages/plain/' . $package_name_full);
chdir($package_source);
script_run_command('tar -cf - ' . $package_filter . ' | tar -C ' . ROOT . '/packages/plain/' . $package_name_full . ' -xf -');
chdir(ROOT . '/packages/plain/');
script_run_command('zip -rq ' . ROOT . '/packages/plain/' . $package_name_full . '.zip ./' . $package_name_full);
script_run_command('tar czf ' . ROOT . '/packages/plain/' . $package_name_full . '.tgz ' . '-C ' . ROOT . '/packages/plain ' . $package_name_full);
script_run_command('rm -Rf ' . ROOT . '/packages/plain/' . $package_name_full . '/');
예제 #6
0
#!/usr/bin/env php -dphar.readonly=0
<?php 
include 'functions.php';
define('ROOT', realpath(__DIR__ . '/../../'));
$release = isset($argv[1]) ? $argv[1] : false;
if (!$release) {
    script_exit('No release specified');
}
$apidoc_package = ROOT . '/packages/apidoc/ZendFramework-' . $release . '-apidoc.zip';
$apidoc_release_tmp = ROOT . '/public/docs/ZendFramework-' . $release . '/tmp';
$apidoc_release_dir = ROOT . '/public/docs/ZendFramework-' . $release . '/apidoc';
mkdir($apidoc_release_tmp, 0777, true);
script_run_command('unzip ' . $apidoc_package . ' -d ' . $apidoc_release_tmp);
script_run_command('mv ' . $apidoc_release_tmp . '/ZendFramework-' . $release . ' ' . $apidoc_release_dir);
rmdir($apidoc_release_tmp);
$apidoc_packages = ROOT . '/packages/apidoc/ZendFramework-' . $release . '-apidoc.*';
$apidoc_release_dir = ROOT . '/public/releases/ZendFramework-' . $release . '/';
if (!is_dir($apidoc_release_dir)) {
    mkdir($apidoc_release_dir, 0777, true);
}
script_run_command('cp -a ' . $apidoc_packages . ' ' . $apidoc_release_dir);
include 'functions.php';
define('ROOT', realpath(__DIR__ . '/../../'));
// get information from CLI
$package_name_full = $_SERVER['argv'][1];
$package_source = $_SERVER['argv'][2];
$package_filter = isset($_SERVER['argv'][3]) ? trim($_SERVER['argv'][3], '/') : '*';
list($package_name, $package_release) = preg_split('#-#', $package_name_full);
chdir(ROOT . '/packages/component-composer');
script_run_command('rm -Rf ' . ROOT . '/packages/component-composer/' . $package_name . '*');
mkdir(ROOT . '/packages/component-composer/' . $package_name);
chdir($package_source);
script_run_command('tar -cf - ' . $package_filter . ' | tar -C ' . ROOT . '/packages/component-composer/' . $package_name . ' -xf -');
chdir(ROOT . '/packages/component-composer/' . $package_name);
script_run_command('cp -a ' . __DIR__ . '/composer-templates/* ./');
script_run_command('zip -rq ' . ROOT . '/packages/component-composer/' . $package_name_full . '.zip .');
script_run_command('rm -Rf ' . ROOT . '/packages/component-composer/' . $package_name . '/');
// modify package's composer.json
$zip = new ZipArchive();
$zip->open(ROOT . '/packages/component-composer/' . $package_name_full . '.zip');
$composer_index_in_root = $zip->locateName('composer.json');
if ($composer_index_in_root !== false) {
    $fp = $zip->getStream($zip->getNameIndex($composer_index_in_root));
    $composer_content = json_decode(stream_get_contents($fp), true);
} else {
    $composer_index_anywhere = $zip->locateName('composer.json', ZIPARCHIVE::FL_NODIR);
    if ($composer_index_anywhere) {
        $fp = $zip->getStream($zip->getNameIndex($composer_index_anywhere));
        $composer_content = json_decode(stream_get_contents($fp), true);
    } else {
        var_dump($composer_index_anywhere);
        echo 'A composer.json was not found in ' . $package_name_full . '.zip';
#!/usr/bin/env php
<?php 
include 'functions.php';
define('ROOT', realpath(__DIR__ . '/../../'));
$composers = array();
// move composer files first
script_run_command('cp ' . ROOT . '/packages/component-composer/*.zip ' . ROOT . '/public/composer/');
// create packages.json
$di = new DirectoryIterator(ROOT . '/public/composer/');
foreach ($di as $file) {
    if ($file->isDot()) {
        continue;
    }
    $zip = new ZipArchive();
    $zip->open($file->getPathname());
    $composer_index_in_root = $zip->locateName('composer.json');
    if ($composer_index_in_root !== false) {
        $fp = $zip->getStream($zip->getNameIndex($composer_index_in_root));
        $composer_content = json_decode(stream_get_contents($fp), true);
    } else {
        $composer_index_anywhere = $zip->locateName('composer.json', ZIPARCHIVE::FL_NODIR);
        if ($composer_index_anywhere) {
            $fp = $zip->getStream($zip->getNameIndex($composer_index_anywhere));
            $composer_content = json_decode(stream_get_contents($fp), true);
        } else {
            $composer_content = create_composer_json_stub($file->getBasename());
        }
    }
    $composers[$file->getBasename()] = $composer_content;
    $zip->close();
}
예제 #9
0
<?php

require 'scripts/functions.php';
require 'build-config.php';
define('ROOT', realpath(__DIR__ . '/../'));
$php = $_SERVER["_"];
script_run_command($php . ' ' . ROOT . '/build/scripts/component-composer-release.php');
script_run_command($php . ' ' . ROOT . '/build/scripts/component-pyrus-release.php');
script_run_command($php . ' ' . ROOT . '/build/scripts/manual-release.php ' . $release);
script_run_command($php . ' ' . ROOT . '/build/scripts/apidoc-release.php ' . $release);
script_run_command($php . ' ' . ROOT . '/build/scripts/plain-release.php ' . $release);
예제 #10
0
#!/usr/bin/env php -dphar.readonly=0
<?php 
define('ROOT', realpath(__DIR__ . '/../../'));
include 'functions.php';
// get information from CLI
$package_name_full = $_SERVER['argv'][1];
$package_source = $_SERVER['argv'][2];
$package_filter = isset($_SERVER['argv'][3]) ? trim($_SERVER['argv'][3], '/') : null;
list($package_name, $package_release) = preg_split('#-#', $package_name_full);
script_run_command('rm -Rf ' . ROOT . '/packages/apidoc/' . $package_name_full . '*');
mkdir(ROOT . '/packages/apidoc/' . $package_name_full);
copy(ROOT . '/build/scripts/phpdocumentor-template/phpdoc.xml', ROOT . '/packages/apidoc/' . $package_name_full . '.xml');
file_put_contents(ROOT . '/packages/apidoc/' . $package_name_full . '.xml', apply_replacements(file_get_contents(ROOT . '/packages/apidoc/' . $package_name_full . '.xml'), array('{target}' => ROOT . '/packages/apidoc/' . $package_name_full . '/', '{directory}' => $package_source . '/' . $package_filter)));
chdir(ROOT . '/packages/apidoc/');
script_run_command('php -dmemory_limit=-1 ' . ROOT . '/build/scripts/phpDocumentor.phar -c ' . ROOT . '/packages/apidoc/' . $package_name_full . '.xml');
script_run_command('zip -rq ' . ROOT . '/packages/apidoc/' . $package_name_full . '-apidoc.zip ' . $package_name_full);
script_run_command('tar czf ' . ROOT . '/packages/apidoc/' . $package_name_full . '-apidoc.tgz ' . '-C ' . ROOT . '/packages/plain ' . $package_name_full);
예제 #11
0
<?php

require 'scripts/functions.php';
require 'build-config.php';
define('ROOT', realpath(__DIR__ . '/../'));
chdir(ROOT . '/packages/working/');
script_run_command('rm -Rf ' . ROOT . '/packages/apidoc/Zend*');
script_run_command('rm -Rf ' . ROOT . '/packages/component-composer/Z*');
script_run_command('rm -Rf ' . ROOT . '/packages/component-pyrus/Z*');
script_run_command('rm -Rf ' . ROOT . '/packages/manual/Z*');
script_run_command('rm -Rf ' . ROOT . '/packages/plain/Z*');
script_run_command('rm -Rf ' . ROOT . '/packages/working/Z* ' . ROOT . '/packages/working/z*');
        }
        echo 'Writing: packagexmlsetup.php' . PHP_EOL;
        file_put_contents('packagexmlsetup.php', $packagexmlsetup_content);
    }
}
echo 'Writing: stub.php' . PHP_EOL;
file_put_contents('stub.php', '<?php' . "\n" . trim(apply_replacements(file_get_contents(__DIR__ . DS . 'data' . DS . 'stub.php.template'), $file_replacements)));
$command = $pyrus_path . ' make';
$output = script_run_command($command);
$command = $pyrus_path . ' package -g';
$output = script_run_command($command);
$command = $pyrus_path . ' package -z';
$output = script_run_command($command);
if ($ini['with_phar']) {
    $command = $pyrus_path . ' package -p';
    $output = script_run_command($command);
}
function apply_replacements($source, $replacements)
{
    foreach ($replacements as $var => $value) {
        $source = str_replace($var, $value, $source);
    }
    return $source;
}
function script_run_command($command)
{
    echo 'Running: ' . $command . PHP_EOL;
    return shell_exec($command);
}
function script_exit($reason)
{
예제 #13
0
#!/usr/bin/env php -dphar.readonly=0
<?php 
include 'functions.php';
define('ROOT', realpath(__DIR__ . '/../../'));
$release = isset($argv[1]) ? $argv[1] : false;
if (!$release) {
    script_exit('No release specified');
}
$manual_package = ROOT . '/packages/manual/ZendFramework-' . $release . '-manual-en.zip';
$manual_release_dir = ROOT . '/public/docs/ZendFramework-' . $release . '/manual/en';
mkdir($manual_release_dir, 0777, true);
script_run_command('unzip ' . $manual_package . ' -d ' . $manual_release_dir);
$manual_packages = ROOT . '/packages/manual/ZendFramework-' . $release . '-manual-en.*';
$manual_release_dir = ROOT . '/public/releases/ZendFramework-' . $release . '/';
if (!is_dir($manual_release_dir)) {
    mkdir($manual_release_dir, 0777, true);
}
script_run_command('cp -a ' . $manual_packages . ' ' . $manual_release_dir);