You are here

function _system_rebuild_module_data_ensure_required in Zircon Profile 8.0

Same name and namespace in other branches
  1. 8 core/modules/system/system.module \_system_rebuild_module_data_ensure_required()

Ensures that dependencies of required modules are also required.

Parameters

\Drupal\Core\Extension\Extension $module: The module info.

\Drupal\Core\Extension\Extension[] $modules: The array of all module info.

1 call to _system_rebuild_module_data_ensure_required()
_system_rebuild_module_data in core/modules/system/system.module
Helper function to scan and collect module .info.yml data.

File

core/modules/system/system.module, line 1013
Configuration system that lets administrators modify the workings of the site.

Code

function _system_rebuild_module_data_ensure_required($module, &$modules) {
  if (!empty($module->info['required'])) {
    foreach ($module->info['dependencies'] as $dependency) {
      $dependency_name = ModuleHandler::parseDependency($dependency)['name'];
      if (!isset($modules[$dependency_name]->info['required'])) {
        $modules[$dependency_name]->info['required'] = TRUE;
        $modules[$dependency_name]->info['explanation'] = t('Dependency of required module @module', array(
          '@module' => $module->info['name'],
        ));

        // Ensure any dependencies it has are required.
        _system_rebuild_module_data_ensure_required($modules[$dependency_name], $modules);
      }
    }
  }
}