Extract package purging in a method and fix variable overriding
parent
a02940cafb
commit
a5edc9e357
|
@ -94,11 +94,7 @@ class Factory
|
||||||
$im = $this->createInstallationManager($rm, $dm, $vendorDir, $binDir, $io);
|
$im = $this->createInstallationManager($rm, $dm, $vendorDir, $binDir, $io);
|
||||||
|
|
||||||
// purge packages if they have been deleted on the filesystem
|
// purge packages if they have been deleted on the filesystem
|
||||||
foreach ($rm->getLocalRepository()->getPackages() as $package) {
|
$this->purgePackages($rm, $im);
|
||||||
if (!$im->isPackageInstalled($package)) {
|
|
||||||
$rm->getLocalRepository()->removePackage($package);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// init locker
|
// init locker
|
||||||
$lockFile = substr($composerFile, -5) === '.json' ? substr($composerFile, 0, -4).'lock' : $composerFile . '.lock';
|
$lockFile = substr($composerFile, -5) === '.json' ? substr($composerFile, 0, -4).'lock' : $composerFile . '.lock';
|
||||||
|
@ -187,6 +183,15 @@ class Factory
|
||||||
return $im;
|
return $im;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function purgePackages(Repository\RepositoryManager $rm, Installer\InstallationManager $im)
|
||||||
|
{
|
||||||
|
foreach ($rm->getLocalRepository()->getPackages() as $package) {
|
||||||
|
if (!$im->isPackageInstalled($package)) {
|
||||||
|
$rm->getLocalRepository()->removePackage($package);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static public function create(IOInterface $io, $composerFile = null)
|
static public function create(IOInterface $io, $composerFile = null)
|
||||||
{
|
{
|
||||||
$factory = new static();
|
$factory = new static();
|
||||||
|
|
Loading…
Reference in New Issue