diff --git a/resource/version/server.lua b/resource/version/server.lua index 89bdfdd..6a96d1e 100644 --- a/resource/version/server.lua +++ b/resource/version/server.lua @@ -19,13 +19,11 @@ function lib.versionCheck(repository) local latestVersion = response.tag_name:match('%d%.%d+%.%d+') if not latestVersion or latestVersion == currentVersion then return end - local cv = { string.strsplit('.', currentVersion) } - local lv = { string.strsplit('.', latestVersion) } + local cMajor, cMinor = string.strsplit('.', currentVersion, 2) + local lMajor, lMinor = string.strsplit('.', latestVersion, 2) - for i = 1, #cv do - if tonumber(cv[i]) < tonumber(lv[i]) then - return print(('^3An update is available for %s (current version: %s)\r\n%s^0'):format(resource, currentVersion, response.html_url)) - end + if tonumber(cMajor) < tonumber(lMajor) or tonumber(cMinor) < tonumber(lMinor) then + return print(('^3An update is available for %s (current version: %s)\r\n%s^0'):format(resource, currentVersion, response.html_url)) end end, 'GET') end) diff --git a/resource/version/shared.lua b/resource/version/shared.lua index c1c1a3a..3d14e45 100644 --- a/resource/version/shared.lua +++ b/resource/version/shared.lua @@ -2,18 +2,16 @@ function lib.checkDependency(resource, minimumVersion, printMessage) local currentVersion = GetResourceMetadata(resource, 'version', 0):match('%d%.%d+%.%d+') if currentVersion ~= minimumVersion then - local cv = { string.strsplit('.', currentVersion) } - local mv = { string.strsplit('.', minimumVersion) } + local cMajor, cMinor = string.strsplit('.', currentVersion, 2) + local mMajor, mMinor = string.strsplit('.', minimumVersion, 2) + local msg = ("^1%s requires version '%s' of '%s' (current version: %s)^0"):format(GetInvokingResource() or GetCurrentResourceName(), minimumVersion, resource, currentVersion) - - for i = 1, #cv do - if tonumber(cv[i]) < tonumber(mv[i]) then - if printMessage then - return print(msg) - end - - return false, msg + if tonumber(cMajor) < tonumber(mMajor) or tonumber(cMinor) < tonumber(mMinor) then + if printMessage then + return print(msg) end + + return false, msg end end