From fec4d81a835f3d2b09232a0bcc65fbae0d256337 Mon Sep 17 00:00:00 2001 From: lucashedding <lucashedding@1463982.no-reply.drupal.org> Date: Wed, 3 Apr 2019 16:06:02 -0500 Subject: [PATCH] Issue #3045690 by heddn: Handle contrib version that contains core version compatibility --- src/Services/AutomaticUpdatesPsa.php | 5 +++++ .../src/Controller/JsonTestController.php | 10 +++++----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/Services/AutomaticUpdatesPsa.php b/src/Services/AutomaticUpdatesPsa.php index b53ec61f7b..9b31b744ad 100644 --- a/src/Services/AutomaticUpdatesPsa.php +++ b/src/Services/AutomaticUpdatesPsa.php @@ -189,6 +189,11 @@ class AutomaticUpdatesPsa implements AutomaticUpdatesPsaInterface { $this->logger->error('Extension list of type "%extension" does not exist.', ['%extension' => $extension_list]); return; } + array_walk($json->secure_versions, function (&$version) { + if (substr($version, 0, 4) === \Drupal::CORE_COMPATIBILITY . '-') { + $version = substr($version, 4); + } + }); foreach ($json->extensions as $extension_name) { if ($this->{$extension_list}->exists($extension_name)) { $extension = $this->{$extension_list}->getAllAvailableInfo()[$extension_name]; diff --git a/tests/modules/test_automatic_updates/src/Controller/JsonTestController.php b/tests/modules/test_automatic_updates/src/Controller/JsonTestController.php index ce3e585925..c84d11d9e4 100644 --- a/tests/modules/test_automatic_updates/src/Controller/JsonTestController.php +++ b/tests/modules/test_automatic_updates/src/Controller/JsonTestController.php @@ -53,7 +53,7 @@ class JsonTestController extends ControllerBase { 'project' => 'node', 'extensions' => ['node'], 'type' => 'module', - 'secure_versions' => ['8.2.0'], + 'secure_versions' => ['7.x-7.22', '8.x-8.2.0'], 'pubDate' => 'Tue, 19 Mar 2019 12:50:00 +0000', ]; $feed[] = [ @@ -62,7 +62,7 @@ class JsonTestController extends ControllerBase { 'project' => 'Standard Install Profile', 'extensions' => ['standard'], 'type' => 'profile', - 'secure_versions' => ['8.10.99'], + 'secure_versions' => ['8.x-8.10.99'], 'pubDate' => 'Tue, 19 Mar 2019 12:50:00 +0000', ]; $feed[] = [ @@ -71,7 +71,7 @@ class JsonTestController extends ControllerBase { 'project' => 'seven', 'extensions' => ['seven'], 'type' => 'theme', - 'secure_versions' => ['8.10.99'], + 'secure_versions' => ['8.x-8.10.99'], 'pubDate' => 'Tue, 19 Mar 2019 12:50:00 +0000', ]; $feed[] = [ @@ -80,7 +80,7 @@ class JsonTestController extends ControllerBase { 'project' => 'foobar', 'extensions' => ['foobar'], 'type' => 'foobar', - 'secure_versions' => ['8.10.99'], + 'secure_versions' => ['8.x-1.2'], 'pubDate' => 'Tue, 19 Mar 2019 12:50:00 +0000', ]; $feed[] = [ @@ -89,7 +89,7 @@ class JsonTestController extends ControllerBase { 'project' => 'token', 'extensions' => ['token'], 'type' => 'module', - 'secure_versions' => ['1.5'], + 'secure_versions' => ['7.x-1.7', '8.x-1.5'], 'pubDate' => 'Tue, 19 Mar 2019 12:50:00 +0000', ]; return new JsonResponse($feed); -- GitLab