Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. PluginManager.php

function PluginManager::collectDependencies

Recursively generates a map of package names to packages for all deps

Parameters

InstalledRepository $installedRepo Set of local repos:

array<string, PackageInterface> $collected Current state of the map for recursion:

PackageInterface $package The package to analyze:

Return value

array<string, PackageInterface> Map of package names to packages

1 call to PluginManager::collectDependencies()
PluginManager::registerPackage in vendor/composer/composer/src/Composer/Plugin/PluginManager.php
Register a plugin package, activate it etc.

File

vendor/composer/composer/src/Composer/Plugin/PluginManager.php, line 534

Class

PluginManager
Plugin manager

Namespace

Composer\Plugin

Code

private function collectDependencies(InstalledRepository $installedRepo, array $collected, PackageInterface $package) : array {
    foreach ($package->getRequires() as $requireLink) {
        foreach ($installedRepo->findPackagesWithReplacersAndProviders($requireLink->getTarget()) as $requiredPackage) {
            if (!isset($collected[$requiredPackage->getName()])) {
                $collected[$requiredPackage->getName()] = $requiredPackage;
                $collected = $this->collectDependencies($installedRepo, $collected, $requiredPackage);
            }
        }
    }
    return $collected;
}
RSS feed
Powered by Drupal