ソースを参照

Merge pull request #7357 from Toflar/better-solver-debug-output

Improve SAT resolving developer debug information
Jordi Boggiano 6 年 前
コミット
3fb2a054a7
1 ファイル変更10 行追加0 行削除
  1. 10 0
      src/Composer/DependencyResolver/Solver.php

+ 10 - 0
src/Composer/DependencyResolver/Solver.php

@@ -226,6 +226,7 @@ class Solver
         $this->io->writeError('Resolving dependencies through SAT', true, IOInterface::DEBUG);
         $before = microtime(true);
         $this->runSat(true);
+        $this->io->writeError('', true, IOInterface::DEBUG);
         $this->io->writeError(sprintf('Dependency resolution completed in %.3f seconds', microtime(true) - $before), true, IOInterface::VERBOSE);
 
         // decide to remove everything that's installed and undecided
@@ -759,10 +760,19 @@ class Solver
             }
 
             $rulesCount = count($this->rules);
+            $pass = 1;
 
+            $this->io->writeError('Looking at all rules.', true, IOInterface::DEBUG);
             for ($i = 0, $n = 0; $n < $rulesCount; $i++, $n++) {
                 if ($i == $rulesCount) {
+                    if (1 === $pass) {
+                        $this->io->writeError("Something's changed, looking at all rules again (pass #$pass)", false, IOInterface::DEBUG);
+                    } else {
+                        $this->io->overwriteError("Something's changed, looking at all rules again (pass #$pass)", false, null, IOInterface::DEBUG);
+                    }
+
                     $i = 0;
+                    $pass++;
                 }
 
                 $rule = $this->rules->ruleById[$i];