diff options
| author | ruki <[email protected]> | 2021-08-19 00:53:05 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2021-08-19 00:53:05 +0800 |
| commit | 7d85d8190b2e650ad02552c4935092a6d732206d (patch) | |
| tree | 1efc3ffbba2cd9270808c4526d85389541aae488 /xmake/modules/private/action/require/impl/package.lua | |
| parent | e830cca00c1d3a2761eb725003823d8660acafc8 (diff) | |
improve requirekey
Diffstat (limited to 'xmake/modules/private/action/require/impl/package.lua')
| -rw-r--r-- | xmake/modules/private/action/require/impl/package.lua | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/xmake/modules/private/action/require/impl/package.lua b/xmake/modules/private/action/require/impl/package.lua index 3d9145477..ade76e9d9 100644 --- a/xmake/modules/private/action/require/impl/package.lua +++ b/xmake/modules/private/action/require/impl/package.lua @@ -219,7 +219,7 @@ function _get_locked_requires(requirekey) _memcache():set("requireslock", requireslock or false) end if requireslock then - return requireslock[requirekey] + return requireslock[requirekey], requireslock.version end end @@ -638,6 +638,19 @@ function _load_package(packagename, requireinfo, opt) requireinfo.label = splitinfo[2] end + -- sve requirekey + local requirekey = _get_packagelock_key(requireinfo) + 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 + -- load package from project first local package if os.isfile(os.projectfile()) then @@ -679,16 +692,6 @@ function _load_package(packagename, requireinfo, opt) -- finish requireinfo _finish_requireinfo(requireinfo, package) - -- get locked requireinfo - local locked_requireinfo - if _has_locked_requires() then - local requirekey = _get_packagelock_key(requireinfo) - locked_requireinfo = _get_locked_requires(requirekey) - if semver.compare(project.requireslock_version(), locked_requireinfo.version) < 0 then - locked_requireinfo = nil - end - end - -- select package version local version, source = _select_package_version(package, requireinfo, locked_requireinfo) if version then |
