private function executeTool(array $files, $level, $options, $errorMessage)
{
$outputMessage = new PreCommitOutputWriter(sprintf('Checking %s code style with PHP-CS-FIXER', $level));
$this->output->write($outputMessage->getMessage());
$errors = [];
foreach ($files as $file) {
$errors[] = $this->phpCsFixerToolProcessor->process($file, $level, $options);
}
$errors = array_filter($errors);
if (!empty($errors)) {
$this->output->writeln($outputMessage->getFailMessage());
$errorsText = $outputMessage->setError(implode('', $errors));
$this->output->writeln($errorsText);
$this->output->writeln(BadJobLogoResponse::paint($errorMessage));
throw new PhpCsFixerViolationsException();
}
$this->output->writeln($outputMessage->getSuccessfulMessage());
}