Software /
code /
prosody
Comparison
util/startup.lua @ 8638:f8f45bbbd8ba
util.startup: Ignore various globals being read and written as part of startup [luacheck]
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Wed, 21 Mar 2018 16:30:24 +0100 |
parent | 8637:c8368c7c81a1 |
child | 8639:070a77c15f63 |
comparison
equal
deleted
inserted
replaced
8637:c8368c7c81a1 | 8638:f8f45bbbd8ba |
---|---|
1 -- Ignore the CFG_* variables | |
2 -- luacheck: ignore 113/CFG_CONFIGDIR 113/CFG_SOURCEDIR 113/CFG_DATADIR 113/CFG_PLUGINDIR | |
1 local startup = {}; | 3 local startup = {}; |
2 | 4 |
3 local prosody = { events = require "util.events".new() }; | 5 local prosody = { events = require "util.events".new() }; |
4 | 6 |
5 local config = require "core.configmanager"; | 7 local config = require "core.configmanager"; |
25 filename = _filename; | 27 filename = _filename; |
26 local file = io.open(filename); | 28 local file = io.open(filename); |
27 if file then | 29 if file then |
28 file:close(); | 30 file:close(); |
29 prosody.config_file = filename; | 31 prosody.config_file = filename; |
30 CFG_CONFIGDIR = filename:match("^(.*)[\\/][^\\/]*$"); | 32 CFG_CONFIGDIR = filename:match("^(.*)[\\/][^\\/]*$"); -- luacheck: ignore 111 |
31 break; | 33 break; |
32 end | 34 end |
33 end | 35 end |
34 prosody.config_file = filename | 36 prosody.config_file = filename |
35 local ok, level, err = config.load(filename); | 37 local ok, level, err = config.load(filename); |
112 local name, env = debug.getupvalue(debug.getinfo(f or 1).func, 1); | 114 local name, env = debug.getupvalue(debug.getinfo(f or 1).func, 1); |
113 if name == "_ENV" then | 115 if name == "_ENV" then |
114 return env; | 116 return env; |
115 end | 117 end |
116 end | 118 end |
117 function require(...) | 119 function require(...) -- luacheck: ignore 121 |
118 local curr_env = getfenv(2); | 120 local curr_env = getfenv(2); |
119 local curr_env_mt = getmetatable(curr_env); | 121 local curr_env_mt = getmetatable(curr_env); |
120 local _realG_mt = getmetatable(_realG); | 122 local _realG_mt = getmetatable(_realG); |
121 if curr_env_mt and curr_env_mt.__index and not curr_env_mt.__newindex and _realG_mt then | 123 if curr_env_mt and curr_env_mt.__index and not curr_env_mt.__newindex and _realG_mt then |
122 local old_newindex, old_index; | 124 local old_newindex, old_index; |
182 require "lfs".chdir(data_path); | 184 require "lfs".chdir(data_path); |
183 end | 185 end |
184 end | 186 end |
185 | 187 |
186 function startup.init_global_state() | 188 function startup.init_global_state() |
189 -- luacheck: ignore 121 | |
187 prosody.bare_sessions = {}; | 190 prosody.bare_sessions = {}; |
188 prosody.full_sessions = {}; | 191 prosody.full_sessions = {}; |
189 prosody.hosts = {}; | 192 prosody.hosts = {}; |
190 | 193 |
191 -- COMPAT: These globals are deprecated | 194 -- COMPAT: These globals are deprecated |
197 local data_path = config.get("*", "data_path") or CFG_DATADIR or "data"; | 200 local data_path = config.get("*", "data_path") or CFG_DATADIR or "data"; |
198 local custom_plugin_paths = config.get("*", "plugin_paths"); | 201 local custom_plugin_paths = config.get("*", "plugin_paths"); |
199 if custom_plugin_paths then | 202 if custom_plugin_paths then |
200 local path_sep = package.config:sub(3,3); | 203 local path_sep = package.config:sub(3,3); |
201 -- path1;path2;path3;defaultpath... | 204 -- path1;path2;path3;defaultpath... |
205 -- luacheck: ignore 111 | |
202 CFG_PLUGINDIR = table.concat(custom_plugin_paths, path_sep)..path_sep..(CFG_PLUGINDIR or "plugins"); | 206 CFG_PLUGINDIR = table.concat(custom_plugin_paths, path_sep)..path_sep..(CFG_PLUGINDIR or "plugins"); |
203 end | 207 end |
204 prosody.paths = { source = CFG_SOURCEDIR, config = CFG_CONFIGDIR or ".", | 208 prosody.paths = { source = CFG_SOURCEDIR, config = CFG_CONFIGDIR or ".", |
205 plugins = CFG_PLUGINDIR or "plugins", data = data_path }; | 209 plugins = CFG_PLUGINDIR or "plugins", data = data_path }; |
206 | 210 |
457 | 461 |
458 function startup.make_dummy_hosts() | 462 function startup.make_dummy_hosts() |
459 -- When running under prosodyctl, we don't want to | 463 -- When running under prosodyctl, we don't want to |
460 -- fully initialize the server, so we populate prosody.hosts | 464 -- fully initialize the server, so we populate prosody.hosts |
461 -- with just enough things for most code to work correctly | 465 -- with just enough things for most code to work correctly |
466 -- luacheck: ignore 122/hosts | |
462 prosody.core_post_stanza = function () end; -- TODO: mod_router! | 467 prosody.core_post_stanza = function () end; -- TODO: mod_router! |
463 local function make_host(hostname) | 468 local function make_host(hostname) |
464 return { | 469 return { |
465 type = "local", | 470 type = "local", |
466 events = prosody.events, | 471 events = prosody.events, |