getDependenciesChainForInstallation() public method

Their action property may have changed and indicate what to do with them.
public getDependenciesChainForInstallation ( ) : Item[]
return Item[] list of item
Beispiel #1
0
 protected function resolveDependencies(Resolver $resolver, $epId)
 {
     try {
         $moduleschain = $resolver->getDependenciesChainForInstallation();
     } catch (ItemException $e) {
         $item = $e->getItem();
         $component = $item->getProperty('component');
         if ($e->getCode() == 1 || $e->getCode() == 4) {
             $component->inError = self::INSTALL_ERROR_CIRCULAR_DEPENDENCY;
             $this->error('module.circular.dependency', $component->getName());
         } else {
             if ($e->getCode() == 2) {
                 $depName = $e->getRelatedData()->getName();
                 $maxVersion = $minVersion = 0;
                 foreach ($component->dependencies as $compInfo) {
                     if ($compInfo['type'] == 'module' && $compInfo['name'] == $depName) {
                         $maxVersion = $depInfo['maxversion'];
                         $minVersion = $depInfo['minversion'];
                     }
                 }
                 $this->error('module.bad.dependency.version', array($component->getName(), $depName, $minVersion, $maxVersion));
             } else {
                 if ($e->getCode() == 3) {
                     $depName = $e->getRelatedData()->getName();
                     $this->error('install.error.delete.dependency', array($depName, $component->getName()));
                 } else {
                     if ($e->getCode() == 6) {
                         $component->inError = self::INSTALL_ERROR_MISSING_DEPENDENCIES;
                         $this->error('module.needed', array($component->getName(), implode(',', $e->getRelatedData())));
                     } else {
                         if ($e->getCode() == 5) {
                             $depName = $e->getRelatedData()->getName();
                             $this->error('install.error.install.dependency', array($depName, $component->getName()));
                         }
                     }
                 }
             }
         }
         $this->ok('install.entrypoint.bad.end', $epId);
         return false;
     } catch (\Exception $e) {
         $this->error('install.bad.dependencies');
         $this->ok('install.entrypoint.bad.end', $epId);
         return false;
     }
     $this->ok('install.dependencies.ok');
     return $moduleschain;
 }