|
@@ -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
|