diff options
| author | ruki <[email protected]> | 2021-08-24 00:37:09 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2021-08-24 00:37:09 +0800 |
| commit | 7e07186439f900505c1ab31a8b2a36452faf5fd3 (patch) | |
| tree | ebf34fb6c96a7d609d057fa0c5ed515e4fb89bf8 /xmake/modules/private/action/require/impl/package.lua | |
| parent | 3fbff8a507a94441047957c9eaaeadfb58e8f901 (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.lua | 33 |
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 {} |
