summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMorris Jobke <hey@morrisjobke.de>2015-05-05 13:57:23 +0200
committerMorris Jobke <hey@morrisjobke.de>2015-05-05 13:57:23 +0200
commit56b1c93a79ccb1e5bf34f5b5b27744795d5a2457 (patch)
tree291a38c434373c73479ec879f0c5678dc66cd001
parent5aa3525479a29ea0521db9050d3ef22e17729e94 (diff)
downloadnextcloud-server-56b1c93a79ccb1e5bf34f5b5b27744795d5a2457.tar.gz
nextcloud-server-56b1c93a79ccb1e5bf34f5b5b27744795d5a2457.zip
Add verbosity option to app:check-code
* by default only lists files with errors * option -v lists all files even if there are no errors
-rw-r--r--core/command/app/checkcode.php23
-rw-r--r--lib/private/app/codechecker.php2
2 files changed, 18 insertions, 7 deletions
diff --git a/core/command/app/checkcode.php b/core/command/app/checkcode.php
index 18d8f0d5311..6d10714d410 100644
--- a/core/command/app/checkcode.php
+++ b/core/command/app/checkcode.php
@@ -43,16 +43,27 @@ class CheckCode extends Command {
$appId = $input->getArgument('app-id');
$codeChecker = new \OC\App\CodeChecker();
$codeChecker->listen('CodeChecker', 'analyseFileBegin', function($params) use ($output) {
- $output->writeln("<info>Analysing {$params}</info>");
+ if(OutputInterface::VERBOSITY_VERBOSE <= $output->getVerbosity()) {
+ $output->writeln("<info>Analysing {$params}</info>");
+ }
});
- $codeChecker->listen('CodeChecker', 'analyseFileFinished', function($params) use ($output) {
- $count = count($params);
- $output->writeln(" {$count} errors");
- usort($params, function($a, $b) {
+ $codeChecker->listen('CodeChecker', 'analyseFileFinished', function($filename, $errors) use ($output) {
+ $count = count($errors);
+
+ // show filename if the verbosity is low, but there are errors in a file
+ if($count > 0 && OutputInterface::VERBOSITY_VERBOSE > $output->getVerbosity()) {
+ $output->writeln("<info>Analysing {$filename}</info>");
+ }
+
+ // show error count if there are errros present or the verbosity is high
+ if($count > 0 || OutputInterface::VERBOSITY_VERBOSE <= $output->getVerbosity()) {
+ $output->writeln(" {$count} errors");
+ }
+ usort($errors, function($a, $b) {
return $a['line'] >$b['line'];
});
- foreach($params as $p) {
+ foreach($errors as $p) {
$line = sprintf("%' 4d", $p['line']);
$output->writeln(" <error>line $line: {$p['disallowedToken']} - {$p['reason']}</error>");
}
diff --git a/lib/private/app/codechecker.php b/lib/private/app/codechecker.php
index 75db9ab3560..f0a328d93fb 100644
--- a/lib/private/app/codechecker.php
+++ b/lib/private/app/codechecker.php
@@ -118,7 +118,7 @@ class CodeChecker extends BasicEmitter {
/** @var SplFileInfo $file */
$this->emit('CodeChecker', 'analyseFileBegin', [$file->getPathname()]);
$fileErrors = $this->analyseFile($file);
- $this->emit('CodeChecker', 'analyseFileFinished', [$fileErrors]);
+ $this->emit('CodeChecker', 'analyseFileFinished', [$file->getPathname(), $fileErrors]);
$errors = array_merge($fileErrors, $errors);
}