From 06ecf3ebfc7a094717d55fb0d13df4da176a059b Mon Sep 17 00:00:00 2001 From: Gordon Hecker Date: Tue, 2 Mar 2010 14:04:31 +0100 Subject: [PATCH] plugin support: extend api to register functions to run during collect_project(). Includes bugfix: Check return code from registered functions Signed-off-by: Gordon Hecker --- local/e2tool.lua | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/local/e2tool.lua b/local/e2tool.lua index d9772fe..de79191 100644 --- a/local/e2tool.lua +++ b/local/e2tool.lua @@ -747,7 +747,10 @@ The newest configuration syntax supported by the tools is %s. end for _,f in ipairs(info.ftab.collect_project_info) do - f(info) + rc, re = f(info) + if not rc then + e2lib.abort(e:cat(re)) + end end return info, nil end @@ -2762,6 +2765,14 @@ function sourceconfig(name) return sourcedir(name,"config") end +function register_collect_project_info(info, func) + if type(info) ~= "table" or type(func) ~= "function" then + return false, new_error("register_collect_project_info: invalid argument") + end + table.insert(info.ftab.collect_project_info, func) + return true, nil +end + function register_check_result(info, func) if type(info) ~= "table" or type(func) ~= "function" then return false, new_error("register_check_result: invalid argument") -- 2.39.5