aboutsummaryrefslogtreecommitdiff
path: root/src/luarocks/command_line.lua
diff options
context:
space:
mode:
Diffstat (limited to 'src/luarocks/command_line.lua')
-rw-r--r--src/luarocks/command_line.lua15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/luarocks/command_line.lua b/src/luarocks/command_line.lua
index 972302ee..963916bd 100644
--- a/src/luarocks/command_line.lua
+++ b/src/luarocks/command_line.lua
@@ -5,6 +5,7 @@ module("luarocks.command_line", package.seeall)
5local util = require("luarocks.util") 5local util = require("luarocks.util")
6local cfg = require("luarocks.cfg") 6local cfg = require("luarocks.cfg")
7local fs = require("luarocks.fs") 7local fs = require("luarocks.fs")
8local path = require("luarocks.path")
8 9
9--- Display an error message and exit. 10--- Display an error message and exit.
10-- @param message string: The error message. 11-- @param message string: The error message.
@@ -50,16 +51,20 @@ function run_command(...)
50 end 51 end
51 local root_dir = fs.absolute_name(flags["to"]) 52 local root_dir = fs.absolute_name(flags["to"])
52 cfg.root_dir = root_dir 53 cfg.root_dir = root_dir
53 cfg.rocks_dir = root_dir.."/rocks" 54 cfg.rocks_dir = path.rocks_dir(root_dir)
54 cfg.scripts_dir = root_dir.."/bin" 55 cfg.scripts_dir = path.scripts_dir(root_dir)
56 cfg.lua_modules_dir = path.lua_modules_dir(root_dir)
57 cfg.bin_modules_dir = path.bin_modules_dir(root_dir)
55 else 58 else
56 local trees = cfg.rocks_trees 59 local trees = cfg.rocks_trees
57 for i = #trees, 1, -1 do 60 for i = #trees, 1, -1 do
58 local tree = trees[i] 61 local tree = trees[i]
59 if fs.make_dir(tree) and fs.is_writable(tree) then 62 if fs.make_dir(tree) and fs.is_writable(tree) then
60 cfg.root_dir = tree 63 cfg.root_dir = tree
61 cfg.rocks_dir = tree.."/rocks" 64 cfg.rocks_dir = path.rocks_dir(tree)
62 cfg.scripts_dir = rawget(cfg, "scripts_dir") or tree.."/bin" 65 cfg.scripts_dir = rawget(cfg, "scripts_dir") or path.scripts_dir(tree)
66 cfg.lua_modules_dir = rawget(cfg, "lua_modules_dir") or path.lua_modules_dir(tree)
67 cfg.bin_modules_dir = rawget(cfg, "bin_modules_dir") or path.bin_modules_dir(tree)
63 break 68 break
64 end 69 end
65 end 70 end
@@ -68,6 +73,8 @@ function run_command(...)
68 cfg.root_dir = cfg.root_dir:gsub("/+$", "") 73 cfg.root_dir = cfg.root_dir:gsub("/+$", "")
69 cfg.rocks_dir = cfg.rocks_dir:gsub("/+$", "") 74 cfg.rocks_dir = cfg.rocks_dir:gsub("/+$", "")
70 cfg.scripts_dir = cfg.scripts_dir:gsub("/+$", "") 75 cfg.scripts_dir = cfg.scripts_dir:gsub("/+$", "")
76 cfg.lua_modules_dir = cfg.lua_modules_dir:gsub("/+$", "")
77 cfg.bin_modules_dir = cfg.bin_modules_dir:gsub("/+$", "")
71 78
72 cfg.variables.ROCKS_TREE = cfg.root_dir 79 cfg.variables.ROCKS_TREE = cfg.root_dir
73 cfg.variables.SCRIPTS_DIR = cfg.scripts_dir 80 cfg.variables.SCRIPTS_DIR = cfg.scripts_dir