function ComposerRepository::getPackages
Overrides ArrayRepository::getPackages
1 call to ComposerRepository::getPackages()
- ComposerRepository::getPackageNames in vendor/
composer/ composer/ src/ Composer/ Repository/ ComposerRepository.php
File
-
vendor/
composer/ composer/ src/ Composer/ Repository/ ComposerRepository.php, line 323
Class
- ComposerRepository
- @author Jordi Boggiano <j.boggiano@seld.be>
Namespace
Composer\RepositoryCode
public function getPackages() {
$hasProviders = $this->hasProviders();
if ($this->lazyProvidersUrl) {
if (is_array($this->availablePackages) && !$this->availablePackagePatterns) {
$packageMap = [];
foreach ($this->availablePackages as $name) {
$packageMap[$name] = new MatchAllConstraint();
}
$result = $this->loadAsyncPackages($packageMap);
return array_values($result['packages']);
}
if ($this->hasPartialPackages()) {
if (!is_array($this->partialPackagesByName)) {
throw new \LogicException('hasPartialPackages failed to initialize $this->partialPackagesByName');
}
return $this->createPackages($this->partialPackagesByName, 'packages.json inline packages');
}
throw new \LogicException('Composer repositories that have lazy providers and no available-packages list can not load the complete list of packages, use getPackageNames instead.');
}
if ($hasProviders) {
throw new \LogicException('Composer repositories that have providers can not load the complete list of packages, use getPackageNames instead.');
}
return parent::getPackages();
}