mirror of
https://github.com/CommunityOx/ox_lib.git
synced 2026-08-17 06:56:03 +01:00
Some people accidentally, mistakenly, and without any malicious intent forget to attribute code from this resource to its source. This change will hopefully assist people, so that they do not make that mistake again.
47 lines
1.6 KiB
Lua
47 lines
1.6 KiB
Lua
--[[
|
|
https://github.com/overextended/ox_lib
|
|
|
|
This file is licensed under LGPL-3.0 or higher <https://www.gnu.org/licenses/lgpl-3.0.en.html>
|
|
|
|
Copyright (c) 2025 Linden <https://github.com/thelindat/fivem>
|
|
]]
|
|
|
|
function lib.versionCheck(repository)
|
|
local resource = GetInvokingResource() or GetCurrentResourceName()
|
|
|
|
local currentVersion = GetResourceMetadata(resource, 'version', 0)
|
|
|
|
if currentVersion then
|
|
currentVersion = currentVersion:match('%d+%.%d+%.%d+')
|
|
end
|
|
|
|
if not currentVersion then return print(("^1Unable to determine current resource version for '%s' ^0"):format(resource)) end
|
|
|
|
SetTimeout(1000, function()
|
|
PerformHttpRequest(('https://api.github.com/repos/%s/releases/latest'):format(repository), function(status, response)
|
|
if status ~= 200 then return end
|
|
|
|
response = json.decode(response)
|
|
if response.prerelease then return end
|
|
|
|
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) }
|
|
|
|
for i = 1, #cv do
|
|
local current, minimum = tonumber(cv[i]), tonumber(lv[i])
|
|
|
|
if current ~= minimum then
|
|
if current < minimum then
|
|
return print(('^3An update is available for %s (current version: %s)\r\n%s^0'):format(resource, currentVersion, response.html_url))
|
|
else break end
|
|
end
|
|
end
|
|
end, 'GET')
|
|
end)
|
|
end
|
|
|
|
lib.versionCheck('overextended/ox_lib')
|