diff options
| author | ruki <[email protected]> | 2021-08-22 20:41:39 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2021-08-22 20:41:39 +0800 |
| commit | c5d07f91362cb32737b6cdbf22188fcad70afd10 (patch) | |
| tree | 217ce8416395e028454bbd2e0fd35beb3c242250 | |
| parent | 6410bc544cbc8b57e2d07559df65c0a5219ebdcc (diff) | |
fix add_moduledirs
| -rw-r--r-- | xmake/core/sandbox/modules/import/core/sandbox/module.lua | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/xmake/core/sandbox/modules/import/core/sandbox/module.lua b/xmake/core/sandbox/modules/import/core/sandbox/module.lua index f5b45f6f8..ab859ab95 100644 --- a/xmake/core/sandbox/modules/import/core/sandbox/module.lua +++ b/xmake/core/sandbox/modules/import/core/sandbox/module.lua @@ -28,6 +28,7 @@ local utils = require("base/utils") local table = require("base/table") local string = require("base/string") local global = require("base/global") +local memcache = require("cache/memcache") local sandbox = require("sandbox/sandbox") local raise = require("sandbox/modules/raise") @@ -287,31 +288,27 @@ end -- get module directories function core_sandbox_module.directories() - local directories = core_sandbox_module._DIRS - if not directories then - directories = { path.join(global.directory(), "modules"), - path.join(os.programdir(), "modules"), - path.join(os.programdir(), "core/sandbox/modules/import")} + local moduledirs = memcache.get("core_sandbox_module", "moduledirs") + if not moduledirs then + moduledirs = { path.join(global.directory(), "modules"), + path.join(os.programdir(), "modules"), + path.join(os.programdir(), "core/sandbox/modules/import")} local modulesdir = os.getenv("XMAKE_MODULES_DIR") if modulesdir and os.isdir(modulesdir) then - table.insert(directories, 1, modulesdir) + table.insert(moduledirs, 1, modulesdir) end - core_sandbox_module._DIRS = directories + memcache.set("core_sandbox_module", "moduledirs", moduledirs) end - return directories + return moduledirs end -- add module directories function core_sandbox_module.add_directories(...) - - -- add directories local moduledirs = core_sandbox_module.directories() for _, dir in ipairs({...}) do table.insert(moduledirs, 1, dir) end - - -- remove unique directories - core_sandbox_module._DIRS = table.unique(moduledirs) + memcache.set("core_sandbox_module", "moduledirs", table.unique(moduledirs)) end -- find module |
