rootDir = realpath($projectDirectory); parent::__construct(); } /** * @inheritdoc */ protected function configure() { $this ->setName('kimai:phpcs') ->setDescription('Run PHP_CodeSniffer to check for the projects coding style') ; } /** * @inheritdoc */ protected function execute(InputInterface $input, OutputInterface $output) { $io = new SymfonyStyle($input, $output); $this->executeCodeSniffer($io, '/src'); $this->executeCodeSniffer($io, '/tests'); $this->executeCodeSniffer($io, '/templates'); } /** * @param string $directory */ protected function executeCodeSniffer(SymfonyStyle $io, $directory) { $directory = $this->rootDir . $directory; $exitCode = 0; ob_start(); passthru($this->rootDir . '/bin/phpcs --standard=PSR2 ' . $directory, $exitCode); $result = ob_get_clean(); $io->write($result); if ($exitCode > 0) { $io->error('Found problems while checking sources at: ' . $directory); } else { $io->success('All sources look good at: ' . $directory); } } }