![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/friendsofphp/php-cs-fixer/src/Console/Report/FixReport/ |
<?php declare(strict_types=1); /* * This file is part of PHP CS Fixer. * * (c) Fabien Potencier <[email protected]> * Dariusz RumiĆski <[email protected]> * * This source file is subject to the MIT license that is bundled * with this source code in the file LICENSE. */ namespace PhpCsFixer\Console\Report\FixReport; use PhpCsFixer\Console\Application; use SebastianBergmann\Diff\Chunk; use SebastianBergmann\Diff\Parser; use Symfony\Component\Console\Formatter\OutputFormatter; /** * Generates a report according to gitlabs subset of codeclimate json files. * * @see https://github.com/codeclimate/platform/blob/master/spec/analyzers/SPEC.md#data-types * * @author Hans-Christian Otto <[email protected]> * * @internal */ final class GitlabReporter implements ReporterInterface { private Parser $diffParser; public function __construct() { $this->diffParser = new Parser(); } public function getFormat(): string { return 'gitlab'; } /** * Process changed files array. Returns generated report. */ public function generate(ReportSummary $reportSummary): string { $about = Application::getAbout(); $report = []; foreach ($reportSummary->getChanged() as $fileName => $change) { $diffs = $this->diffParser->parse($change['diff']); $firstChunk = isset($diffs[0]) ? $diffs[0]->getChunks() : []; $firstChunk = array_shift($firstChunk); foreach ($change['appliedFixers'] as $fixerName) { $report[] = [ 'check_name' => 'PHP-CS-Fixer.'.$fixerName, 'description' => 'PHP-CS-Fixer.'.$fixerName.' by '.$about, 'categories' => ['Style'], 'fingerprint' => md5($fileName.$fixerName), 'severity' => 'minor', 'location' => [ 'path' => $fileName, 'lines' => [ 'begin' => $firstChunk instanceof Chunk ? $firstChunk->getStart() : 0, 'end' => $firstChunk instanceof Chunk ? $firstChunk->getStartRange() : 0, ], ], ]; } } $jsonString = json_encode($report, JSON_THROW_ON_ERROR); return $reportSummary->isDecoratedOutput() ? OutputFormatter::escape($jsonString) : $jsonString; } }