1
0
Fork 0

Use wrapped PlatformRepository only in the Solver

pull/61/head
Jordi Boggiano 2011-10-22 19:05:20 +02:00
parent 28369ea623
commit c8cfa15f52
4 changed files with 5 additions and 37 deletions

View File

@ -13,9 +13,7 @@ use Composer\Console\Application as ComposerApplication;
// initialize repository manager // initialize repository manager
$rm = new Repository\RepositoryManager(); $rm = new Repository\RepositoryManager();
$rm->setLocalRepository(new Repository\PlatformRepository( $rm->setLocalRepository(new Repository\FilesystemRepository(new JsonFile('.composer/installed.json')));
new Repository\FilesystemRepository(new JsonFile('.composer/installed.json'))
));
$rm->setRepository('Packagist', new Repository\ComposerRepository('http://packagist.org')); $rm->setRepository('Packagist', new Repository\ComposerRepository('http://packagist.org'));
// initialize download manager // initialize download manager
@ -33,7 +31,6 @@ $im->setInstaller('symfony-bundle', new Installer\LibraryInstaller('vendor/bundl
$loader = new Package\Loader\JsonLoader(); $loader = new Package\Loader\JsonLoader();
$package = $loader->load(new JsonFile('composer.json')); $package = $loader->load(new JsonFile('composer.json'));
// init locker // init locker
$locker = new Package\Locker(new JsonFile('composer.lock'), $rm); $locker = new Package\Locker(new JsonFile('composer.lock'), $rm);

View File

@ -74,8 +74,9 @@ EOT
// prepare solver // prepare solver
$installationManager = $composer->getInstallationManager(); $installationManager = $composer->getInstallationManager();
$localRepo = $composer->getRepositoryManager()->getLocalRepository(); $localRepo = $composer->getRepositoryManager()->getLocalRepository();
$installedRepo = new Repository\PlatformRepository($localRepo);
$policy = new DependencyResolver\DefaultPolicy(); $policy = new DependencyResolver\DefaultPolicy();
$solver = new DependencyResolver\Solver($policy, $pool, $localRepo); $solver = new DependencyResolver\Solver($policy, $pool, $installedRepo);
// solve dependencies // solve dependencies
$operations = $solver->solve($request); $operations = $solver->solve($request);
@ -111,8 +112,6 @@ EOT
$localRepo->write(); $localRepo->write();
$output->writeln('> Generating autoload.php'); $output->writeln('> Generating autoload.php');
$localRepo = new \Composer\Repository\FilesystemRepository(
new \Composer\Json\JsonFile('.composer/installed.json'));
$generator = new AutoloadGenerator($localRepo, $composer->getPackage(), $installationManager); $generator = new AutoloadGenerator($localRepo, $composer->getPackage(), $installationManager);
$generator->dump('.composer/autoload.php'); $generator->dump('.composer/autoload.php');

View File

@ -88,10 +88,6 @@ class Locker
$name = $package->getName(); $name = $package->getName();
$version = $package->getVersion(); $version = $package->getVersion();
if ('php' === $name || preg_match('{^ext-[a-z0-9_-]+$}', $name)) {
continue;
}
if (!$name || !$version) { if (!$name || !$version) {
throw new \LogicException(sprintf( throw new \LogicException(sprintf(
'Package "%s" has no version or name and can not be locked', $package 'Package "%s" has no version or name and can not be locked', $package

View File

@ -20,11 +20,11 @@ use Composer\Package\Version\VersionParser;
/** /**
* @author Jordi Boggiano <j.boggiano@seld.be> * @author Jordi Boggiano <j.boggiano@seld.be>
*/ */
class PlatformRepository extends ArrayRepository implements WritableRepositoryInterface class PlatformRepository extends ArrayRepository
{ {
private $localRepository; private $localRepository;
public function __construct(WritableRepositoryInterface $localRepository) public function __construct(RepositoryInterface $localRepository)
{ {
$this->localRepository = $localRepository; $this->localRepository = $localRepository;
} }
@ -65,28 +65,4 @@ class PlatformRepository extends ArrayRepository implements WritableRepositoryIn
{ {
return array_merge(parent::getPackages(), $this->localRepository->getPackages()); return array_merge(parent::getPackages(), $this->localRepository->getPackages());
} }
/**
* {@inheritDoc}
*/
public function addPackage(PackageInterface $package)
{
$this->localRepository->addPackage($package);
}
/**
* {@inheritDoc}
*/
public function removePackage(PackageInterface $package)
{
$this->localRepository->removePackage($package);
}
/**
* {@inheritDoc}
*/
public function write()
{
$this->localRepository->write();
}
} }