- }
-
- /**
- * @param array $dependencies
- * @return array
- */
- private function checkDependencies(array $dependencies, DrupalStyle $io)
- {
- $this->site->loadLegacyFile('/core/modules/system/system.module');
- $localModules = [];
-
- $modules = system_rebuild_module_data();
- foreach ($modules as $module_id => $module) {
- array_push($localModules, basename($module->subpath));
- }
-
- $checkDependencies = [
- 'local_modules' => [],
- 'drupal_modules' => [],
- 'no_modules' => [],
- ];
-
- foreach ($dependencies as $module) {
- if (in_array($module, $localModules)) {
- $checkDependencies['local_modules'][] = $module;
- } else {
- try {
- $response = $this->httpClient->head('https://www.drupal.org/project/' . $module);
- $header_link = explode(';', $response->getHeader('link'));
- if (empty($header_link[0])) {
- $checkDependencies['no_modules'][] = $module;
- } else {
- $checkDependencies['drupal_modules'][] = $module;
- }
- } catch (ClientException $e) {
- $checkDependencies['no_modules'][] = $module;
- }
- }
- }