Эх сурвалжийг харах

Better error message for present but incompatible versions

hhvm-nightly (and next week's release) now report 4.x, so all the 3.x
constraints are now giving misleading error messages with this patch.

Before:

```
    - facebook/fbexpect v2.3.0 requires hhvm ^3.28 -> you are running this with PHP and not HHVM.
```

After:

```
    - facebook/fbexpect v2.3.0 requires hhvm ^3.28 -> your HHVM version (4.0.0-dev) does not satisfy that requirement.
```
Fred Emmott 6 жил өмнө
parent
commit
17788c76f6

+ 8 - 3
src/Composer/DependencyResolver/Rule.php

@@ -175,12 +175,17 @@ abstract class Rule
                             return $text . ' -> your HHVM version does not satisfy that requirement.';
                         }
 
+                        $packages = $pool->whatProvides($targetName);
+                        $package = count($packages) ? current($packages) : phpversion();
+
                         if ($targetName === 'hhvm') {
-                            return $text . ' -> you are running this with PHP and not HHVM.';
+                            if ($package instanceof CompletePackage) {
+                                return $text . ' -> your HHVM version ('.$package->getPrettyVersion().') does not satisfy that requirement.';
+                            } else {
+                                return $text . ' -> you are running this with PHP and not HHVM.';
+                            }
                         }
 
-                        $packages = $pool->whatProvides($targetName);
-                        $package = count($packages) ? current($packages) : phpversion();
 
                         if (!($package instanceof CompletePackage)) {
                             return $text . ' -> your PHP version ('.phpversion().') does not satisfy that requirement.';