Example #1
0
File: v2.php Project: helgi/Pyrus
 /**
  * validate dependencies against the local registry, packages to be installed,
  * and environment (php version, OS, architecture, enabled extensions)
  *
  * @param array $toInstall an array of \Pyrus\Package objects
  * @param \PEAR2\MultiErrors $errs
  */
 function validateDependencies(array $toInstall, \PEAR2\MultiErrors $errs)
 {
     $dep = new \Pyrus\Dependency\Validator($this->packageInfo['channel'] . '/' . $this->packageInfo['name'], \Pyrus\Validate::DOWNLOADING, $errs);
     $dep->validatePhpDependency($this->dependencies['required']->php);
     $dep->validatePearinstallerDependency($this->dependencies['required']->pearinstaller);
     foreach (array('required', 'optional') as $required) {
         foreach ($this->dependencies[$required]->package as $d) {
             $dep->validatePackageDependency($d, $toInstall);
         }
         foreach ($this->dependencies[$required]->subpackage as $d) {
             $dep->validateSubpackageDependency($d, $toInstall);
         }
         foreach ($this->dependencies[$required]->extension as $d) {
             $dep->validateExtensionDependency($d);
         }
     }
     foreach ($this->dependencies['required']->arch as $d) {
         $dep->validateArchDependency($d);
     }
     foreach ($this->dependencies['required']->os as $d) {
         $dep->validateOsDependency($d);
     }
 }