From 6609d0abc81b228398d5f616b190f9f46130241f Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Wed, 2 Oct 2024 11:53:50 +0200 Subject: [PATCH] Fix support for lock:false in Composer --- src/Composer/Plugin.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/Composer/Plugin.php b/src/Composer/Plugin.php index 32ef401..ee0dbf4 100644 --- a/src/Composer/Plugin.php +++ b/src/Composer/Plugin.php @@ -452,12 +452,21 @@ private function updateComposerJson(array $missingRequires, bool $sortPackages) private function updateComposerLock(Composer $composer, IOInterface $io) { + if ($composer->getConfig()->get('lock') === false) { + return; + } + $lock = substr(Factory::getComposerFile(), 0, -4).'lock'; $composerJson = file_get_contents(Factory::getComposerFile()); $lockFile = new JsonFile($lock, null, $io); $locker = ClassDiscovery::safeClassExists(RepositorySet::class) ? new Locker($io, $lockFile, $composer->getInstallationManager(), $composerJson) : new Locker($io, $lockFile, $composer->getRepositoryManager(), $composer->getInstallationManager(), $composerJson); + + if (!$locker->isLocked()) { + return; + } + $lockData = $locker->getLockData(); $lockData['content-hash'] = Locker::getContentHash($composerJson); $lockFile->write($lockData);