We were using exact string matching previously. We already have
a SemVer dependency in ExtensionRegistry.php, so we might as well
do things right.
Change-Id: I8895843a5b1116fca42e0c7179a2907fe84a74d1
(cherry picked from commit
3b0b9aa8ad35b9a567619186ac2174240db58726)
require_once __DIR__ . '/Maintenance.php';
+use Composer\Semver\Semver;
+
/**
* Checks whether your composer-installed dependencies are up to date
*
$installed = $lock->getInstalledDependencies();
foreach ( $json->getRequiredDependencies() as $name => $version ) {
if ( isset( $installed[$name] ) ) {
- if ( $installed[$name]['version'] !== $version ) {
+ if ( !SemVer::satisfies( $installed[$name]['version'], $version ) ) {
$this->output(
"$name: {$installed[$name]['version']} installed, $version required.\n"
);