diff --git a/utils/Commands/CheckextensionCommand.php b/utils/Commands/CheckextensionCommand.php new file mode 100644 index 000000000..564882d27 --- /dev/null +++ b/utils/Commands/CheckextensionCommand.php @@ -0,0 +1,71 @@ +settings = $settings; + $this->logger = $logger; + $this->translator = $translator; + $this->extmgr = $extmgr; + parent::__construct(); + } + + protected function configure() + { + $this->setName('ext:check') + ->setDescription('Check extensions') + ->setHelp('Checks all installed extensions for completeness and dependencies.') + ; + } + + protected function execute(InputInterface $input, OutputInterface $output) : int + { + $settings = $this->settings; + $logger = $this->logger; + $translator = $this->translator; + $extmgr = $this->extmgr; + + $output->writeln("Using configuration from '".$settings->_configFilePath."'.", OutputInterface::VERBOSITY_VERBOSE); + + $extconfs = $extmgr->getExtensionConfiguration(); + foreach ($extconfs as $extname=>$extconf) { + if($extmgr->checkExtensionByDir($extname)) { + $output->writeln(sprintf("%s", $extname)); + } else { + $output->writeln(sprintf("%s", $extname)); + $errmsgs = $extmgr->getErrorMsgs(); + foreach($errmsgs as $errmsg) { + $output->writeln(sprintf("%s", $errmsg)); + } + } + } + return Command::SUCCESS; + } +} + +// vim: ts=4 sw=4 expandtab diff --git a/utils/console b/utils/console index 8d67ca401..9b853905d 100755 --- a/utils/console +++ b/utils/console @@ -19,6 +19,7 @@ use Seeddms\Console\Commands\ConfigureextensionCommand; use Seeddms\Console\Commands\UploadextensionCommand; use Seeddms\Console\Commands\PackageextensionCommand; use Seeddms\Console\Commands\ReloadextensionCommand; +use Seeddms\Console\Commands\CheckextensionCommand; use Seeddms\Seeddms\Settings; use Seeddms\Seeddms\Translator; @@ -46,6 +47,7 @@ $application->add(new ConfigureextensionCommand($settings, $logger, $translator, $application->add(new UploadextensionCommand($settings, $logger, $translator, $extmgr)); $application->add(new PackageextensionCommand($settings, $logger, $translator, $extmgr)); $application->add(new ReloadextensionCommand($settings, $logger, $translator, $extmgr)); +$application->add(new CheckextensionCommand($settings, $logger, $translator, $extmgr)); if(isset($GLOBALS['SEEDDMS_HOOKS']['console'])) { foreach($GLOBALS['SEEDDMS_HOOKS']['console'] as $hookObj) {