Release - Set version compatibility for core extensions when updating core version
authorColeman Watts <coleman@civicrm.org>
Sat, 9 Apr 2022 01:25:47 +0000 (21:25 -0400)
committerColeman Watts <coleman@civicrm.org>
Sat, 9 Apr 2022 01:29:02 +0000 (21:29 -0400)
tools/bin/scripts/set-version.php

index ceec68eaa53c347a77159ebd5bb2413f36e5495a..de6d6ce680855c0af7d08a4b5afd6edc60305046 100755 (executable)
@@ -79,13 +79,23 @@ updateFile("sql/test_data_second_domain.mysql", function ($content) use ($newVer
   return str_replace($oldVersion, $newVersion, $content);
 });
 
+// Update core extension info
 $infoXmls = findCoreInfoXml();
 foreach ($infoXmls as $infoXml) {
   updateXmlFile($infoXml, function (DOMDocument $dom) use ($newVersion) {
+    // Update extension version
     foreach ($dom->getElementsByTagName('version') as $tag) {
       /* @var \DOMNode $tag */
       $tag->textContent = $newVersion;
     }
+    // Update compatability - set to major version of core
+    foreach ($dom->getElementsByTagName('compatibility') as $compat) {
+      /* @var \DOMNode $compat */
+      foreach ($compat->getElementsByTagName('ver') as $tag) {
+        /* @var \DOMNode $tag */
+        $tag->textContent = implode('.', array_slice(explode('.', $newVersion), 0, 2));
+      }
+    }
   });
 }