diff options
| author | ruki <[email protected]> | 2023-04-28 22:42:58 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2023-04-28 22:42:58 +0800 |
| commit | f853b312d7e6d2c9b3b035a4adf2779c9b77ea7e (patch) | |
| tree | 623a3134bc70c7cf1a8cf379da081d97df85152c | |
| parent | 1612189a53018cadad81d1408c8807449c7e3833 (diff) | |
improve to register references #3679
| -rw-r--r-- | xmake/modules/private/action/require/impl/register_packages.lua | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/xmake/modules/private/action/require/impl/register_packages.lua b/xmake/modules/private/action/require/impl/register_packages.lua index a6f0e750a..613cda5a3 100644 --- a/xmake/modules/private/action/require/impl/register_packages.lua +++ b/xmake/modules/private/action/require/impl/register_packages.lua @@ -143,8 +143,10 @@ function main(packages) end -- register references for `xrepo clean` + -- and we use glocal memory cache to save all packages from multiple arch/mode, e.g. `xmake project -m "debug,release" -k vsxmake` -- @see https://github.com/xmake-io/xmake/issues/3679 - local references = {} + local references = _g.references or {} + _g.references = references for _, instance in ipairs(packages) do if not instance:is_system() and not instance:is_thirdparty() then local installdir = instance:installdir({readonly = true}) @@ -153,7 +155,7 @@ function main(packages) end end end - localcache.set("references", "packages", references) + localcache.set("references", "packages", table.unique(references)) localcache.save("references") end |
