Ver código fonte

Use ReflectionExtension to read ext versions

Jordi Boggiano 13 anos atrás
pai
commit
ae922eaf4c
1 arquivos alterados com 9 adições e 2 exclusões
  1. 9 2
      src/Composer/Repository/PlatformRepository.php

+ 9 - 2
src/Composer/Repository/PlatformRepository.php

@@ -36,8 +36,15 @@ class PlatformRepository extends ArrayRepository
             if (in_array($ext, array('standard', 'Core'))) {
                 continue;
             }
-            // TODO maybe we could parse versions from phpinfo(INFO_MODULES)
-            $ext = new MemoryPackage('ext/'.strtolower($ext), '0', 'stable');
+
+            $reflExt = new \ReflectionExtension($ext);
+            try {
+                $version = BasePackage::parseVersion($reflExt->getVersion());
+            } catch (\UnexpectedValueException $e) {
+                $version = array('version' => '0', 'type' => 'stable');
+            }
+
+            $ext = new MemoryPackage('ext/'.strtolower($ext), $version['version'], $version['type']);
             $this->addPackage($ext);
         }
     }