Implements \Drupal\Core\Extension\ModuleHandlerInterface::buildModuleDependencies().
Overrides ModuleHandlerInterface::buildModuleDependencies
public function buildModuleDependencies(array $modules) {
foreach ($modules as $name => $module) {
$graph[$module->name]['edges'] = array();
if (isset($module->info['dependencies']) && is_array($module->info['dependencies'])) {
foreach ($module->info['dependencies'] as $dependency) {
$dependency_data = $this
->parseDependency($dependency);
$graph[$module->name]['edges'][$dependency_data['name']] = $dependency_data;
}
}
}
$graph_object = new Graph($graph);
$graph = $graph_object
->searchAndSort();
foreach ($graph as $module_name => $data) {
$modules[$module_name]->required_by = isset($data['reverse_paths']) ? $data['reverse_paths'] : array();
$modules[$module_name]->requires = isset($data['paths']) ? $data['paths'] : array();
$modules[$module_name]->sort = $data['weight'];
}
return $modules;
}