summaryrefslogtreecommitdiffstatshomepage
path: root/plugins/boot.lua
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/boot.lua')
-rw-r--r--plugins/boot.lua24
1 files changed, 24 insertions, 0 deletions
diff --git a/plugins/boot.lua b/plugins/boot.lua
new file mode 100644
index 00000000000..4f8c6a0ee96
--- /dev/null
+++ b/plugins/boot.lua
@@ -0,0 +1,24 @@
+require('lfs')
+local uv = require('luv')
+local cwd = uv.cwd()
+package.path = cwd .. "/plugins/?.lua;" .. cwd .. "/plugins/?/init.lua"
+
+local json = require('json')
+function readAll(file)
+ local f = io.open(file, "rb")
+ local content = f:read("*all")
+ f:close()
+ return content
+end
+
+for file in lfs.dir("plugins") do
+ if (file~="." and file~=".." and lfs.attributes("plugins/" .. file,"mode")=="directory") then
+ local filename = "plugins/" .. file .. "/plugin.json"
+ local meta = json.parse(readAll(filename))
+ if (meta["plugin"]["type"]=="plugin") and (meta["plugin"]["start"]=="true") then
+ server = require(meta["plugin"]["name"])
+ server.startplugin();
+ end
+ end
+end
+