diff options
| -rw-r--r-- | xmake/modules/private/action/require/impl/lock_packages.lua | 12 | ||||
| -rw-r--r-- | xmake/modules/private/action/require/impl/package.lua | 23 |
2 files changed, 23 insertions, 12 deletions
diff --git a/xmake/modules/private/action/require/impl/lock_packages.lua b/xmake/modules/private/action/require/impl/lock_packages.lua index f41e3122f..e624f8d1a 100644 --- a/xmake/modules/private/action/require/impl/lock_packages.lua +++ b/xmake/modules/private/action/require/impl/lock_packages.lua @@ -24,12 +24,10 @@ import("devel.git") import("private.action.require.impl.utils.filter") import("private.action.require.impl.utils.requirekey") --- get package key -function _get_packagekey(instance) +-- get locked package key +function _get_packagelock_key(instance) local requireinfo = instance:requireinfo() local requirestr = requireinfo.originstr - local plat = instance:plat() - local arch = instance:arch() local key = requirekey(requireinfo, {plat = instance:plat(), arch = instance:arch()}) return string.format("%s#%s", requirestr, key) end @@ -66,7 +64,7 @@ function _lock_package(instance) end for _, dep in ipairs(instance:plaindeps()) do result.deps = result.deps or {} - table.insert(result.deps, _get_packagekey(dep)) + table.insert(result.deps, _get_packagelock_key(dep)) end return result end @@ -76,8 +74,8 @@ function main(packages) if project.policy("package.requires_lock") then local results = {} for _, instance in ipairs(packages) do - local packagekey = _get_packagekey(instance) - results[packagekey] = _lock_package(instance) + local packagelock_key = _get_packagelock_key(instance) + results[packagelock_key] = _lock_package(instance) end io.writefile(project.requireslock(), string.serialize(results, {orderkeys = true})) end diff --git a/xmake/modules/private/action/require/impl/package.lua b/xmake/modules/private/action/require/impl/package.lua index ed0429984..554033496 100644 --- a/xmake/modules/private/action/require/impl/package.lua +++ b/xmake/modules/private/action/require/impl/package.lua @@ -30,7 +30,7 @@ import("core.tool.toolchain") import("core.package.package", {alias = "core_package"}) import("devel.git") import("private.action.require.impl.repository") -import("private.action.require.impl.utils.requirekey") +import("private.action.require.impl.utils.requirekey", {alias = "_get_requirekey"}) -- get memcache function _memcache() @@ -497,10 +497,17 @@ end -- get package key function _get_packagekey(packagename, requireinfo, version) - return requirekey(requireinfo, {name = packagename, - plat = requireinfo.plat, - arch = requireinfo.arch, - version = version or requireinfo.version}) + return _get_requirekey(requireinfo, {name = packagename, + plat = requireinfo.plat, + arch = requireinfo.arch, + version = version or requireinfo.version}) +end + +-- get locked package key +function _get_packagelock_key(requireinfo) + local requirestr = requireinfo.originstr + local key = _get_requirekey(requireinfo, {plat = requireinfo.plat, arch = requireinfo.arch}) + return string.format("%s#%s", requirestr, key) end -- inherit some builtin configs of parent package if these config values are not default value @@ -655,6 +662,12 @@ function _load_package(packagename, requireinfo, opt) -- finish requireinfo _finish_requireinfo(requireinfo, package) + -- get requirekey + if _has_locked_requires() then + local requirekey = _get_packagelock_key(requireinfo) + print("requirekey", requirekey) + end + -- select package version local version, source = _select_package_version(package, requireinfo) if version then |
