/** * @return array */ public function getOutput() { $output = []; $output['before'] = $this->beforeHash; $output['after'] = $this->afterHash; $output['delta'] = $this->baseJsonReporter->getOutput(); return $output; }
/** * @param \Symfony\Component\Console\Input\InputInterface $input * @param \Symfony\Component\Console\Output\OutputInterface $output */ protected function execute(InputInterface $input, OutputInterface $output) { $startTime = microtime(true); $finder = new Finder(); $scannerBefore = new Scanner(); $scannerAfter = new Scanner(); $sourceBefore = $this->config->get('source-before'); $includeBefore = $this->config->get('include-before'); $excludeBefore = $this->config->get('exclude-before'); $sourceAfter = $this->config->get('source-after'); $includeAfter = $this->config->get('include-after'); $excludeAfter = $this->config->get('exclude-after'); $sourceBefore = $finder->findFromString($sourceBefore, $includeBefore, $excludeBefore); $sourceAfter = $finder->findFromString($sourceAfter, $includeAfter, $excludeAfter); $sourceFilter = new SourceFilter(); $identicalCount = $sourceFilter->filter($sourceBefore, $sourceAfter); $progress = new ProgressScanner($output); $progress->addJob($this->config->get('source-before'), $sourceBefore, $scannerBefore); $progress->addJob($this->config->get('source-after'), $sourceAfter, $scannerAfter); $progress->runJobs(); $registryBefore = $scannerBefore->getRegistry(); $registryAfter = $scannerAfter->getRegistry(); $analyzer = new Analyzer(); $report = $analyzer->analyze($registryBefore, $registryAfter); $reporter = new Reporter($report); $reporter->setFullPath($this->config->get('full-path')); $reporter->output($output); $toJson = $this->config->get('to-json'); if ($toJson) { $jsonReporter = new JsonReporter($report, $toJson); $jsonReporter->output(); } $duration = microtime(true) - $startTime; $output->writeln(''); $output->writeln('[Scanned files] Before: ' . count($sourceBefore) . ', After: ' . count($sourceAfter) . ', Identical: ' . $identicalCount); $output->writeln('Time: ' . round($duration, 3) . ' seconds, Memory: ' . round(memory_get_peak_usage() / 1024 / 1024, 3) . ' MB'); }