From a2d2c4ddd57e325d76549d3b6011721088bceb35 Mon Sep 17 00:00:00 2001 From: Niels Keurentjes Date: Tue, 8 Mar 2016 23:52:44 +0100 Subject: [PATCH] Simulate dummy Composer when searching in uninitialized folder, fixes #4392 --- src/Composer/Command/SearchCommand.php | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/src/Composer/Command/SearchCommand.php b/src/Composer/Command/SearchCommand.php index af8550e5d..97a27ac18 100644 --- a/src/Composer/Command/SearchCommand.php +++ b/src/Composer/Command/SearchCommand.php @@ -12,6 +12,7 @@ namespace Composer\Command; +use Composer\Factory; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputOption; @@ -57,21 +58,15 @@ EOT // init repos $platformRepo = new PlatformRepository; $io = $this->getIO(); - if ($composer = $this->getComposer(false)) { - $localRepo = $composer->getRepositoryManager()->getLocalRepository(); - $installedRepo = new CompositeRepository(array($localRepo, $platformRepo)); - $repos = new CompositeRepository(array_merge(array($installedRepo), $composer->getRepositoryManager()->getRepositories())); - } else { - $defaultRepos = RepositoryFactory::defaultRepos($io); - $io->writeError('No composer.json found in the current directory, showing packages from ' . implode(', ', array_keys($defaultRepos))); - $installedRepo = $platformRepo; - $repos = new CompositeRepository(array_merge(array($installedRepo), $defaultRepos)); + if (!($composer = $this->getComposer(false))) { + $composer = Factory::create($this->getIO(), array()); } + $localRepo = $composer->getRepositoryManager()->getLocalRepository(); + $installedRepo = new CompositeRepository(array($localRepo, $platformRepo)); + $repos = new CompositeRepository(array_merge(array($installedRepo), $composer->getRepositoryManager()->getRepositories())); - if ($composer) { - $commandEvent = new CommandEvent(PluginEvents::COMMAND, 'search', $input, $output); - $composer->getEventDispatcher()->dispatch($commandEvent->getName(), $commandEvent); - } + $commandEvent = new CommandEvent(PluginEvents::COMMAND, 'search', $input, $output); + $composer->getEventDispatcher()->dispatch($commandEvent->getName(), $commandEvent); $onlyName = $input->getOption('only-name');