| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 | <?php// release script// PHP 5.0 onlyif (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 VERSIONfile_put_contents('VERSION', $version);// ...in NEWSif ($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('maintenance/flush.sh');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
 |