setName('plugin:install') ->setDescription('Install a plugin from a remote Zip archive') ->addArgument('url', InputArgument::REQUIRED, 'Archive URL'); } protected function execute(InputInterface $input, OutputInterface $output): int { if (!Installer::isConfigured()) { throw new LogicException('Kanboard is not configured to install plugins itself'); } try { $installer = new Installer($this->container); $installer->install($input->getArgument('url')); $output->writeln('Plugin installed successfully'); return 0; } catch (PluginInstallerException $e) { $output->writeln(''.$e->getMessage().''); return 1; } } }