# HG changeset patch # User João Duarte # Date 1563989821 25200 # Node ID 661feb336e1848f736e6a739fe70b5562f441bd1 # Parent 7a4c15f75debc007ecf7bff8c4c293a9eeb60979 util.startup: Now it also loads default or configured paths to custom plugin directories and creates them diff -r 7a4c15f75deb -r 661feb336e18 util/startup.lua --- a/util/startup.lua Wed Jul 24 05:07:57 2019 -0700 +++ b/util/startup.lua Wed Jul 24 10:37:01 2019 -0700 @@ -227,6 +227,7 @@ function startup.setup_plugindir() local custom_plugin_paths = config.get("*", "plugin_paths"); + local installer_plugin_paths = config.get("*", "installer_plugin_paths") or {"custom_plugins"}; if custom_plugin_paths then local path_sep = package.config:sub(3,3); -- path1;path2;path3;defaultpath... @@ -234,6 +235,17 @@ CFG_PLUGINDIR = table.concat(custom_plugin_paths, path_sep)..path_sep..(CFG_PLUGINDIR or "plugins"); prosody.paths.plugins = CFG_PLUGINDIR; end + if installer_plugin_paths then + for path, _ in ipairs(installer_plugin_paths) do + if os.execute('[ -d "'..installer_plugin_paths[path]..'" ]') ~= 0 then + os.execute("mkdir "..installer_plugin_paths[path]) + end + end + local path_sep = package.config:sub(3,3); + -- luacheck: ignore 111 + CFG_PLUGINDIR = table.concat(installer_plugin_paths, path_sep)..path_sep..(CFG_PLUGINDIR or "plugins"); + prosody.paths.plugins = CFG_PLUGINDIR; + end end function startup.chdir()