diff options
author | Daniel Silverstone <daniel.silverstone@codethink.co.uk> | 2014-03-10 12:41:44 +0000 |
---|---|---|
committer | Daniel Silverstone <daniel.silverstone@codethink.co.uk> | 2014-03-11 14:02:42 +0000 |
commit | ab1c0b22b57fc96782d9dd3498b36be04ac6f328 (patch) | |
tree | 8031a63eef6111ff90e120afcb5b3ffa82b4fc27 /utils/install-lua-bin | |
parent | 1b141c8359c690756b0f9612fd6ccfc7ca5e9f99 (diff) | |
download | gitano-ab1c0b22b57fc96782d9dd3498b36be04ac6f328.tar.gz |
Add support for a GITANO_PLUGIN_PATH in install-lua-bin
The binary installer `install-lua-bin` needs to update all of the files ending
in `.in` to be ready for installation. This patch ensures that we support a
tag for loading plugins which the various `.in` files can then use to ensure
they load plugins at an appropriate point.
Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
Diffstat (limited to 'utils/install-lua-bin')
-rw-r--r-- | utils/install-lua-bin | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/utils/install-lua-bin b/utils/install-lua-bin index 4d7322c..3353a34 100644 --- a/utils/install-lua-bin +++ b/utils/install-lua-bin @@ -1,6 +1,6 @@ -- Run this explicitly through -*- Lua -*- -local lua_bin, inst_share_path, inst_bin_path, inst_mod_path, input_name, output_name = ... +local lua_bin, inst_share_path, inst_bin_path, inst_mod_path, inst_plugin_path, input_name, output_name = ... local input_fh = assert(io.open(input_name, "r")) local output_fh = assert(io.open(output_name, "w")) @@ -20,6 +20,16 @@ for path_elem in package.path:gmatch("([^;]+)") do end end +do + -- transform the plugin path from colon separated to a table + -- for interpolation + local path = {} + for entry in string.gfind(inst_plugin_path, "([^:]+)") do + path[#path+1] = ("%q"):format(entry) + end + inst_plugin_path = ("{%s}"):format(table.concat(path, ", ")) +end + while line do local token = line:match("^%-%- @@(.+)$") if token then @@ -38,6 +48,8 @@ while line do output_fh:write(("gitano.config.lib_bin_path(%q)\n"):format(inst_bin_path)) elseif token == "GITANO_SHARE_PATH" then output_fh:write(("gitano.config.share_path(%q)\n"):format(inst_share_path)) + elseif token == "GITANO_PLUGIN_PATH" then + output_fh:write(("gitano.plugins.load_plugins %s\n"):format(inst_plugin_path)) else output_fh:write("-- Unknown token: " .. token .. "\n") end |