summaryrefslogtreecommitdiff
path: root/xmake/core/base/task.lua
diff options
context:
space:
mode:
Diffstat (limited to 'xmake/core/base/task.lua')
-rw-r--r--xmake/core/base/task.lua12
1 files changed, 6 insertions, 6 deletions
diff --git a/xmake/core/base/task.lua b/xmake/core/base/task.lua
index 2488665f5..e8d2441b9 100644
--- a/xmake/core/base/task.lua
+++ b/xmake/core/base/task.lua
@@ -28,6 +28,7 @@ local string = require("base/string")
local global = require("base/global")
local hashset = require("base/hashset")
local interpreter = require("base/interpreter")
+local addon = require("package/addon")
local sandbox = require("sandbox/sandbox")
local config = require("project/config")
local sandbox_os = require("sandbox/modules/os")
@@ -89,12 +90,11 @@ function task._directories()
path.join(os.programdir(), "actions")}
-- add the plugins of the installed addons, e.g. ~/.xmake/addons/<name>/<version>/plugins
- local addonsdir = path.join(global.directory(), "addons")
- if os.isdir(addonsdir) then
- for _, plugindir in ipairs(os.dirs(path.join(addonsdir, "*", "*", "plugins"))) do
- table.insert(dirs, plugindir)
- end
- end
+ --
+ -- we get them from the addons registry file directly,
+ -- so we do not need to scan the whole addons directory on startup
+ --
+ table.join2(dirs, addon.payloads("plugins"))
local plugindirs = os.getenv("XMAKE_PLUGIN_DIRS")
if plugindirs then