diff options
| author | ruki <[email protected]> | 2025-01-12 21:27:13 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2025-01-12 21:27:13 +0800 |
| commit | 543fa337184df181eae18b35eb8f80c125ab8a84 (patch) | |
| tree | df9a70fea3cec29276a389fda86983c761ad16ac /xmake/core/package/package.lua | |
| parent | 5bc5ce579fe5af900fc5dd653dfde7be486ea9a1 (diff) | |
fix errors for apis
Diffstat (limited to 'xmake/core/package/package.lua')
| -rw-r--r-- | xmake/core/package/package.lua | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/xmake/core/package/package.lua b/xmake/core/package/package.lua index ea33e24fa..f7b49db38 100644 --- a/xmake/core/package/package.lua +++ b/xmake/core/package/package.lua @@ -55,23 +55,25 @@ local sandbox_module = require("sandbox/modules/import/core/sandbox/module") -- new an instance function _instance.new(name, info, opt) opt = opt or {} - local parts = name:split("::", {plain = true}) local instance = table.inherit(_instance) - local managers = package._memcache():get("managers") - if managers == nil and #parts == 2 then - managers = hashset.new() - for _, dir in ipairs(os.dirs(path.join(os.programdir(), "modules/package/manager/*"))) do - managers:insert(path.filename(dir)) + if name then + local parts = name:split("::", {plain = true}) + local managers = package._memcache():get("managers") + if managers == nil and #parts == 2 then + managers = hashset.new() + for _, dir in ipairs(os.dirs(path.join(os.programdir(), "modules/package/manager/*"))) do + managers:insert(path.filename(dir)) + end + package._memcache():set("managers", managers) end - package._memcache():set("managers", managers) - end - if #parts == 2 and managers and managers:has(parts[1]) then - instance._NAME = name - else - instance._NAME = parts[#parts] - table.remove(parts) - if #parts > 0 then - instance._NAMESPACE = table.concat(parts, "::") + if #parts == 2 and managers and managers:has(parts[1]) then + instance._NAME = name + else + instance._NAME = parts[#parts] + table.remove(parts) + if #parts > 0 then + instance._NAMESPACE = table.concat(parts, "::") + end end end instance._INFO = info |
