Пример #1
0
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $appId = $input->getArgument('app-id');
     $codeChecker = new \OC\App\CodeChecker();
     $codeChecker->listen('CodeChecker', 'analyseFileBegin', function ($params) use($output) {
         if (OutputInterface::VERBOSITY_VERBOSE <= $output->getVerbosity()) {
             $output->writeln("<info>Analysing {$params}</info>");
         }
     });
     $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 ($errors as $p) {
             $line = sprintf("%' 4d", $p['line']);
             $output->writeln("    <error>line {$line}: {$p['disallowedToken']} - {$p['reason']}</error>");
         }
     });
     $errors = $codeChecker->analyse($appId);
     if (empty($errors)) {
         $output->writeln('<info>App is compliant - awesome job!</info>');
     } else {
         $output->writeln('<error>App is not compliant</error>');
         return 1;
     }
 }
Пример #2
0
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $appId = $input->getArgument('app-id');
     $codeChecker = new \OC\App\CodeChecker();
     $codeChecker->listen('CodeChecker', 'analyseFileBegin', function ($params) use($output) {
         $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) {
             return $a['line'] > $b['line'];
         });
         foreach ($params as $p) {
             $line = sprintf("%' 4d", $p['line']);
             $output->writeln("    <error>line {$line}: {$p['disallowedToken']} - {$p['reason']}</error>");
         }
     });
     $errors = $codeChecker->analyse($appId);
     if (empty($errors)) {
         $output->writeln('<info>App is compliant - awesome job!</info>');
     } else {
         $output->writeln('<error>App is not compliant</error>');
     }
 }