setDescription('Receive plugin information') ->setHelp('This command prints detailed plugin information.') ; } protected function execute(InputInterface $input, OutputInterface $output): int { $io = new SymfonyStyle($input, $output); $plugins = $this->plugins->getPlugins(); if (empty($plugins)) { $io->warning('No plugins installed'); return Command::SUCCESS; } $rows = []; foreach ($plugins as $plugin) { $meta = $plugin->getMetadata(); $rows[] = [ $plugin->getId(), $plugin->getName(), $meta->getVersion(), $meta->getKimaiVersion(), $plugin->getPath(), ]; } $io->table(['Id', 'Name', 'Version', 'Requires', 'Directory'], $rows); return Command::SUCCESS; } }