mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-04 18:41:51 +00:00
fix fix lua version comparision
This commit is contained in:
parent
9444dc0c45
commit
4be73acc61
1 changed files with 14 additions and 15 deletions
|
|
@ -182,15 +182,15 @@ end
|
|||
local Version = {}
|
||||
|
||||
function Version.matches_pattern(version)
|
||||
for _, letter in string.gmatch(version, "%.+") do
|
||||
if type(letter) ~= "number" or letter ~= "." then
|
||||
return false;
|
||||
end
|
||||
local t = string.split(version, ".")
|
||||
if #t ~= 2 and #t ~= 3 then return false end
|
||||
|
||||
local t = string.split(version, ".")
|
||||
|
||||
return #t == 2 or #t == 3;
|
||||
for i = 1, #t do
|
||||
local matched = string.match(t[i], "^%d+$")
|
||||
if not matched then return false end
|
||||
end
|
||||
|
||||
return true
|
||||
end
|
||||
|
||||
function Version.__equal(ver1, ver2)
|
||||
|
|
@ -208,7 +208,7 @@ function Version.__less(ver1, ver2)
|
|||
end
|
||||
|
||||
function Version.__greater_or_equal(ver1, ver2)
|
||||
return not Version.__less(ver1, ver2)
|
||||
return not Version.__less(ver2, ver1)
|
||||
end
|
||||
|
||||
function Version.__less_or_equal(ver1, ver2)
|
||||
|
|
@ -230,9 +230,9 @@ function Version.compare(op, ver1, ver2)
|
|||
local comparison_func = Version.operators[op];
|
||||
|
||||
if comparison_func then
|
||||
return comparison_func(ver1, ver2);
|
||||
return comparison_func(ver1, ver2)
|
||||
else
|
||||
return false;
|
||||
return false
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -247,13 +247,12 @@ function Version.parse(version)
|
|||
return op, string.sub(version, #op + 1)
|
||||
end
|
||||
|
||||
return "=", version;
|
||||
return "=", version
|
||||
end
|
||||
|
||||
local function compare_version(dependent_version, actual_version)
|
||||
local function compare_version(op, dependent_version, actual_version)
|
||||
if Version.matches_pattern(dependent_version) and Version.matches_pattern(actual_version) then
|
||||
local op, dep_ver = Version.parse_version(dependent_version)
|
||||
Version.compare(op, dep_ver, actual_version)
|
||||
return Version.compare(op, dep_ver, actual_version)
|
||||
elseif dependent_version == "*" or dependent_version == actual_version then
|
||||
return true
|
||||
else
|
||||
|
|
@ -280,7 +279,7 @@ function check_dependencies(packinfo)
|
|||
local dep_pack = pack.get_info(depid)
|
||||
local op, ver = Version.parse(depver)
|
||||
|
||||
if not compare_version(depver, dep_pack.version) then
|
||||
if not compare_version(op, ver, dep_pack.version) then
|
||||
return string.format(
|
||||
"%s: %s != %s (%s)",
|
||||
gui.str("error.dependency-version-not-met"),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue