/** * Run the coding style check * * @return int */ public function process() { $this->setDefaultValues(); \PHP_CodeSniffer_Reporting::startTiming(); $phpcs = new \PHP_CodeSniffer_CLI(); $phpcs->checkRequirements(); $values = $phpcs->getCommandLineValues(); foreach ($this->defaultValues as $k => $v) { if (empty($values[$k])) { $values[$k] = $v; } } return $phpcs->process($values); }
/** * Run the PHPCBF script. * * @return array */ public function runphpcbf() { if (defined('PHP_CODESNIFFER_CBF') === false) { define('PHP_CODESNIFFER_CBF', true); } if (is_file(dirname(__FILE__) . '/../CodeSniffer/Reporting.php') === true) { include_once dirname(__FILE__) . '/../CodeSniffer/Reporting.php'; } else { include_once 'PHP/CodeSniffer/Reporting.php'; } PHP_CodeSniffer_Reporting::startTiming(); $this->checkRequirements(); $this->dieOnUnknownArg = false; // Override some of the command line settings that might break the fixes. $cliValues = $this->getCommandLineValues(); $cliValues['verbosity'] = 0; $cliValues['showProgress'] = false; $cliValues['generator'] = ''; $cliValues['explain'] = false; $cliValues['interactive'] = false; $cliValues['showSources'] = false; $cliValues['reportFile'] = null; $cliValues['reports'] = array(); $suffix = ''; if (isset($cliValues['suffix']) === true) { $suffix = $cliValues['suffix']; } $allowPatch = true; if (isset($cliValues['no-patch']) === true || empty($cliValues['files']) === true) { // They either asked for this, // or they are using STDIN, which can't use diff. $allowPatch = false; } if ($suffix === '' && $allowPatch === true) { // Using the diff/patch tools. $diffFile = getcwd() . '/phpcbf-fixed.diff'; $cliValues['reports'] = array('diff' => $diffFile); if (file_exists($diffFile) === true) { unlink($diffFile); } } else { // Replace the file without the patch command // or writing to a file with a new suffix. $cliValues['reports'] = array('cbf' => null); $cliValues['phpcbf-suffix'] = $suffix; } $numErrors = $this->process($cliValues); if ($suffix === '' && $allowPatch === true) { if (file_exists($diffFile) === false) { // Nothing to fix. if ($numErrors === 0) { // And no errors reported. $exit = 0; } else { // Errors we can't fix. $exit = 2; } } else { if (filesize($diffFile) < 10) { // Empty or bad diff file. if ($numErrors === 0) { // And no errors reported. $exit = 0; } else { // Errors we can't fix. $exit = 2; } } else { $cmd = "patch -p0 -ui \"{$diffFile}\""; $output = array(); $retVal = null; exec($cmd, $output, $retVal); if ($retVal === 0) { // Everything went well. $filesPatched = count($output); echo "Patched {$filesPatched} file"; if ($filesPatched > 1) { echo 's'; } echo PHP_EOL; $exit = 1; } else { print_r($output); echo "Returned: {$retVal}" . PHP_EOL; $exit = 3; } } //end if unlink($diffFile); } //end if } else { // File are being patched manually, so we can't tell // how many errors were fixed. $exit = 1; } //end if if ($exit === 0) { echo 'No fixable errors were found' . PHP_EOL; } else { if ($exit === 2) { echo 'PHPCBF could not fix all the errors found' . PHP_EOL; } } PHP_CodeSniffer_Reporting::printRunTime(); exit($exit); }