Comparison

util/startup.lua @ 8698:0499f3da0ec4

util.startup: Factor out processing of plugin and data paths into a separate functions
author Kim Alvefur <zash@zash.se>
date Thu, 29 Mar 2018 16:27:11 +0200
parent 8692:a55574754e5f
child 8699:580c13ed0ca1
comparison
equal deleted inserted replaced
8697:c60fdf148118 8698:0499f3da0ec4
190 -- luacheck: ignore 111/bare_sessions 111/full_sessions 111/hosts 190 -- luacheck: ignore 111/bare_sessions 111/full_sessions 111/hosts
191 bare_sessions = prosody.bare_sessions; 191 bare_sessions = prosody.bare_sessions;
192 full_sessions = prosody.full_sessions; 192 full_sessions = prosody.full_sessions;
193 hosts = prosody.hosts; 193 hosts = prosody.hosts;
194 194
195 local data_path = config.get("*", "data_path") or CFG_DATADIR or "data"; 195 prosody.paths = { source = CFG_SOURCEDIR, config = CFG_CONFIGDIR or ".",
196 plugins = CFG_PLUGINDIR or "plugins", data = "data" };
197
198 prosody.arg = _G.arg;
199
200 startup.detect_platform();
201 startup.detect_installed();
202 _G.prosody = prosody;
203 end
204
205 function startup.setup_datadir()
206 prosody.paths.data = config.get("*", "data_path") or CFG_DATADIR or "data";
207 end
208
209 function startup.setup_plugindir()
196 local custom_plugin_paths = config.get("*", "plugin_paths"); 210 local custom_plugin_paths = config.get("*", "plugin_paths");
197 if custom_plugin_paths then 211 if custom_plugin_paths then
198 local path_sep = package.config:sub(3,3); 212 local path_sep = package.config:sub(3,3);
199 -- path1;path2;path3;defaultpath... 213 -- path1;path2;path3;defaultpath...
200 -- luacheck: ignore 111 214 -- luacheck: ignore 111
201 CFG_PLUGINDIR = table.concat(custom_plugin_paths, path_sep)..path_sep..(CFG_PLUGINDIR or "plugins"); 215 CFG_PLUGINDIR = table.concat(custom_plugin_paths, path_sep)..path_sep..(CFG_PLUGINDIR or "plugins");
202 end 216 end
203 prosody.paths = { source = CFG_SOURCEDIR, config = CFG_CONFIGDIR or ".", 217 prosody.paths.plugins = CFG_PLUGINDIR;
204 plugins = CFG_PLUGINDIR or "plugins", data = data_path };
205
206 prosody.arg = _G.arg;
207
208 startup.detect_platform();
209 startup.detect_installed();
210 _G.prosody = prosody;
211 end 218 end
212 219
213 function startup.chdir() 220 function startup.chdir()
214 if prosody.installed then 221 if prosody.installed then
215 -- Change working directory to data path. 222 -- Change working directory to data path.
489 496
490 -- prosodyctl only 497 -- prosodyctl only
491 function startup.prosodyctl() 498 function startup.prosodyctl()
492 startup.read_config(); 499 startup.read_config();
493 startup.init_global_state(); 500 startup.init_global_state();
501 startup.setup_plugindir();
502 startup.setup_datadir();
494 startup.chdir(); 503 startup.chdir();
495 startup.read_version(); 504 startup.read_version();
496 startup.switch_user(); 505 startup.switch_user();
497 startup.check_dependencies(); 506 startup.check_dependencies();
498 startup.force_console_logging(); 507 startup.force_console_logging();
513 startup.sandbox_require(); 522 startup.sandbox_require();
514 startup.set_function_metatable(); 523 startup.set_function_metatable();
515 startup.check_dependencies(); 524 startup.check_dependencies();
516 startup.load_libraries(); 525 startup.load_libraries();
517 startup.init_global_state(); 526 startup.init_global_state();
527 startup.setup_plugindir();
528 startup.setup_datadir();
518 startup.init_logging(); 529 startup.init_logging();
519 startup.chdir(); 530 startup.chdir();
520 startup.add_global_prosody_functions(); 531 startup.add_global_prosody_functions();
521 startup.read_version(); 532 startup.read_version();
522 startup.log_greeting(); 533 startup.log_greeting();