getMessage()); } $missing_keys = array_diff($this->getRequiredKeys(), array_keys($parsed_info)); if (!empty($missing_keys)) { throw new InfoParserException('Missing required keys (' . implode(', ', $missing_keys) . ') in ' . $filename); } if (isset($parsed_info['version']) && $parsed_info['version'] === 'VERSION') { $parsed_info['version'] = \Drupal::VERSION; } } return $parsed_info; } /** * Returns an array of keys required to exist in .info.yml file. * * @return array * An array of required keys. */ protected function getRequiredKeys() { return ['type', 'core', 'name']; } }