diff --git a/src/Psalm/IssueBuffer.php b/src/Psalm/IssueBuffer.php index 576c1bd429a..513fade481c 100644 --- a/src/Psalm/IssueBuffer.php +++ b/src/Psalm/IssueBuffer.php @@ -544,21 +544,25 @@ function (IssueData $d1, IssueData $d2) : int { $source_control_info = null; $build_info = (new \Psalm\Internal\ExecutionEnvironment\BuildInfoCollector($_SERVER))->collect(); - try { - $source_control_info = (new \Psalm\Internal\ExecutionEnvironment\GitInfoCollector())->collect(); - } catch (\RuntimeException $e) { - // do nothing - } + if ($codebase->config->eventDispatcher->after_analysis + || $codebase->config->eventDispatcher->legacy_after_analysis + ) { + try { + $source_control_info = (new \Psalm\Internal\ExecutionEnvironment\GitInfoCollector())->collect(); + } catch (\RuntimeException $e) { + // do nothing + } - /** @psalm-suppress ArgumentTypeCoercion due to Psalm bug */ - $event = new AfterAnalysisEvent( - $codebase, - $issues_data, - $build_info, - $source_control_info - ); + /** @psalm-suppress ArgumentTypeCoercion due to Psalm bug */ + $event = new AfterAnalysisEvent( + $codebase, + $issues_data, + $build_info, + $source_control_info + ); - $codebase->config->eventDispatcher->dispatchAfterAnalysis($event); + $codebase->config->eventDispatcher->dispatchAfterAnalysis($event); + } foreach ($project_analyzer->generated_report_options as $report_options) { if (!$report_options->output_path) {