setDescription('Compile less files');
}
/**
* {@inheritdoc}
*/
protected function doExecute(InputInterface $input, OutputInterface $output)
{
$files = array(
__DIR__ . '/../../../../../www/skins/build/css/login.css' => realpath(__DIR__ . '/../../../../../www/skins/login/less/style.less'),
__DIR__ . '/../../../../../www/skins/build/css/account.css' => realpath(__DIR__ . '/../../../../../www/skins/account/less/style.less'),
);
$output->writeln('Building Assets...');
$failures = 0;
$errors = array();
foreach ($files as $buildFile => $lessFile) {
$output->writeln(sprintf('Building %s', basename($lessFile)));
$builder = ProcessBuilder::create(array(
'recess',
'--compile',
$lessFile,
));
$process = $builder->getProcess();
$process->run();
if (!$process->isSuccessful()) {
$failures++;
$errors[] = $process->getErrorOutput();
}
file_put_contents($buildFile, $process->getOutput());
}
if (0 === $failures) {
$output->writeln('Build done !');
return 0;
}
$output->writeln(sprintf('%d errors occured during the build %s', $failures, implode(', ', $errors)));
return 1;
}
}