public function main($arguments, $excludes, $suffixes) { $this->printVersionString(); $files = $this->findFiles($arguments, $excludes, $suffixes); if (empty($files)) { $this->showError("No files found to scan.\n"); } $analyser = new PHPLOC_Analyser($verbose); $count = $analyser->countFiles($files, $countTests); $printer = new PHPLOC_TextUI_ResultPrinter_Text(); $printer->printResult($count, $countTests); $logCsv = implode('_', $arguments) . '.csv'; $printer = new PHPLOC_TextUI_ResultPrinter_CSV(); $printer->printResult($logCsv, $count); }
/** * Main method. */ public function main() { $input = new ezcConsoleInput(); $output = new ezcConsoleOutput(); $input->registerOption(new ezcConsoleOption('', 'count-tests', ezcConsoleInput::TYPE_NONE, FALSE, FALSE)); $input->registerOption(new ezcConsoleOption('', 'exclude', ezcConsoleInput::TYPE_STRING, array(), TRUE)); $input->registerOption(new ezcConsoleOption('h', 'help', ezcConsoleInput::TYPE_NONE, NULL, FALSE, '', '', array(), array(), FALSE, FALSE, TRUE)); $input->registerOption(new ezcConsoleOption('', 'log-xml', ezcConsoleInput::TYPE_STRING)); $input->registerOption(new ezcConsoleOption('', 'log-csv', ezcConsoleInput::TYPE_STRING)); $input->registerOption(new ezcConsoleOption('', 'cores', ezcConsoleInput::TYPE_STRING, 1)); $input->registerOption(new ezcConsoleOption('', 'suffixes', ezcConsoleInput::TYPE_STRING, 'php', FALSE)); $input->registerOption(new ezcConsoleOption('v', 'version', ezcConsoleInput::TYPE_NONE, NULL, FALSE, '', '', array(), array(), FALSE, FALSE, TRUE)); $input->registerOption(new ezcConsoleOption('', 'verbose', ezcConsoleInput::TYPE_NONE)); try { $input->process(); } catch (ezcConsoleOptionException $e) { print $e->getMessage() . "\n"; exit(1); } if ($input->getOption('help')->value) { $this->showHelp(); exit(0); } else { if ($input->getOption('version')->value) { $this->printVersionString(); exit(0); } } $arguments = $input->getArguments(); if (empty($arguments)) { $this->showHelp(); exit(1); } $countTests = $input->getOption('count-tests')->value; $excludes = $input->getOption('exclude')->value; $logXml = $input->getOption('log-xml')->value; $logCsv = $input->getOption('log-csv')->value; $cores = $input->getOption('cores')->value; $suffixes = array_map('trim', explode(',', $input->getOption('suffixes')->value)); if ($input->getOption('verbose')->value !== FALSE) { $verbose = $output; } else { $verbose = NULL; } $this->printVersionString(); $files = $this->findFiles($arguments, $excludes, $suffixes); if (empty($files)) { $this->showError("No files found to scan.\n"); } $analyser = new PHPLOC_Analyser($verbose); if ($cores > 1 && extension_loaded('pcntl') && extension_loaded('sockets')) { $parallelAnalyser = new PHPLOC_ParallelAnalyser($cores); $count = $parallelAnalyser->countFiles($files, $countTests); } else { $count = $analyser->countFiles($files, $countTests); } $printer = new PHPLOC_TextUI_ResultPrinter_Text(); $printer->printResult($count, $countTests); if ($logXml) { $printer = new PHPLOC_TextUI_ResultPrinter_XML(); $printer->printResult($logXml, $count); } if ($logCsv) { $printer = new PHPLOC_TextUI_ResultPrinter_CSV(); $printer->printResult($logCsv, $count); } }
protected function runPhpLocCheck() { $files = $this->getFilesToCheck(); $result = $this->getCountForFiles($files); if ($this->reportType === 'cli' || $this->reportType === 'txt') { require_once 'PHPLOC/TextUI/ResultPrinter/Text.php'; $printer = new PHPLOC_TextUI_ResultPrinter_Text(); ob_start(); $printer->printResult($result, $this->countTests); $result = ob_get_contents(); ob_end_clean(); if ($this->reportType === 'txt') { file_put_contents($this->reportDirectory . DIRECTORY_SEPARATOR . $this->reportFileName, $result); $reportDir = new PhingFile($this->reportDirectory); $logMessage = "Writing report to: " . $reportDir->getAbsolutePath() . DIRECTORY_SEPARATOR . $this->reportFileName; $this->log($logMessage); } else { $this->log("\n" . $result); } } elseif ($this->reportType === 'xml' || $this->reportType === 'csv') { $printerClass = sprintf('PHPLOC_TextUI_ResultPrinter_%s', strtoupper($this->reportType)); $printerClassFile = str_replace('_', DIRECTORY_SEPARATOR, $printerClass) . '.php'; require_once $printerClassFile; $printer = new $printerClass(); $reportDir = new PhingFile($this->reportDirectory); $logMessage = "Writing report to: " . $reportDir->getAbsolutePath() . DIRECTORY_SEPARATOR . $this->reportFileName; $this->log($logMessage); $printer->printResult($this->reportDirectory . DIRECTORY_SEPARATOR . $this->reportFileName, $result); } }