protected function execute(InputInterface $input, OutputInterface $output) { if ($input->getOption('composer')) { $output->writeln('+---------------------------------+'); $output->writeln('| Package manager synchronization |'); $output->writeln('+---------------------------------+'); } // register available foreach ($this->packageManager->registerAvailable() as $item) { foreach ($item as $name => $action) { $output->writeln(sprintf('<info>%s : %s</info>', $action, $name)); } } try { foreach ($this->packageManager->installAvailable() as $item) { foreach ($item as $name => $action) { $output->writeln(sprintf('<info>%s : %s</info>', $action, $name)); } } foreach ($this->packageManager->uninstallAbsent() as $item) { foreach ($item as $name => $action) { $output->writeln(sprintf('<info>%s : %s</info>', $action, $name)); } } } catch (InvalidArgumentException $e) { $output->writeln(sprintf('<error>%s</error>', $e->getMessage())); } }
protected function execute(InputInterface $input, OutputInterface $output) { // register available foreach ($this->packageManager->registerAvailable() as $item) { foreach ($item as $name => $action) { $output->writeln(sprintf('<info>%s : %s</info>', $action, $name)); } } try { foreach ($this->packageManager->getPackages() as $package) { $output->writeln(sprintf('<info>%25s</info> | status: <comment>%-12s</comment> | version: <comment>%s</comment>', $package->getName(), $this->packageManager->getStatus($package), $this->packageManager->getVersion($package))); } } catch (InvalidArgumentException $e) { $output->writeln(sprintf('<error>%s</error>', $e->getMessage())); } }
protected function execute(InputInterface $input, OutputInterface $output) { // register available foreach ($this->packageManager->registerAvailable() as $item) { foreach ($item as $name => $action) { $output->writeln(sprintf('<info>%s : %s</info>', $action, $name)); } } $package = $this->packageManager->createInstance($input->getArgument('package')); try { $problem = $this->packageManager->testUninstall($package); } catch (InvalidArgumentException $e) { $output->writeln(sprintf('<error>%s</error>', $e->getMessage())); return; } if (!$input->getOption('noconfirm') && count($problem->getSolutions()) > 0) { foreach ($problem->getSolutions() as $job) { $output->writeln(sprintf('<info>%s : %s</info>', $job->getAction(), $job->getPackage()->getName())); } $output->writeln(sprintf('<info>uninstall : %s</info>', $package->getName())); $dialog = $this->getHelperSet()->get('dialog'); if (!$dialog->askConfirmation($output, '<question>Continue with this actions? [y/N]</question> ', false)) { return; } } try { foreach ($problem->getSolutions() as $job) { if ($job->getAction() === Job::ACTION_INSTALL) { $this->packageManager->install($job->getPackage()); $output->writeln(sprintf('Package \'%s\' has been installed.', $job->getPackage()->getName())); } elseif ($job->getAction() === Job::ACTION_UNINSTALL) { $this->packageManager->uninstall($job->getPackage()); $output->writeln(sprintf('Package \'%s\' has been uninstalled.', $job->getPackage()->getName())); } } $this->packageManager->uninstall($package); $output->writeln(sprintf('Package \'%s\' has been uninstalled.', $input->getArgument('package'))); } catch (InvalidArgumentException $e) { $output->writeln(sprintf('<error>%s</error>', $e->getMessage())); } }
/** * @param \Venne\Packages\PackageManager $packageManager */ public function __construct(PackageManager $packageManager) { $this->resourcesDir = $packageManager->getResourcesDir(); $this->configDir = $packageManager->getConfigDir(); }