setName('plugin:activate'); $this->setDescription('Activate a plugin.'); $this->addArgument('plugin', InputArgument::IS_ARRAY, 'The plugin name you want to activate. Multiple plugin names can be specified separated by a space.'); } protected function execute(InputInterface $input, OutputInterface $output) { $pluginManager = Manager::getInstance(); $plugins = $input->getArgument('plugin'); foreach ($plugins as $plugin) { if ($pluginManager->isPluginActivated($plugin)) { $output->writeln(sprintf('The plugin %s is already activated.', $plugin)); continue; } if (!$pluginManager->isPluginInFilesystem($plugin)) { $output->writeln("Cannot find plugin files for $plugin."); continue; } if ($dependencies = $pluginManager->loadPlugin($plugin)->getMissingDependenciesAsString()) { $output->writeln("$dependencies"); continue; } $pluginManager->activatePlugin($plugin); $output->writeln("Activated plugin $plugin"); } } }