diff options
author | Jo?o Duarte <jvsDuarte08@gmail.com> | 2019-07-17 03:45:26 -0700 |
---|---|---|
committer | Jo?o Duarte <jvsDuarte08@gmail.com> | 2019-07-17 03:45:26 -0700 |
commit | 1b5d7c04d9f3bc95d9984fb837313d061bcfaeee (patch) | |
tree | eb9eec48bd8c84b3ee16246b23784a76378ffb5c /prosodyctl | |
parent | cb669478c458fec600dd7765d295d5aeeb3f4b95 (diff) | |
download | prosody-1b5d7c04d9f3bc95d9984fb837313d061bcfaeee.tar.gz prosody-1b5d7c04d9f3bc95d9984fb837313d061bcfaeee.zip |
prosodyctl: The 'install' command can now recognize the flag '--tree'
Diffstat (limited to 'prosodyctl')
-rwxr-xr-x | prosodyctl | 17 |
1 files changed, 14 insertions, 3 deletions
@@ -158,9 +158,20 @@ function commands.install(arg) show_usage([[make]], [[Installs a rockspec/rock from a specified server]]); return 1 end - print("Installing module "..arg[1].." locally, from luarocks repo") - os.execute("luarocks --tree='./plugins' install "..arg[1]) - return 0 + -- Need to think about the case with many flags + local flag = "--tree=" + -- I'm considering the flag is the first, but there can be many flags + if arg[1] and arg[1]:sub(1, #flag) == flag then + local dir = arg[1]:match("=(.+)$") + print("Installing module "..arg[2].." at "..dir..", from luarocks repo") + -- These extra double brackets allow us to correctly process names with spaces + os.execute("luarocks install --tree='"..dir.."' "..arg[2]) + return 0; + else + print("Installing module "..arg[1].." locally, from luarocks repo") + os.execute("luarocks --tree='"..prosody.paths.plugins.."' install "..arg[1]) + return 0 + end end function commands.list(arg) |