コード例 #1
0
 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));
     }
 }
コード例 #2
0
 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);
         }
     }
 }