diff --git a/src/Composer/Package/Loader/RootPackageLoader.php b/src/Composer/Package/Loader/RootPackageLoader.php index f0c25daba..a495f96b1 100644 --- a/src/Composer/Package/Loader/RootPackageLoader.php +++ b/src/Composer/Package/Loader/RootPackageLoader.php @@ -141,6 +141,10 @@ class RootPackageLoader extends ArrayLoader $realPackage->setPreferStable((bool) $config['prefer-stable']); } + if (isset($config['config'])) { + $realPackage->setConfig($config['config']); + } + $repos = RepositoryFactory::defaultRepos(null, $this->config, $this->manager); foreach ($repos as $repo) { $this->manager->addRepository($repo); diff --git a/src/Composer/Package/RootPackage.php b/src/Composer/Package/RootPackage.php index b2e812990..79c0f502f 100644 --- a/src/Composer/Package/RootPackage.php +++ b/src/Composer/Package/RootPackage.php @@ -22,6 +22,7 @@ class RootPackage extends CompletePackage implements RootPackageInterface protected $minimumStability = 'stable'; protected $preferStable = false; protected $stabilityFlags = array(); + protected $config = array(); protected $references = array(); protected $aliases = array(); @@ -79,6 +80,24 @@ class RootPackage extends CompletePackage implements RootPackageInterface return $this->preferStable; } + /** + * Set the config + * + * @param array $config + */ + public function setConfig($config) + { + $this->config = $config; + } + + /** + * {@inheritDoc} + */ + public function getConfig() + { + return $this->config; + } + /** * Set the references * diff --git a/src/Composer/Package/RootPackageInterface.php b/src/Composer/Package/RootPackageInterface.php index c1cf8c1be..7a3be9d8e 100644 --- a/src/Composer/Package/RootPackageInterface.php +++ b/src/Composer/Package/RootPackageInterface.php @@ -58,6 +58,13 @@ interface RootPackageInterface extends CompletePackageInterface */ public function getPreferStable(); + /** + * Returns the root package's configuration + * + * @return array + */ + public function getConfig(); + /** * Set the required packages *