Viewing file: release1-update.php (2.61 KB) -rwxrwxr-x Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
// release script // PHP 5.0 only
if (php_sapi_name() != 'cli') { echo 'Release script cannot be called from web-browser.'; exit; }
if (!isset($argv[1])) { echo 'php release.php [version] HTML Purifier release script '; exit; }
$version = trim($argv[1]);
// Bump version numbers:
// ...in VERSION file_put_contents('VERSION', $version);
// ...in NEWS if ($is_dev = (strpos($version, 'dev') === false)) { $date = date('Y-m-d'); $news_c = str_replace( $l = "$version, unknown release date", "$version, released $date", file_get_contents('NEWS'), $c ); if (!$c) { echo 'Could not update NEWS, missing ' . $l . PHP_EOL; exit; } elseif ($c > 1) { echo 'More than one release declaration in NEWS replaced' . PHP_EOL; exit; } file_put_contents('NEWS', $news_c); }
// ...in Doxyfile $doxyfile_c = preg_replace( '/(?<=PROJECT_NUMBER {9}= )[^\s]+/m', // brittle $version, file_get_contents('Doxyfile'), 1, $c ); if (!$c) { echo 'Could not update Doxyfile, missing PROJECT_NUMBER.' . PHP_EOL; exit; } file_put_contents('Doxyfile', $doxyfile_c);
// ...in HTMLPurifier.php $htmlpurifier_c = file_get_contents('library/HTMLPurifier.php'); $htmlpurifier_c = preg_replace( '/HTML Purifier .+? - /', "HTML Purifier $version - ", $htmlpurifier_c, 1, $c ); if (!$c) { echo 'Could not update HTMLPurifier.php, missing HTML Purifier [version] header.' . PHP_EOL; exit; } $htmlpurifier_c = preg_replace( '/public \$version = \'.+?\';/', "public \$version = '$version';", $htmlpurifier_c, 1, $c ); if (!$c) { echo 'Could not update HTMLPurifier.php, missing public $version.' . PHP_EOL; exit; } $htmlpurifier_c = preg_replace( '/const VERSION = \'.+?\';/', "const VERSION = '$version';", $htmlpurifier_c, 1, $c ); if (!$c) { echo 'Could not update HTMLPurifier.php, missing const $version.' . PHP_EOL; exit; } file_put_contents('library/HTMLPurifier.php', $htmlpurifier_c);
$config_c = file_get_contents('library/HTMLPurifier/Config.php'); $config_c = preg_replace( '/public \$version = \'.+?\';/', "public \$version = '$version';", $config_c, 1, $c ); if (!$c) { echo 'Could not update Config.php, missing public $version.' . PHP_EOL; exit; } file_put_contents('library/HTMLPurifier/Config.php', $config_c);
passthru('php maintenance/flush.php');
if ($is_dev) echo "Review changes, write something in WHATSNEW and FOCUS, and then commit with log 'Release $version.'" . PHP_EOL; else echo "Numbers updated to dev, no other modifications necessary!";
// vim: et sw=4 sts=4
|