private function assertServersLoaded() { if (null !== $this->servers) { return; } $serversData = $this->rootPackageFileManager->getExtraKey(self::SERVERS_KEY); if ($serversData) { $jsonValidator = new JsonValidator(); $errors = $jsonValidator->validate($serversData, __DIR__ . '/../../res/schema/servers-schema-1.0.json'); if (count($errors) > 0) { throw new ValidationFailedException(sprintf("The extra key \"%s\" is invalid:\n%s", self::SERVERS_KEY, implode("\n", $errors))); } } $this->servers = new ServerCollection(); $this->serversData = (array) $serversData; foreach ($this->serversData as $serverName => $serverData) { $this->servers->add($this->dataToServer($serverName, $serverData)); } }
private function assertTargetsLoaded() { if (null !== $this->targets) { return; } $targetsData = $this->rootPackageFileManager->getExtraKey(AssetPlugin::INSTALL_TARGETS_KEY); if ($targetsData) { $jsonValidator = new JsonValidator(); $errors = $jsonValidator->validate($targetsData, __DIR__ . '/../../res/schema/install-targets-schema-1.0.json'); if (count($errors) > 0) { throw new ValidationFailedException(sprintf("The extra key \"%s\" is invalid:\n%s", AssetPlugin::INSTALL_TARGETS_KEY, implode("\n", $errors))); } } $this->targets = new InstallTargetCollection(); $this->targetsData = (array) $targetsData; foreach ($this->targetsData as $targetName => $targetData) { $this->targets->add($this->dataToTarget($targetName, $targetData)); if (isset($targetData->default) && $targetData->default) { $this->targets->setDefaultTarget($targetName); } } }