/** * Extract metadata from the Module .info file. * * @param Module $module * * @return Module */ public function runInfoScan(Module $module) { // Extract basic info and register the module. if ($info_file = $this->findInfoFile($module->getLocation())) { $info = drupal_parse_info_file($info_file); // Faulty info files cause warnings for me. if (empty($info['name'])) { // Exception handling. $info['name'] = "Bad Info"; $info['description'] = $info_file; $module->addStatus('info:failed'); } $info += array('name' => "Bad info"); $module->setLabel($info['name']); if (isset($info['description'])) { $module->setDescription($info['description']); } if (isset($info['version'])) { $module->setVersion($info['version']); } $module->addStatus('info:processed'); } else { $module->addStatus('info:failed'); } return $module; }