Example #1
0
 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()));
     }
 }
Example #2
0
 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()));
     }
 }
Example #3
0
 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()));
     }
 }
Example #4
0
 /**
  * @param \Venne\Packages\PackageManager $packageManager
  */
 public function __construct(PackageManager $packageManager)
 {
     $this->resourcesDir = $packageManager->getResourcesDir();
     $this->configDir = $packageManager->getConfigDir();
 }