util/startup.lua
changeset 10167 661feb336e18
parent 9882 dd61201fc5af
child 10175 628e238feb04
--- 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()