PHPSemVerChecker\Console\Command\CompareCommand::execute PHP Method

execute() protected method

protected execute ( Symfony\Component\Console\Input\InputInterface $input, Symfony\Component\Console\Output\OutputInterface $output )
$input Symfony\Component\Console\Input\InputInterface
$output Symfony\Component\Console\Output\OutputInterface
    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');
    }
CompareCommand