*/ protected $arguments = [ 'plugins' => 'One or more plugins as vendor/plugin', ]; /** * @param list $pluginKeys */ #[Override] public function run(array $pluginKeys): int { /** @var Plugins $plugins */ $plugins = service('plugins'); /** @var list $errors */ $errors = []; foreach ($pluginKeys as $pluginKey) { $plugin = $plugins->getPluginByKey($pluginKey); if ($plugin === null) { $errors[] = sprintf('Plugin %s was not found.', $pluginKey); continue; } if (! $plugins->uninstall($plugin)) { $errors[] = sprintf('Something happened when removing %s', $pluginKey); } } foreach ($errors as $error) { CLI::error($error . PHP_EOL); } return $errors === [] ? 0 : 1; } }