Ejemplo n.º 1
0
 /**
  * @param Package $package
  * @param array   $packageInfo
  */
 private function resolveDependencies(Package $package, array $packageInfo)
 {
     if (!isset($packageInfo[self::DEPENDENCIES_KEY])) {
         return;
     }
     foreach ($packageInfo[self::DEPENDENCIES_KEY] as $dependencyName => $dependencyInfo) {
         $dependencyPackage = $this->packages->get($dependencyName);
         if (null !== $dependencyPackage) {
             $package->addDependency($dependencyPackage);
         }
     }
 }
Ejemplo n.º 2
0
 /**
  * Create single formula for package
  *
  * @param Package $package
  * @param Boolean $nestDependencies
  * @param string  $typeExtension
  *
  * @return null
  *
  * @throws InvalidArgumentException
  */
 protected function createSingleFormula(Package $package, $nestDependencies, $typeExtension)
 {
     if (!in_array($typeExtension, array_keys($this->typeGetters))) {
         throw new InvalidArgumentException(sprintf("Extension '%s' is not in list of valid extensions: %s", $typeExtension, implode(', ', array_keys($this->typeGetters))));
     }
     $typeGetter = $this->typeGetters[$typeExtension];
     // fetch the files from the package with the specified getter
     $files = $package->{$typeGetter}()->toArray();
     if (empty($files)) {
         return null;
     }
     if ($nestDependencies) {
         /** @var $packageDependency Package */
         foreach ($package->getDependencies() as $packageDependency) {
             $depFiles = $packageDependency->{$typeGetter}()->toArray();
             if (empty($depFiles)) {
                 continue;
             }
             $packageDependencyName = $this->namingStrategy->translateName($packageDependency->getName());
             array_unshift($files, '@' . $packageDependencyName . '_' . $typeExtension);
         }
     }
     return $files;
 }