GrumPHP\Formatter\PhpcsFormatter::formatErrorMessage PHP Метод

formatErrorMessage() публичный Метод

public formatErrorMessage ( ProcessArgumentsCollection $defaultArguments, ProcessBuilder $processBuilder ) : string
$defaultArguments GrumPHP\Collection\ProcessArgumentsCollection
$processBuilder GrumPHP\Process\ProcessBuilder
Результат string
    public function formatErrorMessage(ProcessArgumentsCollection $defaultArguments, ProcessBuilder $processBuilder)
    {
        if (empty($this->suggestedFiles)) {
            return '';
        }
        $defaultArguments->addArgumentArray('%s', $this->suggestedFiles);
        return sprintf('%sYou can fix some errors by running following command:%s', PHP_EOL . PHP_EOL, PHP_EOL . $processBuilder->buildProcess($defaultArguments)->getCommandLine());
    }

Usage Example

Пример #1
0
 /**
  * {@inheritdoc}
  */
 public function run(ContextInterface $context)
 {
     /** @var array $config */
     $config = $this->getConfiguration();
     /** @var array $whitelistPatterns */
     $whitelistPatterns = $config['whitelist_patterns'];
     /** @var array $extensions */
     $extensions = $config['triggered_by'];
     /** @var \GrumPHP\Collection\FilesCollection $files */
     $files = $context->getFiles();
     if (0 !== count($whitelistPatterns)) {
         $files = $files->paths($whitelistPatterns);
     }
     $files = $files->extensions($extensions);
     if (0 === count($files)) {
         return TaskResult::createSkipped($this, $context);
     }
     $arguments = $this->processBuilder->createArgumentsForCommand('phpcs');
     $arguments = $this->addArgumentsFromConfig($arguments, $config);
     $arguments->add('--report-full');
     $arguments->add('--report-json');
     $arguments->addFiles($files);
     $process = $this->processBuilder->buildProcess($arguments);
     $process->run();
     if (!$process->isSuccessful()) {
         $output = $this->formatter->format($process);
         try {
             $arguments = $this->processBuilder->createArgumentsForCommand('phpcbf');
             $arguments = $this->addArgumentsFromConfig($arguments, $config);
             $output .= $this->formatter->formatErrorMessage($arguments, $this->processBuilder);
         } catch (RuntimeException $exception) {
             // phpcbf could not get found.
             $output .= PHP_EOL . 'Info: phpcbf could not get found. Please consider to install it for suggestions.';
         }
         return TaskResult::createFailed($this, $context, $output);
     }
     return TaskResult::createPassed($this, $context);
 }