/** * Constructor. * * @param JsonFile $composerJson * @param bool $setDefaults */ public function __construct(JsonFile $composerJson, $setDefaults = true) { $this->composerJson = $composerJson; $this->baseDir = $composerJson->getFilesystem()->getAdapter()->getPathPrefix(); if ($setDefaults) { $this->setDefaults(); } }
/** * Constructor. * * @param JsonFile $composerJson * @param array $composerOverrides * @param bool $setDefaults */ public function __construct(JsonFile $composerJson, array $composerOverrides, $setDefaults = true) { parent::__construct($composerOverrides); /** @var Filesystem $extensionFs */ $extensionFs = $composerJson->getFilesystem(); /** @var Local $adapter */ $adapter = $extensionFs->getAdapter(); $this->set('baseDir', $adapter->getPathPrefix()); $this->set('composerJson', $composerJson); }
/** * @internal Do not use * * @param bool $force */ public function cacheConfig($force = false) { if ($this->cacheFile->exists() && $force === false) { return; } $this->cacheFile->dump($this->data); }
/** * Cleanly update a Composer JSON file. * * @param JsonFile $jsonFile * @param array $new * @param string $requireKey * @param string $removeKey * @param boolean $sortPackages * * @return boolean */ private function updateFileCleanly(JsonFile $jsonFile, array $new, $requireKey, $removeKey, $sortPackages) { $composerJson = $jsonFile->read(); $manipulator = new JsonManipulator($composerJson); foreach ($new as $package => $constraint) { $constraint = $this->findBestVersionForPackage($package, $constraint); if (!$manipulator->addLink($requireKey, $package, $constraint, $sortPackages)) { return false; } if (!$manipulator->removeSubNode($removeKey, $package)) { return false; } } $jsonFile->put($manipulator->getContents()); return true; }
/** * @internal Do not use * * @param FilesystemInterface $cacheFs * @param string $environment * @param bool $force */ public function cacheConfig(FilesystemInterface $cacheFs, $environment, $force = false) { $cacheFileName = $environment . '/config-cache.json'; if ($cacheFs->has($cacheFileName) && $force === false) { return; } $cacheFile = new JsonFile($cacheFs, $cacheFileName); $cacheFile->dump($this->data); }