Currently, the ExtensionProcessor processes the config array of the
extension and just sets the value as a global. In this way, however,
the metadata of the configs (description, public, ...) aren't available.
This change exposes the configurations in the extracted data as the
config key.
Bug: T155908
Change-Id: Ie41e6ecb8d08a5b20b56eb2281af1dfdd808b2c4
*/
protected $credits = [];
*/
protected $credits = [];
+ /**
+ * @var array
+ */
+ protected $config = [];
+
/**
* Any thing else in the $info that hasn't
* already been processed
/**
* Any thing else in the $info that hasn't
* already been processed
return [
'globals' => $this->globals,
return [
'globals' => $this->globals,
+ 'config' => $this->config,
'defines' => $this->defines,
'callbacks' => $this->callbacks,
'credits' => $this->credits,
'defines' => $this->defines,
'callbacks' => $this->callbacks,
'credits' => $this->credits,
$value = "$dir/$value";
}
$this->addConfigGlobal( "$prefix$key", $value, $info['name'] );
$value = "$dir/$value";
}
$this->addConfigGlobal( "$prefix$key", $value, $info['name'] );
+ $data['providedby'] = $info['name'];
+ if ( isset( $info['ConfigRegistry'][0] ) ) {
+ $data['configregistry'] = array_keys( $info['ConfigRegistry'] )[0];
+ }
+ $this->config[$key] = $data;
/**
* Bump whenever the registration cache needs resetting
*/
/**
* Bump whenever the registration cache needs resetting
*/
- const CACHE_VERSION = 6;
+ const CACHE_VERSION = 7;
/**
* Special key that defines the merge strategy
/**
* Special key that defines the merge strategy
* @return array With following keys:
* 'globals' - variables to be set to $GLOBALS
* 'defines' - constants to define
* @return array With following keys:
* 'globals' - variables to be set to $GLOBALS
* 'defines' - constants to define
+ * 'config' - configuration information
* 'callbacks' - functions to be executed by the registry
* 'credits' - metadata to be stored by registry
* 'attributes' - registration info which isn't a global variable
* 'callbacks' - functions to be executed by the registry
* 'credits' - metadata to be stored by registry
* 'attributes' - registration info which isn't a global variable