예제 #1
0
파일: Solver.php 프로젝트: Rudloff/composer
 /**
  * @param  int   $level
  * @param  array $decisionQueue
  * @param  bool  $disableRules
  * @param  Rule  $rule
  * @return int
  */
 private function selectAndInstall($level, array $decisionQueue, $disableRules, Rule $rule)
 {
     // choose best package to install from decisionQueue
     $literals = $this->policy->selectPreferredPackages($this->pool, $this->installedMap, $decisionQueue, $rule->getRequiredPackage());
     $selectedLiteral = array_shift($literals);
     // if there are multiple candidates, then branch
     if (count($literals)) {
         $this->branches[] = array($literals, $level);
     }
     return $this->setPropagateLearn($level, $selectedLiteral, $disableRules, $rule);
 }
예제 #2
0
파일: Solver.php 프로젝트: VicDeo/poc
 private function selectAndInstall($level, array $decisionQueue, $disableRules, Rule $rule)
 {
     $literals = $this->policy->selectPreferedPackages($this->pool, $this->installedMap, $decisionQueue, $rule->getRequiredPackage());
     $selectedLiteral = array_shift($literals);
     if (count($literals)) {
         $this->branches[] = array($literals, $level);
     }
     return $this->setPropagateLearn($level, $selectedLiteral, $disableRules, $rule);
 }