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, |