Mercurial > prosody-hg
comparison util/paths.lua @ 11200:bf8f2da84007
Merge 0.11->trunk
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Thu, 05 Nov 2020 22:31:25 +0100 |
| parents | 2ac63715ef6f |
| children | de95e133af8e |
comparison
equal
deleted
inserted
replaced
| 11199:6c7c50a4de32 | 11200:bf8f2da84007 |
|---|---|
| 35 return "%"..c; | 35 return "%"..c; |
| 36 end | 36 end |
| 37 end).."$"; | 37 end).."$"; |
| 38 end | 38 end |
| 39 | 39 |
| 40 function path_util.join(...) | 40 function path_util.join(a, b, c, ...) -- (... : string) --> string |
| 41 return t_concat({...}, path_sep); | 41 -- Optimization: Avoid creating table for most uses |
| 42 if b then | |
| 43 if c then | |
| 44 if ... then | |
| 45 return t_concat({a,b,c,...}, path_sep); | |
| 46 end | |
| 47 return a..path_sep..b..path_sep..c; | |
| 48 end | |
| 49 return a..path_sep..b; | |
| 50 end | |
| 51 return a; | |
| 52 end | |
| 53 | |
| 54 function path_util.complement_lua_path(installer_plugin_path) | |
| 55 -- Checking for duplicates | |
| 56 -- The commands using luarocks need the path to the directory that has the /share and /lib folders. | |
| 57 local lua_version = _VERSION:match(" (.+)$"); | |
| 58 local lua_path_sep = package.config:sub(3,3); | |
| 59 local dir_sep = package.config:sub(1,1); | |
| 60 local sub_path = dir_sep.."lua"..dir_sep..lua_version..dir_sep; | |
| 61 if not string.find(package.path, installer_plugin_path, 1, true) then | |
| 62 package.path = package.path..lua_path_sep..installer_plugin_path..dir_sep.."share"..sub_path.."?.lua"; | |
| 63 package.path = package.path..lua_path_sep..installer_plugin_path..dir_sep.."share"..sub_path.."?"..dir_sep.."init.lua"; | |
| 64 end | |
| 65 if not string.find(package.path, installer_plugin_path, 1, true) then | |
| 66 package.cpath = package.cpath..lua_path_sep..installer_plugin_path..dir_sep.."lib"..sub_path.."?.so"; | |
| 67 end | |
| 42 end | 68 end |
| 43 | 69 |
| 44 return path_util; | 70 return path_util; |
