Bolt\Composer\Action\AbstractDependencyAction::getRequiredPool PHP Метод

getRequiredPool() приватный Метод

This is needed for why-not to resolve conflicts from an uninstalled version against installed packages.
private getRequiredPool ( string $packageName, string $textConstraint, boolean $onlyLocal ) : Composer\DependencyResolver\Pool
$packageName string Package to inspect.
$textConstraint string Optional version constraint
$onlyLocal boolean
Результат Composer\DependencyResolver\Pool
    private function getRequiredPool($packageName, $textConstraint, $onlyLocal)
    {
        if ($onlyLocal === false) {
            return $this->getPool();
        }
        $composer = $this->getComposer();
        $pool = new Pool();
        // Prepare repositories and set up a pool
        $platformOverrides = $composer->getConfig()->get('platform') ?: [];
        /** @var BasePackage $rootPackage */
        $rootPackage = $composer->getPackage();
        if ($rootPackage->getRepository() === null) {
            $packageRepo = new ArrayRepository([$composer->getPackage()]);
            $localRepo = $composer->getRepositoryManager()->getLocalRepository();
            $platformRepo = new PlatformRepository([], $platformOverrides);
            $compositeRepository = new CompositeRepository([$packageRepo, $localRepo, $platformRepo]);
            $pool->addRepository($compositeRepository);
            $defaultRepos = new CompositeRepository(RepositoryFactory::defaultRepos($this->getIO()));
            $match = $defaultRepos->findPackage($packageName, $textConstraint);
            if ($match) {
                $compositeRepository->addRepository(new ArrayRepository([clone $match]));
            }
        }
        return $pool;
    }