1
0
mirror of https://github.com/wbbaddons/Tims-Chat.git synced 2024-12-23 21:50:09 +00:00
Tims-Chat/build.php

131 lines
3.8 KiB
PHP
Raw Normal View History

2011-12-26 14:49:33 +00:00
#!/usr/bin/env php
<?php
2012-06-04 19:48:32 +00:00
namespace be\bastelstu\wcf\chat;
2012-01-06 15:28:42 +00:00
/**
* Builds the Chat
*
* @author Tim Düsterhus
* @copyright 2010-2012 Tim Düsterhus
* @license Creative Commons Attribution-NonCommercial-ShareAlike <http://creativecommons.org/licenses/by-nc-sa/3.0/legalcode>
* @package be.bastelstu.wcf.chat
2012-01-06 15:28:42 +00:00
*/
2012-04-15 10:55:22 +00:00
$packageXML = file_get_contents('package.xml');
preg_match('/<version>(.*?)<\/version>/', $packageXML, $matches);
echo "Building Tims Chat $matches[1]\n";
echo str_repeat("=", strlen("Building Tims Chat $matches[1]"))."\n";
2012-01-06 15:15:40 +00:00
echo <<<EOT
Cleaning up
-----------
EOT;
if (file_exists('package.xml.old')) {
file_put_contents('package.xml', file_get_contents('package.xml.old'));
unlink('package.xml.old');
}
2012-01-06 15:15:40 +00:00
if (file_exists('file.tar')) unlink('file.tar');
if (file_exists('template.tar')) unlink('template.tar');
2012-02-04 19:50:18 +00:00
if (file_exists('acptemplate.tar')) unlink('acptemplate.tar');
2012-04-30 18:51:27 +00:00
foreach (glob('file/acp/be.bastelstu.wcf.chat.nodePush/lib/*.js') as $nodeFile) unlink($nodeFile);
2012-01-06 15:15:40 +00:00
foreach (glob('file/js/*.js') as $jsFile) unlink($jsFile);
foreach (glob('file/style/*.css') as $cssFile) unlink($cssFile);
if (file_exists('be.bastelstu.wcf.chat.tar')) unlink('be.bastelstu.wcf.chat.tar');
2012-01-06 15:15:40 +00:00
echo <<<EOT
Building JavaScript
-------------------
EOT;
foreach (glob('file/js/*.coffee') as $coffeeFile) {
echo $coffeeFile."\n";
2012-01-06 15:32:12 +00:00
passthru('coffee -cb '.escapeshellarg($coffeeFile), $code);
if ($code != 0) exit($code);
2012-01-06 15:15:40 +00:00
}
2012-04-30 18:51:27 +00:00
foreach (glob('file/acp/be.bastelstu.wcf.chat.nodePush/lib/*.coffee') as $coffeeFile) {
2012-04-27 13:42:44 +00:00
echo $coffeeFile."\n";
passthru('coffee -cb '.escapeshellarg($coffeeFile), $code);
if ($code != 0) exit($code);
}
2012-01-06 15:15:40 +00:00
echo <<<EOT
Building CSS
------------
EOT;
foreach (glob('file/style/*.scss') as $sassFile) {
echo $sassFile."\n";
2012-01-06 15:32:12 +00:00
passthru('scss '.escapeshellarg($sassFile).' '.escapeshellarg(substr($sassFile, 0, -4).'css'), $code);
if ($code != 0) exit($code);
2012-01-06 15:15:40 +00:00
}
echo <<<EOT
2012-03-09 20:23:17 +00:00
Checking PHP for Syntax Errors
------------------------------
EOT;
chdir('file');
$check = null;
$check = function ($folder) use (&$check) {
if (is_file($folder)) {
if (substr($folder, -4) === '.php') {
passthru('php -l '.escapeshellarg($folder), $code);
if ($code != 0) exit($code);
}
return;
}
$files = glob($folder.'/*');
foreach ($files as $file) {
$check($file);
}
};
$check('.');
echo <<<EOT
2012-01-06 15:15:40 +00:00
Building file.tar
-----------------
EOT;
2012-04-27 13:42:44 +00:00
passthru('tar cvf ../file.tar * --exclude=*.coffee --exclude=*.scss --exclude=.sass-cache --exclude=node_modules', $code);
2012-01-06 15:32:12 +00:00
if ($code != 0) exit($code);
2012-01-06 15:15:40 +00:00
echo <<<EOT
Building template.tar
---------------------
EOT;
chdir('../template');
2012-01-06 15:32:12 +00:00
passthru('tar cvf ../template.tar *', $code);
if ($code != 0) exit($code);
2012-01-06 15:15:40 +00:00
echo <<<EOT
2012-02-04 19:50:18 +00:00
Building acptemplate.tar
2012-04-09 15:50:07 +00:00
------------------------
2012-02-04 19:50:18 +00:00
EOT;
chdir('../acptemplate');
passthru('tar cvf ../acptemplate.tar *', $code);
if ($code != 0) exit($code);
echo <<<EOT
Building be.bastelstu.wcf.chat.tar
----------------------------------
2012-01-06 15:15:40 +00:00
EOT;
chdir('..');
2012-04-04 10:29:22 +00:00
file_put_contents('package.xml.old', file_get_contents('package.xml'));
file_put_contents('package.xml', preg_replace('~<date>\d{4}-\d{2}-\d{2}</date>~', '<date>'.date('Y-m-d').'</date>', file_get_contents('package.xml')));
passthru('tar cvf be.bastelstu.wcf.chat.tar * --exclude=*.old --exclude=file --exclude=template --exclude=acptemplate --exclude=build.php', $code);
2012-04-04 10:29:22 +00:00
if (file_exists('package.xml.old')) {
file_put_contents('package.xml', file_get_contents('package.xml.old'));
unlink('package.xml.old');
}
2012-01-06 15:32:12 +00:00
if ($code != 0) exit($code);
2012-01-06 15:15:40 +00:00
if (file_exists('file.tar')) unlink('file.tar');
if (file_exists('template.tar')) unlink('template.tar');
2012-02-04 19:50:18 +00:00
if (file_exists('acptemplate.tar')) unlink('acptemplate.tar');
2012-04-30 18:51:27 +00:00
foreach (glob('file/acp/be.bastelstu.wcf.chat.nodePush/lib/*.js') as $nodeFile) unlink($nodeFile);
2012-01-06 15:15:40 +00:00
foreach (glob('file/js/*.js') as $jsFile) unlink($jsFile);
foreach (glob('file/style/*.css') as $cssFile) unlink($cssFile);