aboutsummaryrefslogtreecommitdiff
path: root/src/luarocks/cmd.lua
diff options
context:
space:
mode:
authorHisham Muhammad <hisham@gobolinux.org>2024-02-29 00:46:06 -0300
committerHisham Muhammad <hisham@gobolinux.org>2024-02-29 15:46:16 +0000
commitf76b7a2b13e411df2e696146bb0a6396781acd92 (patch)
tree38ed32f81f05f6eacd03f36eacd5341e7b1d17dd /src/luarocks/cmd.lua
parent0ca8c460e867356342180bb625760ed9201a5503 (diff)
downloadluarocks-f76b7a2b13e411df2e696146bb0a6396781acd92.tar.gz
luarocks-f76b7a2b13e411df2e696146bb0a6396781acd92.tar.bz2
luarocks-f76b7a2b13e411df2e696146bb0a6396781acd92.zip
tests: speed up and simplify
Diffstat (limited to '')
-rw-r--r--src/luarocks/cmd.lua31
1 files changed, 16 insertions, 15 deletions
diff --git a/src/luarocks/cmd.lua b/src/luarocks/cmd.lua
index 452237d2..200ec13b 100644
--- a/src/luarocks/cmd.lua
+++ b/src/luarocks/cmd.lua
@@ -63,6 +63,19 @@ do
63 cfg.deploy_lib_dir = cfg.deploy_lib_dir:gsub("/+$", "") 63 cfg.deploy_lib_dir = cfg.deploy_lib_dir:gsub("/+$", "")
64 end 64 end
65 65
66 local function set_named_tree(args, name)
67 for _, tree in ipairs(cfg.rocks_trees) do
68 if type(tree) == "table" and name == tree.name then
69 if not tree.root then
70 return nil, "Configuration error: tree '"..tree.name.."' has no 'root' field."
71 end
72 replace_tree(args, tree.root, tree)
73 return true
74 end
75 end
76 return false
77 end
78
66 process_tree_args = function(args, project_dir) 79 process_tree_args = function(args, project_dir)
67 80
68 if args.global then 81 if args.global then
@@ -70,17 +83,7 @@ do
70 end 83 end
71 84
72 if args.tree then 85 if args.tree then
73 local named = false 86 local named = set_named_tree(args, args.tree)
74 for _, tree in ipairs(cfg.rocks_trees) do
75 if type(tree) == "table" and args.tree == tree.name then
76 if not tree.root then
77 return nil, "Configuration error: tree '"..tree.name.."' has no 'root' field."
78 end
79 replace_tree(args, tree.root, tree)
80 named = true
81 break
82 end
83 end
84 if not named then 87 if not named then
85 local root_dir = fs.absolute_name(args.tree) 88 local root_dir = fs.absolute_name(args.tree)
86 replace_tree(args, root_dir) 89 replace_tree(args, root_dir)
@@ -94,7 +97,7 @@ do
94 "You are running as a superuser, which is intended for system-wide operation.\n".. 97 "You are running as a superuser, which is intended for system-wide operation.\n"..
95 "To force using the superuser's home, use --tree explicitly." 98 "To force using the superuser's home, use --tree explicitly."
96 else 99 else
97 replace_tree(args, cfg.home_tree) 100 set_named_tree(args, "user")
98 end 101 end
99 elseif args.project_tree then 102 elseif args.project_tree then
100 local tree = args.project_tree 103 local tree = args.project_tree
@@ -102,9 +105,7 @@ do
102 manif.load_rocks_tree_manifests() 105 manif.load_rocks_tree_manifests()
103 path.use_tree(tree) 106 path.use_tree(tree)
104 elseif cfg.local_by_default then 107 elseif cfg.local_by_default then
105 if cfg.home_tree then 108 set_named_tree(args, "user")
106 replace_tree(args, cfg.home_tree)
107 end
108 elseif project_dir then 109 elseif project_dir then
109 local project_tree = project_dir .. "/lua_modules" 110 local project_tree = project_dir .. "/lua_modules"
110 table.insert(cfg.rocks_trees, 1, { name = "project", root = project_tree } ) 111 table.insert(cfg.rocks_trees, 1, { name = "project", root = project_tree } )