magallanes/Mage/Command/BuiltIn/CompileCommand.php
2015-05-16 20:23:48 +02:00

69 lines
1.5 KiB
PHP

<?php
/*
* This file is part of the Magallanes package.
*
* (c) Andrés Montañez <andres@andresmontanez.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Mage\Command\BuiltIn;
use Mage\Command\AbstractCommand;
use Mage\Console;
use Mage\Compiler;
/**
* Command for Compile Magallanes into a PHAR executable
*
* @author Ismael Ambrosi<ismaambrosi@gmail.com>
*/
class CompileCommand extends AbstractCommand
{
/**
* @var Compiler
*/
private $compiler;
public function __construct(Compiler $compiler = null)
{
if ($compiler === null) {
$compiler = new Compiler();
}
$this->compiler = $compiler;
$this->setName('Compile command')
->setHelpMessage('Compiles Magallanes to mage.phar file')
->setSyntaxMessage('mage compile');
}
/**
* @see \Mage\Compile::compile()
*/
public function run()
{
if (ini_get('phar.readonly')) {
Console::output(
'The <purple>php.ini</purple> variable <light_red>phar.readonly</light_red>'
. ' must be <yellow>Off</yellow>.',
1,
2
);
return 200;
}
$this->compiler->compile();
Console::output(
'<light_purple>mage.phar</light_purple> compiled <light_green>successfully</light_green>',
0,
2
);
return 0;
}
}