--
local config = require "core.configmanager";
-local modulemanager = require "modulemanager"; -- This is necessary to avoid require loops
+local modulemanager; -- This gets set from modulemanager
local array = require "util.array";
local set = require "util.set";
local logger = require "util.logger";
local pluginloader = require "util.pluginloader";
local timer = require "util.timer";
+local resolve_relative_path = require"util.paths".resolve_relative_path;
local t_insert, t_remove, t_concat = table.insert, table.remove, table.concat;
local error, setmetatable, type = error, setmetatable, type;
local ipairs, pairs, select = ipairs, pairs, select;
local tonumber, tostring = tonumber, tostring;
+local require = require;
local pack = table.pack or function(...) return {n=select("#",...), ...}; end -- table.pack is only in 5.2
local unpack = table.unpack or unpack; -- renamed in 5.2
end
function api:load_resource(path, mode)
- path = config.resolve_relative_path(self:get_directory(), path);
+ path = resolve_relative_path(self:get_directory(), path);
return io.open(path, mode);
end
function api:open_store(name, type)
- return storagemanager.open(self.host, name or self.name, type);
+ return require"core.storagemanager".open(self.host, name or self.name, type);
+end
+
+function api.init(mm)
+ modulemanager = mm;
+ return api;
end
return api;