MDL-69475 install: Version, env. and minimal changes before branching
authorEloy Lafuente (stronk7) <stronk7@moodle.org>
Mon, 3 Aug 2020 10:21:37 +0000 (12:21 +0200)
committerEloy Lafuente (stronk7) <stronk7@moodle.org>
Sun, 16 Aug 2020 19:03:28 +0000 (21:03 +0200)
Note this doesn't aim to be a complete change-set, but just the
minimum to switch to 3-digit $branches and keep installation, checks
and tests running and passing.

lib/environmentlib.php
lib/tests/setuplib_test.php
version.php

index 64a3a4f..df11fa9 100644 (file)
@@ -368,7 +368,7 @@ function get_latest_version_available($version, $env_select) {
         return false;
     }
 /// First we look for exact version
         return false;
     }
 /// First we look for exact version
-    if (in_array($version, $versions)) {
+    if (in_array($version, $versions, true)) {
         return $version;
     } else {
         $found_version = false;
         return $version;
     } else {
         $found_version = false;
@@ -416,7 +416,7 @@ function get_environment_for_version($version, $env_select) {
     }
 
 /// If the version requested is available
     }
 
 /// If the version requested is available
-    if (!in_array($version, $versions)) {
+    if (!in_array($version, $versions, true)) {
         return false;
     }
 
         return false;
     }
 
@@ -808,8 +808,15 @@ function environment_check_moodle($version, $env_select) {
     $release = get_config('', 'release');
     $current_version = normalize_version($release);
     if (strpos($release, 'dev') !== false) {
     $release = get_config('', 'release');
     $current_version = normalize_version($release);
     if (strpos($release, 'dev') !== false) {
-        // when final version is required, dev is NOT enough!
-        $current_version = $current_version - 0.1;
+        // When final version is required, dev is NOT enough so, at all effects
+        // it's like we are running the previous version.
+        $versionarr = explode('.', $current_version);
+        if (isset($versionarr[1]) and $versionarr[1] > 0) {
+            $versionarr[1]--;
+            $current_version = implode('.', $versionarr);
+        } else {
+            $current_version = $current_version - 0.1;
+        }
     }
 
 /// And finally compare them, saving results
     }
 
 /// And finally compare them, saving results
index 1e6c3b3..3e00f6b 100644 (file)
@@ -43,7 +43,7 @@ class core_setuplib_testcase extends advanced_testcase {
         } else {
             $docroot = $CFG->docroot;
         }
         } else {
             $docroot = $CFG->docroot;
         }
-        $this->assertRegExp('~^' . preg_quote($docroot, '') . '/\d{2}/' . current_language() . '/course/editing$~',
+        $this->assertRegExp('~^' . preg_quote($docroot, '') . '/\d{2,3}/' . current_language() . '/course/editing$~',
                 get_docs_url('course/editing'));
     }
 
                 get_docs_url('course/editing'));
     }
 
index 6c761f6..50f89de 100644 (file)
@@ -33,5 +33,5 @@ $version  = 2020081400.00;              // YYYYMMDD      = weekly release date o
                                         //         RR    = release increments - 00 in DEV branches.
                                         //           .XX = incremental changes.
 $release  = '4.0dev (Build: 20200814)'; // Human-friendly version name
                                         //         RR    = release increments - 00 in DEV branches.
                                         //           .XX = incremental changes.
 $release  = '4.0dev (Build: 20200814)'; // Human-friendly version name
-$branch   = '40';                       // This version's branch.
+$branch   = '400';                      // This version's branch.
 $maturity = MATURITY_ALPHA;             // This version's maturity level.
 $maturity = MATURITY_ALPHA;             // This version's maturity level.