util.startup: Factor out processing of plugin and data paths into a separate functions

remotes/origin/0.11
Kim Alvefur 8 years ago
parent 14b0dd8bdf
commit 8a2aef3598
  1. 29
      util/startup.lua

@ -192,16 +192,8 @@ function startup.init_global_state()
full_sessions = prosody.full_sessions;
hosts = prosody.hosts;
local data_path = config.get("*", "data_path") or CFG_DATADIR or "data";
local custom_plugin_paths = config.get("*", "plugin_paths");
if custom_plugin_paths then
local path_sep = package.config:sub(3,3);
-- path1;path2;path3;defaultpath...
-- luacheck: ignore 111
CFG_PLUGINDIR = table.concat(custom_plugin_paths, path_sep)..path_sep..(CFG_PLUGINDIR or "plugins");
end
prosody.paths = { source = CFG_SOURCEDIR, config = CFG_CONFIGDIR or ".",
plugins = CFG_PLUGINDIR or "plugins", data = data_path };
plugins = CFG_PLUGINDIR or "plugins", data = "data" };
prosody.arg = _G.arg;
@ -210,6 +202,21 @@ function startup.init_global_state()
_G.prosody = prosody;
end
function startup.setup_datadir()
prosody.paths.data = config.get("*", "data_path") or CFG_DATADIR or "data";
end
function startup.setup_plugindir()
local custom_plugin_paths = config.get("*", "plugin_paths");
if custom_plugin_paths then
local path_sep = package.config:sub(3,3);
-- path1;path2;path3;defaultpath...
-- luacheck: ignore 111
CFG_PLUGINDIR = table.concat(custom_plugin_paths, path_sep)..path_sep..(CFG_PLUGINDIR or "plugins");
end
prosody.paths.plugins = CFG_PLUGINDIR;
end
function startup.chdir()
if prosody.installed then
-- Change working directory to data path.
@ -491,6 +498,8 @@ end
function startup.prosodyctl()
startup.read_config();
startup.init_global_state();
startup.setup_plugindir();
startup.setup_datadir();
startup.chdir();
startup.read_version();
startup.switch_user();
@ -515,6 +524,8 @@ function startup.prosody()
startup.check_dependencies();
startup.load_libraries();
startup.init_global_state();
startup.setup_plugindir();
startup.setup_datadir();
startup.init_logging();
startup.chdir();
startup.add_global_prosody_functions();

Loading…
Cancel
Save