markdown-resume/pakefile
Craig Davis 842fae2b6f Add initial html command processing
This command is going to be quite similar to the pdf command, and we’ll
need to abstract and extend this soon.
2014-01-12 09:55:31 -07:00

116 lines
3.0 KiB
Plaintext

<?php
pake_desc('Run the unit tests');
pake_task('test');
pake_desc('Check the code for psr2 standards');
pake_task('sniff');
pake_desc('Run php-cs-fixer on the src directory');
pake_task('fixer');
pake_desc('Update the README with the latest command output');
pake_task('readme');
pake_desc('Build phar file');
pake_task('phar');
pake_desc('PHP Lint the src folder');
pake_task('lint');
pake_desc('Display the version');
pake_task('version');
pake_desc('Create the selfupdate version file');
pake_task('version_file');
pake_desc('Copy to ~/bin');
pake_task('mv');
pake_desc('Build the app for deployment');
pake_task('build', 'version', 'version_file', 'readme', 'lint', 'fixer', 'sniff', 'phar');
pake_alias('default', 'build');
function run_build() {}
function run_test() {
passthru("phpunit");
}
function run_version() {
$composer = json_decode(file_get_contents('composer.json'));
echo "\n Building Markdown Resume Builder version " . $composer->version . "\n";
echo str_repeat("=", 80) . "\n";
}
function run_version_file() {
$version = trim(shell_exec('git describe --abbrev=0 --tags'));
file_put_contents('./version', $version);
}
function run_lint() {
echo "\n * Linting files\n";
passthru("./build/lint -R ./src");
}
function run_phar()
{
echo " * Construction phar and moving to ./bin/md2resume\n";
$command =
'rm -f ./bin/md2resume && rm -f ./bin/md2resume.phar &&'
. 'php -dphar.readonly=0 build/empir make ./bin/md2resume.phar working.php . --exclude="'
. '*.git/*|*.gitignore|*test*|*Tests*|*.md|*/doc/*|*.lock|*token.txt|pakefile'
. '|.*|build/*|*.markdown|*.phar|*LICENSE|*AUTHORS|*CHANGELOG|*.dist|*.tpl'
. '" && chmod a+x ./bin/md2resume.phar'
. ' && mv ./bin/md2resume.phar ./bin/md2resume';
passthru($command);
}
function run_sniff()
{
echo " * Checking files for PSR2\n";
passthru("phpcs -p --standard=PSR2 ./src/ ./resume.php");
}
function run_fixer()
{
echo "\n * Running php-cs-fixer\n";
passthru(
"php-cs-fixer fix ./bin/resume2.php"
. " && php-cs-fixer fix ./src/Resume/Cli/"
. " && php-cs-fixer fix ./src/Resume/Command/"
);
}
function run_readme()
{
echo " * Updating README documentation\n";
$readme = file("README.md");
$help = explode("\n", shell_exec("php ./resume2.php list --no-interaction"));
$helpStart = $helpEnd = 0;
foreach ($readme as $lineNumber => $line) {
if (trim($line) == "## Help") {
$helpStart = $lineNumber;
continue;
}
if ($helpStart && (substr(trim($line), 0, 2) == "##")) {
$helpEnd = $lineNumber;
break;
}
}
$output = join(array_slice($readme, 0, $helpStart + 1));
$output .= "\n " . implode("\n ", $help) . "\n";
$output .= join(array_slice($readme, $helpEnd));
file_put_contents("README.md", $output);
}
function run_mv() {
exec('cp ./bin/md2resume ~/bin/md2resume');
}
/* End of pakefile */