/** * @see Console\Command\Command */ protected function execute(Console\Input\InputInterface $input, Console\Output\OutputInterface $output) { $container = $this->getHelper('di')->getContainer(); $mngr = new Manager($container->get('config')->get('repository'), $input->getOption('dest') ? $input->getOption('dest') : $container->get('app')->path('base')); $listener = function ($node, $status) use($output) { $output->write(' '); switch ($status) { case 2: $output->write('<comment>overwritten</comment> '); break; case 1: $output->write('<info>installed</info> '); break; default: $output->write('<error>ignored</error> '); break; } $output->writeln(' ' . $node); }; $force = (bool) $input->getOption('force'); $withDeps = (bool) $input->getOption('deps'); $packages = $mngr->resolvePackages($input->getArgument('package'), $withDeps); $output->write('Installing' . ($withDeps ? ' (extended list)' : '') . ":\n "); foreach ($packages as $package) { $output->write('<info>' . $package->getName() . '</info> '); } $output->writeln(''); foreach ($packages as $package) { $output->writeln('Package <comment>' . $package->getName() . '</comment>:'); $mngr->install($package, $force, $listener); } }
/** * @see Console\Command\Command */ protected function execute(Console\Input\InputInterface $input, Console\Output\OutputInterface $output) { $container = $this->getHelper('di')->getContainer(); $mngr = new Manager($container->get('config')->get('repository'), $input->getOption('dest') ? $input->getOption('dest') : $container->get('app')->path('base')); $listener = function ($node, $status) use($output) { $output->write(' '); if ($status) { $output->write('<info>deleted</info> '); } else { $output->write('<error>not found</error> '); } $output->writeln(' ' . $node); }; $packages = $mngr->resolvePackages($input->getArgument('package'), (bool) $input->getOption('deps')); foreach ($packages as $package) { $output->writeln('Package <comment>' . $package->getname() . '</comment>:'); $mngr->uninstall($package, $listener); } }
/** * @see Console\Command\Command */ protected function execute(Console\Input\InputInterface $input, Console\Output\OutputInterface $output) { $container = $this->getHelper('di')->getContainer(); $mngr = new Manager($container->get('config')->get('repository'), $input->getOption('dest') ? $input->getOption('dest') : $container->get('app')->path('base')); $listener = function ($node, $status) use($output) { $output->write(' '); if ($status) { $output->write('<info>installed</info> '); } else { $output->write('<error>not found</error> '); } $output->writeln(' ' . $node); }; $printStatus = function ($status) use($output) { switch ($status) { case 2: $output->writeln('<comment>partial</comment>'); break; case 1: $output->writeln('<info>installed</info>'); break; case 0: $output->writeln('<error>not found</error>'); break; } }; $packages = $mngr->resolvePackages($input->getArgument('package'), (bool) $input->getOption('deps')); foreach ($packages as $package) { $output->writeln('Package <comment>' . $package->getname() . '</comment>:'); $output->writeln(' dependencies:'); foreach ($package->getDeps() as $dep) { $output->write(' ' . str_pad($dep, 15)); $printStatus($mngr->checkStatus($mngr->getPackage($dep))); } $output->writeln(' files:'); $totalStatus = $mngr->checkStatus($package, $listener); $output->writeln(' package status:'); $output->write(' '); $printStatus($totalStatus); } }