Ver Fonte

Allow force-updating of a single package

Jordi Boggiano há 13 anos atrás
pai
commit
083456d842

+ 5 - 1
src/Packagist/WebBundle/Command/UpdatePackagesCommand.php

@@ -50,6 +50,7 @@ class UpdatePackagesCommand extends ContainerAwareCommand
             ->setName('packagist:update')
             ->setName('packagist:update')
             ->setDefinition(array(
             ->setDefinition(array(
                 new InputOption('force', null, InputOption::VALUE_NONE, 'Force a re-crawl of all packages'),
                 new InputOption('force', null, InputOption::VALUE_NONE, 'Force a re-crawl of all packages'),
+                new InputOption('package', null, InputOption::VALUE_NONE, 'Package name to update (implicitly enables --force)'),
             ))
             ))
             ->setDescription('Updates packages')
             ->setDescription('Updates packages')
             ->setHelp(<<<EOF
             ->setHelp(<<<EOF
@@ -66,6 +67,7 @@ EOF
     {
     {
         $verbose = $input->getOption('verbose');
         $verbose = $input->getOption('verbose');
         $force = $input->getOption('force');
         $force = $input->getOption('force');
+        $package = $input->getOption('package');
         $doctrine = $this->getContainer()->get('doctrine');
         $doctrine = $this->getContainer()->get('doctrine');
 
 
         $logger = $this->getContainer()->get('logger');
         $logger = $this->getContainer()->get('logger');
@@ -73,7 +75,9 @@ EOF
 
 
         $this->versionParser = new VersionParser;
         $this->versionParser = new VersionParser;
 
 
-        if ($force) {
+        if ($package) {
+            $packages = array($doctrine->getRepository('PackagistWebBundle:Package')->findOneByName($package));
+        } elseif ($force) {
             $packages = $doctrine->getRepository('PackagistWebBundle:Package')->findAll();
             $packages = $doctrine->getRepository('PackagistWebBundle:Package')->findAll();
         } else {
         } else {
             $packages = $doctrine->getRepository('PackagistWebBundle:Package')->getStalePackages();
             $packages = $doctrine->getRepository('PackagistWebBundle:Package')->getStalePackages();