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; } }