Пример #1
0
 /**
  * @param  PackageInterface $package
  * @param  bool             $setInfo
  * @return string
  */
 protected function getPackageTag(PackageInterface $package, $setInfo = false)
 {
     $decode = $this->findPackage($package->getName());
     // open package repository
     $repoUrl = $decode['url'];
     $this->repository->setUrl($repoUrl)->setHttpClient($this->githubClient);
     $packageTag = $this->repository->findPackage($package->getRequiredVersion());
     if (is_null($packageTag)) {
         throw new RuntimeException(sprintf('Cannot find package %s version %s.', $package->getName(), $package->getRequiredVersion()));
     }
     $bowerJson = $this->repository->getBower($packageTag);
     $bower = json_decode($bowerJson, true);
     if (!is_array($bower)) {
         throw new RuntimeException(sprintf('Invalid bower.json found in package %s: %s.', $package->getName(), $bowerJson));
     }
     if ($setInfo) {
         $package->setInfo($bower);
     }
     return $packageTag;
 }