From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp46.i.mail.ru (smtp46.i.mail.ru [94.100.177.106]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id B179043621E for ; Thu, 19 Mar 2020 01:12:53 +0300 (MSK) References: <84f7da7c7c1ff9502e8f1e023ce2bec0aabc402f.1574153367.git.lvasiliev@tarantool.org> From: Vladislav Shpilevoy Message-ID: Date: Wed, 18 Mar 2020 23:12:52 +0100 MIME-Version: 1.0 In-Reply-To: <84f7da7c7c1ff9502e8f1e023ce2bec0aabc402f.1574153367.git.lvasiliev@tarantool.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [Tarantool-patches] [PATCH LUAROCKS v2 2/2] Add the tarantool options black list. Update help List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Leonid , alexander.turenko@tarantool.org Cc: tarantool-patches@dev.tarantool.org Thanks for the patch! The same comment regarding the commit description as for the previous commit. Also see 3 comments below. On 19/11/2019 09:52, Leonid wrote: > --- > src/luarocks/cmd/help.lua | 15 +++++++++------ > src/luarocks/util.lua | 14 ++++++++++++++ > 2 files changed, 23 insertions(+), 6 deletions(-) > > diff --git a/src/luarocks/cmd/help.lua b/src/luarocks/cmd/help.lua > index dcc9e35..1db914a 100644 > --- a/src/luarocks/cmd/help.lua > +++ b/src/luarocks/cmd/help.lua > @@ -20,7 +24,11 @@ help.help = [[ > ]] > > local function print_banner() > - util.printout("\nLuaRocks "..cfg.program_version..", the Lua package manager") > + if program:find("tarantoolctl") then > + util.printout("\nTarantoolctl rocks, the Lua package manager based on LuaRocks "..cfg.program_version) > + else > + util.printout("\nLuaRocks "..cfg.program_version..", the Lua package manager") > + end 1. These lines are huge. Please, keep them inside 80 symbols border. > end > > local function print_section(section) > @@ -62,12 +70,7 @@ function help.command(description, commands, command) > (overrides any entries in the config file) > --only-sources= Restrict downloads to paths matching the > given URL. > - --lua-dir= Which Lua installation to use. > - --lua-version= Which Lua version to use. > --tree= Which tree to operate on. > - --local Use the tree in the user's home directory. > - To enable it, see ']]..program..[[ help path'. > - --global Use the system tree when `local_by_default` is `true`. > --verbose Display verbose output of commands executed. > --timeout= Timeout on network operations, in seconds. > 0 means no timeout (wait forever). > diff --git a/src/luarocks/util.lua b/src/luarocks/util.lua > index fadc93f..660d140 100644 > --- a/src/luarocks/util.lua > +++ b/src/luarocks/util.lua > @@ -171,6 +171,14 @@ local supported_flags = { > ["version"] = true, > } > > +-- The tarantool unsupported arguments list. > +local tarantool_black_list = { > + ["global"] = true, > + ["local"] = true, > + ["lua-version"] = true, > + ["lua-dir"] = true, > +} > + > --- Extract flags from an arguments list. > -- Given string arguments, extract flag arguments into a flags set. > -- For example, given "foo", "--tux=beep", "--bla", "bar", "--baz", > @@ -189,6 +197,9 @@ function util.parse_flags(...) > elseif state == "initial" and flag then > local var,val = flag:match("([a-z_%-]*)=(.*)") > if val then > + if tarantool_black_list[var] then > + return { ERROR = "Invalid argument: flag --"..var.." does not supported by tarantoolctl roks." } 2. does -> is. The same below. 3. You seem to try to distinguish the tool for tarantoolctl and non-tarantoolctl from what I see in help.lua. But you check the blacklist even if the code works not from tarantoolctl. And even print a message about tarantoolctl.Why? > + end > local vartype = supported_flags[var] > if type(vartype) == "string" then > if val == "" and vartype:sub(1,1) ~= '"' then > @@ -204,6 +215,9 @@ function util.parse_flags(...) > end > else > local var = flag > + if tarantool_black_list[var] then > + return { ERROR = "Invalid argument: flag --"..var.." does not supported by tarantoolctl roks." } > + end > local vartype = supported_flags[var] > if type(vartype) == "string" then > i = i + 1 >