summaryrefslogtreecommitdiff
path: root/xmake/modules/private/action/require/impl/package.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2021-08-24 00:37:09 +0800
committerruki <[email protected]>2021-08-24 00:37:09 +0800
commit7e07186439f900505c1ab31a8b2a36452faf5fd3 (patch)
treeebf34fb6c96a7d609d057fa0c5ed515e4fb89bf8 /xmake/modules/private/action/require/impl/package.lua
parent3fbff8a507a94441047957c9eaaeadfb58e8f901 (diff)
show upgraded packages
Diffstat (limited to 'xmake/modules/private/action/require/impl/package.lua')
-rw-r--r--xmake/modules/private/action/require/impl/package.lua33
1 files changed, 21 insertions, 12 deletions
diff --git a/xmake/modules/private/action/require/impl/package.lua b/xmake/modules/private/action/require/impl/package.lua
index c8035fecd..c3d642964 100644
--- a/xmake/modules/private/action/require/impl/package.lua
+++ b/xmake/modules/private/action/require/impl/package.lua
@@ -208,17 +208,19 @@ function _load_package_from_repository(packagename, opt)
end
-- has locked requires?
-function _has_locked_requires()
- if not option.get("upgrade") then
+function _has_locked_requires(opt)
+ opt = opt or {}
+ if not option.get("upgrade") or opt.force then
return project.policy("package.requires_lock") and os.isfile(project.requireslock())
end
end
-- get locked requires
-function _get_locked_requires(requirekey)
+function _get_locked_requires(requirekey, opt)
+ opt = opt or {}
local requireslock = _memcache():get("requireslock")
- if requireslock == nil then
- if _has_locked_requires() then
+ if requireslock == nil or opt.force then
+ if _has_locked_requires(opt) then
requireslock = io.load(project.requireslock())
end
_memcache():set("requireslock", requireslock or false)
@@ -651,13 +653,7 @@ function _load_package(packagename, requireinfo, opt)
requireinfo.requirekey = requirekey
-- get locked requireinfo
- local locked_requireinfo, requireslock_version
- if _has_locked_requires() then
- locked_requireinfo, requireslock_version = _get_locked_requires(requirekey)
- if requireslock_version and semver.compare(project.requireslock_version(), requireslock_version) < 0 then
- locked_requireinfo = nil
- end
- end
+ local locked_requireinfo = get_locked_requireinfo(requireinfo)
-- load package from project first
local package
@@ -955,6 +951,19 @@ function get_configs_str(package)
return configs_str
end
+-- get locked requireinfo
+function get_locked_requireinfo(requireinfo, opt)
+ local requirekey = requireinfo.requirekey
+ local locked_requireinfo, requireslock_version
+ if _has_locked_requires(opt) and requirekey then
+ locked_requireinfo, requireslock_version = _get_locked_requires(requirekey, opt)
+ if requireslock_version and semver.compare(project.requireslock_version(), requireslock_version) < 0 then
+ locked_requireinfo = nil
+ end
+ end
+ return locked_requireinfo, requireslock_version
+end
+
-- load requires
function load_requires(requires, requires_extra, opt)
opt = opt or {}