From bf14d8cf45bab9a43b00672cd452d138a8726dfc Mon Sep 17 00:00:00 2001 From: Hisham Muhammad Date: Tue, 19 Jun 2018 10:54:12 -0300 Subject: cmd: move cfg.errorcodes to cmd.errorcodes --- src/luarocks/cmd.lua | 16 ++++++++++++---- src/luarocks/cmd/build.lua | 3 ++- src/luarocks/cmd/install.lua | 3 ++- src/luarocks/cmd/make.lua | 3 ++- src/luarocks/cmd/purge.lua | 3 ++- src/luarocks/cmd/remove.lua | 3 ++- src/luarocks/core/cfg.lua | 21 ++------------------- 7 files changed, 24 insertions(+), 28 deletions(-) diff --git a/src/luarocks/cmd.lua b/src/luarocks/cmd.lua index 3048d956..cedeed22 100644 --- a/src/luarocks/cmd.lua +++ b/src/luarocks/cmd.lua @@ -14,6 +14,14 @@ local fun = require("luarocks.fun") local program = util.this_program("luarocks") +cmd.errorcodes = { + OK = 0, + UNSPECIFIED = 1, + PERMISSIONDENIED = 2, + CONFIGFILE = 3, + CRASH = 99 +} + local function error_handler(err) return debug.traceback("LuaRocks "..cfg.program_version.. " bug (please report at https://github.com/luarocks/luarocks/issues).\n"..err, 2) @@ -29,10 +37,10 @@ local function die(message, exitcode) local ok, err = xpcall(util.run_scheduled_functions, error_handler) if not ok then util.printerr("\nError: "..err) - exitcode = cfg.errorcodes.CRASH + exitcode = cmd.errorcodes.CRASH end - os.exit(exitcode or cfg.errorcodes.UNSPECIFIED) + os.exit(exitcode or cmd.errorcodes.UNSPECIFIED) end local function replace_tree(flags, tree) @@ -125,7 +133,7 @@ function cmd.run_command(...) util.printout(program.." "..cfg.program_version) util.printout(program_description) util.printout() - os.exit(cfg.errorcodes.OK) + os.exit(cmd.errorcodes.OK) elseif flags["help"] or #nonflags == 0 then command = "help" else @@ -242,7 +250,7 @@ function cmd.run_command(...) local cmd_mod = require(commands[command]) local call_ok, ok, err, exitcode = xpcall(function() return cmd_mod.command(flags, unpack(nonflags)) end, error_handler) if not call_ok then - die(ok, cfg.errorcodes.CRASH) + die(ok, cmd.errorcodes.CRASH) elseif not ok then die(err, exitcode) end diff --git a/src/luarocks/cmd/build.lua b/src/luarocks/cmd/build.lua index 08a05296..daccd6cc 100644 --- a/src/luarocks/cmd/build.lua +++ b/src/luarocks/cmd/build.lua @@ -15,6 +15,7 @@ local build = require("luarocks.build") local writer = require("luarocks.manif.writer") local search = require("luarocks.search") local make = require("luarocks.cmd.make") +local cmd = require("luarocks.cmd") cmd_build.help_summary = "build/compile a rock." cmd_build.help_arguments = "[--pack-binary-rock] [--keep] {|| []}" @@ -148,7 +149,7 @@ function cmd_build.command(flags, name, version) local ok, err = fs.check_command_permissions(flags) if not ok then - return nil, err, cfg.errorcodes.PERMISSIONDENIED + return nil, err, cmd.errorcodes.PERMISSIONDENIED end ok, err = do_build(name, version, opts) diff --git a/src/luarocks/cmd/install.lua b/src/luarocks/cmd/install.lua index c1d9ccc7..824ca248 100644 --- a/src/luarocks/cmd/install.lua +++ b/src/luarocks/cmd/install.lua @@ -13,6 +13,7 @@ local remove = require("luarocks.remove") local search = require("luarocks.search") local queries = require("luarocks.queries") local cfg = require("luarocks.core.cfg") +local cmd = require("luarocks.cmd") install.help_summary = "Install a rock." @@ -191,7 +192,7 @@ function install.command(flags, name, version) name = util.adjust_name_and_namespace(name, flags) local ok, err = fs.check_command_permissions(flags) - if not ok then return nil, err, cfg.errorcodes.PERMISSIONDENIED end + if not ok then return nil, err, cmd.errorcodes.PERMISSIONDENIED end if name:match("%.rockspec$") or name:match("%.src%.rock$") then local build = require("luarocks.cmd.build") diff --git a/src/luarocks/cmd/make.lua b/src/luarocks/cmd/make.lua index caf64721..90d4f336 100644 --- a/src/luarocks/cmd/make.lua +++ b/src/luarocks/cmd/make.lua @@ -14,6 +14,7 @@ local pack = require("luarocks.pack") local remove = require("luarocks.remove") local deps = require("luarocks.deps") local writer = require("luarocks.manif.writer") +local cmd = require("luarocks.cmd") make.help_summary = "Compile package in current directory using a rockspec." make.help_arguments = "[--pack-binary-rock] []" @@ -89,7 +90,7 @@ function make.command(flags, rockspec_filename) end) else local ok, err = fs.check_command_permissions(flags) - if not ok then return nil, err, cfg.errorcodes.PERMISSIONDENIED end + if not ok then return nil, err, cmd.errorcodes.PERMISSIONDENIED end ok, err = build.build_rockspec(rockspec, opts) if not ok then return nil, err end local name, version = ok, err diff --git a/src/luarocks/cmd/purge.lua b/src/luarocks/cmd/purge.lua index 5f868e60..98b76a0f 100644 --- a/src/luarocks/cmd/purge.lua +++ b/src/luarocks/cmd/purge.lua @@ -13,6 +13,7 @@ local writer = require("luarocks.manif.writer") local cfg = require("luarocks.core.cfg") local remove = require("luarocks.remove") local queries = require("luarocks.queries") +local cmd = require("luarocks.cmd") purge.help_summary = "Remove all installed rocks from a tree." purge.help_arguments = "--tree= [--old-versions]" @@ -43,7 +44,7 @@ function purge.command(flags) end local ok, err = fs.check_command_permissions(flags) - if not ok then return nil, err, cfg.errorcodes.PERMISSIONDENIED end + if not ok then return nil, err, cmd.errorcodes.PERMISSIONDENIED end search.local_manifest_search(results, path.rocks_dir(tree), queries.all()) diff --git a/src/luarocks/cmd/remove.lua b/src/luarocks/cmd/remove.lua index 4af036aa..5ddf7477 100644 --- a/src/luarocks/cmd/remove.lua +++ b/src/luarocks/cmd/remove.lua @@ -12,6 +12,7 @@ local path = require("luarocks.path") local deps = require("luarocks.deps") local writer = require("luarocks.manif.writer") local queries = require("luarocks.queries") +local cmd = require("luarocks.cmd") cmd_remove.help_summary = "Uninstall a rock." cmd_remove.help_arguments = "[--force|--force-fast] []" @@ -42,7 +43,7 @@ function cmd_remove.command(flags, name, version) local deps_mode = flags["deps-mode"] or cfg.deps_mode local ok, err = fs.check_command_permissions(flags) - if not ok then return nil, err, cfg.errorcodes.PERMISSIONDENIED end + if not ok then return nil, err, cmd.errorcodes.PERMISSIONDENIED end local rock_type = name:match("%.(rock)$") or name:match("%.(rockspec)$") local filename = name diff --git a/src/luarocks/core/cfg.lua b/src/luarocks/core/cfg.lua index 00efeaf3..7c29e2dc 100644 --- a/src/luarocks/core/cfg.lua +++ b/src/luarocks/core/cfg.lua @@ -37,23 +37,6 @@ cfg.variables = {} cfg.rocks_trees = {} cfg.platforms = {} -cfg.errorcodes = setmetatable({ - OK = 0, - UNSPECIFIED = 1, - PERMISSIONDENIED = 2, - CONFIGFILE = 3, - CRASH = 99 -},{ - __index = function(t, key) - local val = rawget(t, key) - if not val then - error("'"..tostring(key).."' is not a valid errorcode", 2) - end - return val - end -}) - - local popen_ok, popen_result = pcall(io.popen, "") if popen_ok then if popen_result then @@ -62,7 +45,7 @@ if popen_ok then else io.stderr:write("Your version of Lua does not support io.popen,\n") io.stderr:write("which is required by LuaRocks. Please check your Lua installation.\n") - os.exit(cfg.errorcodes.UNSPECIFIED) + os.exit(1) -- FIXME end -- System detection: @@ -207,7 +190,7 @@ local load_config_file = function(filepath) if (not result) and errcode ~= "open" then -- errcode is either "load" or "run"; bad config file, so error out io.stderr:write(err.."\n") - os.exit(cfg.errorcodes.CONFIGFILE) + os.exit(3) -- FIXME end if result then -- success in loading and running, merge contents and exit -- cgit v1.2.3-55-g6feb