function Installer::mockLocalRepositories
Replace local repositories with InstalledArrayRepository instances
This is to prevent any accidental modification of the existing repos on disk
1 call to Installer::mockLocalRepositories()
- Installer::run in vendor/
composer/ composer/ src/ Composer/ Installer.php - Run installation (or update)
File
-
vendor/
composer/ composer/ src/ Composer/ Installer.php, line 1072
Class
- Installer
- @author Jordi Boggiano <j.boggiano@seld.be> @author Beau Simensen <beau@dflydev.com> @author Konstantin Kudryashov <ever.zet@gmail.com> @author Nils Adermann <naderman@naderman.de>
Namespace
ComposerCode
private function mockLocalRepositories(RepositoryManager $rm) : void {
$packages = [];
foreach ($rm->getLocalRepository()
->getPackages() as $package) {
$packages[(string) $package] = clone $package;
}
foreach ($packages as $key => $package) {
if ($package instanceof AliasPackage) {
$alias = (string) $package->getAliasOf();
$className = get_class($package);
$packages[$key] = new $className($packages[$alias], $package->getVersion(), $package->getPrettyVersion());
}
}
$rm->setLocalRepository(new InstalledArrayRepository($packages));
}