add build script
This commit is contained in:
parent
a9c6b3d65c
commit
daac33185b
|
@ -0,0 +1,72 @@
|
|||
#!/usr/bin/php
|
||||
<?php
|
||||
|
||||
$pear_ok = true;
|
||||
if (!extension_loaded('zip')) { $pear_ok = false; }
|
||||
|
||||
if (!$pear_ok) {
|
||||
echo "This script requires the zip PECL extension\n. Please install it before proceeding.\n";
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (!file_exists('comicpress-config.php.dist')) {
|
||||
echo "Must be run from the root ComicPress theme directory!\n";
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (empty($argv[1])) {
|
||||
echo "Usage: {$argv[0]} <name of destination file>\n";
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (!$zip_file = tempnam('', 'comicpress')) {
|
||||
echo "A temp directory could not be created!\n";
|
||||
exit(1);
|
||||
}
|
||||
|
||||
$zip_file .= '.zip';
|
||||
|
||||
$ignore_filters = array(
|
||||
'#~$#', '#^\.#', '#^test$#', '#^build$#'
|
||||
);
|
||||
|
||||
$renames = array(
|
||||
'#^(.*)\.dist$#' => '\1'
|
||||
);
|
||||
|
||||
$zip = new ZipArchive();
|
||||
$result = $zip->open($zip_file, ZipArchive::CREATE);
|
||||
if ($result === true) {
|
||||
$dir_stack = array('.');
|
||||
while (!empty($dir_stack)) {
|
||||
$dir = array_shift($dir_stack);
|
||||
$zip_dir = preg_replace('#^.#', 'comicpress', $dir);
|
||||
$zip->addEmptyDir($zip_dir);
|
||||
if ($dh = opendir($dir)) {
|
||||
while ($file = readdir($dh)) {
|
||||
$ok = true;
|
||||
foreach ($ignore_filters as $filter) {
|
||||
if (preg_match($filter, $file) > 0) { $ok = false; break; }
|
||||
}
|
||||
if ($ok) {
|
||||
$target = $dir . '/' . $file;
|
||||
if (is_dir($target)) {
|
||||
$dir_stack[] = $target;
|
||||
} else {
|
||||
$zip_target = $file;
|
||||
foreach ($renames as $filter => $replacement) {
|
||||
$zip_target = preg_replace($filter, $replacement, $zip_target);
|
||||
}
|
||||
$zip_target = $zip_dir . '/' . $zip_target;
|
||||
echo $zip_target . "\n";
|
||||
$zip->addFile($target, $zip_target);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
closedir($dh);
|
||||
}
|
||||
|
||||
$zip->close();
|
||||
rename($zip_file, $argv[1]);
|
||||
}
|
Loading…
Reference in New Issue