Software /
code /
prosody
Comparison
prosodyctl @ 10164:d145eb696475
prosodyctl: The install command now performs its job at a dedicated folder for custom plugins
author | João Duarte <jvsDuarte08@gmail.com> |
---|---|
date | Wed, 24 Jul 2019 10:43:28 -0700 |
parent | 10162:7a4c15f75deb |
child | 10165:8fd6fb34d9c5 |
comparison
equal
deleted
inserted
replaced
10163:661feb336e18 | 10164:d145eb696475 |
---|---|
88 function commands.install(arg) | 88 function commands.install(arg) |
89 if arg[1] == "--help" then | 89 if arg[1] == "--help" then |
90 show_usage([[make]], [[Installs a prosody/luarocks plugin]]); | 90 show_usage([[make]], [[Installs a prosody/luarocks plugin]]); |
91 return 1; | 91 return 1; |
92 end | 92 end |
93 local installer_plugin_path | |
94 -- I'm considering that we are using just one path to custom plugins, and it is the first in prosody.paths.plugins, for now | |
95 for path in prosody.paths.plugins:gmatch("[^;]+") do | |
96 installer_plugin_path = path | |
97 break | |
98 end | |
93 -- I'm considering this optional flag comes first | 99 -- I'm considering this optional flag comes first |
94 local flag = "--tree=" | 100 local flag = "--tree=" |
95 if arg[1] and arg[1]:sub(1, #flag) == flag then | 101 if arg[1] and arg[1]:sub(1, #flag) == flag then |
96 local dir = arg[1]:match("=(.+)$") | 102 local dir = arg[1]:match("=(.+)$") |
97 print("Installing module "..arg[2].." at "..dir) | 103 print("Installing module "..arg[2].." at "..dir) |
98 os.execute("luarocks --tree='"..dir.."' --server='http://localhost/' install "..arg[2]) | 104 os.execute("luarocks --tree='"..dir.."' --server='http://localhost/' install "..arg[2]) |
99 show_module_configuration_help(arg[2]); | 105 show_module_configuration_help(arg[2]); |
100 return 0; | 106 return 0; |
101 else | 107 else |
102 print("Installing module "..arg[1].." at "..prosody.paths.plugins) | 108 print("Installing module "..arg[1].." at "..installer_plugin_path) |
103 -- I've build a local server to upload some new rockspecs, like mod_smacks'. We can replace this server by one from | 109 -- I've build a local server to upload some new rockspecs, like mod_smacks'. We can replace this server by one from |
104 -- prosody's, where we can oficially disbrute rocks/rockspecs for all modules | 110 -- prosody's, where we can oficially disbrute rocks/rockspecs for all modules |
105 os.execute("luarocks --tree='"..prosody.paths.plugins.."' --server='http://localhost/' install "..arg[1]) | 111 os.execute("luarocks --tree='"..installer_plugin_path.."' --server='http://localhost/' install "..arg[1]) |
106 show_module_configuration_help(arg[1]); | 112 show_module_configuration_help(arg[1]); |
107 return 0; | 113 return 0; |
108 end | 114 end |
109 end | 115 end |
110 | 116 |