diff --git a/scripts/checkupdate.lua b/scripts/checkupdate.lua index 7a8e7a57e..838f76240 100644 --- a/scripts/checkupdate.lua +++ b/scripts/checkupdate.lua @@ -98,6 +98,18 @@ function _check_version_from_github_releases(package, url) end end +function _version_is_behind_conditions(package) + local scriptfile = path.join(package:scriptdir(), "xmake.lua") + local file = io.open(scriptfile) + for line in file:lines() do + local pos = line:find("add_versions", 1, true) or line:find("add_versionfiles", 1, true) + if pos and pos > 5 then + return true + end + end + file:close() +end + function main(package) local checkers = { ["https://github%.com/.-/.-/archive/refs/tags/.*"] = _check_version_from_github_tags, @@ -105,7 +117,7 @@ function main(package) } for _, url in ipairs(package:urls()) do for pattern, checker in pairs(checkers) do - if url:match(pattern) then + if url:match(pattern) and not _version_is_behind_conditions(package) then return checker(package, url) end end