You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "Elek, Marton (JIRA)" <ji...@apache.org> on 2018/08/27 12:50:00 UTC

[jira] [Created] (HDDS-379) Simplify and improve the cli arg parsing of ozone scmcli

Elek, Marton created HDDS-379:
---------------------------------

             Summary: Simplify and improve the cli arg parsing of ozone scmcli
                 Key: HDDS-379
                 URL: https://issues.apache.org/jira/browse/HDDS-379
             Project: Hadoop Distributed Data Store
          Issue Type: Improvement
            Reporter: Elek, Marton
             Fix For: 0.2.1


SCMCLI is a useful tool to test SCM. It can create/delete/close/list containers.

There are multiple problems with the current scmcli.

The biggest one is the cli argument handling. Similar to HDDS-190, it's often very hard to get the help for a specific subcommand.

The other one is that a big part of the code is the argument handling which is mixed with the business logic.

I propose to use a more modern argument handler library and simplify the argument handling (and improve the user experience).

I propose to use [picocli|https://github.com/remkop/picocli].

1.) It supports subcommands and subcommand specific and general arguments.
2.) It could work based on annotation with very few additional boilerplate code
3.) It's very well documented and easy to use
4.) It's licenced under Apache licence
5.) It supports tab autocompletion for bash and zsh and colorful output
6.) Actively maintainer project
7.) Adopter by other bigger projects (groovy, junit, log4j)

In this patch I would like to demonstrate how the cli handling could be simplified. And if it's accepted, we can start to use similar approach for other ozone cli as well.

The patch also fixes the cli (the name of the main class was wrong). 

It also requires HDDS-377 for the be compiled.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-dev-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-dev-help@hadoop.apache.org