From fabf5c2f6d816a3f3dbc453119f7603670275437 Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Wed, 9 May 2012 20:03:19 +0200 Subject: [PATCH] Add InstalledArrayRepository to make sure the root package is not purged by the Pool because of a lower stability --- src/Composer/Installer.php | 3 +- .../Repository/InstalledArrayRepository.php | 42 +++++++++++++++++++ 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 src/Composer/Repository/InstalledArrayRepository.php diff --git a/src/Composer/Installer.php b/src/Composer/Installer.php index 62e746234..0ad433c90 100644 --- a/src/Composer/Installer.php +++ b/src/Composer/Installer.php @@ -29,6 +29,7 @@ use Composer\Package\Locker; use Composer\Package\PackageInterface; use Composer\Repository\ArrayRepository; use Composer\Repository\CompositeRepository; +use Composer\Repository\InstalledArrayRepository; use Composer\Repository\PlatformRepository; use Composer\Repository\RepositoryInterface; use Composer\Repository\RepositoryManager; @@ -139,7 +140,7 @@ class Installer $repos = array_merge( $this->repositoryManager->getLocalRepositories(), array( - new ArrayRepository(array($this->package)), + new InstalledArrayRepository(array($this->package)), new PlatformRepository(), ) ); diff --git a/src/Composer/Repository/InstalledArrayRepository.php b/src/Composer/Repository/InstalledArrayRepository.php new file mode 100644 index 000000000..151d00190 --- /dev/null +++ b/src/Composer/Repository/InstalledArrayRepository.php @@ -0,0 +1,42 @@ + + * Jordi Boggiano + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Composer\Repository; + +use Composer\Json\JsonFile; +use Composer\Package\PackageInterface; +use Composer\Package\Loader\ArrayLoader; +use Composer\Package\Dumper\ArrayDumper; + +/** + * Installed array repository. + * + * This is used for serving the RootPackage inside an in-memory InstalledRepository + * + * @author Jordi Boggiano + */ +class InstalledArrayRepository extends ArrayRepository implements InstalledRepositoryInterface +{ + /** + * {@inheritDoc} + */ + public function write() + { + } + + /** + * {@inheritDoc} + */ + public function reload() + { + } +}