[ 
https://issues.apache.org/jira/browse/HDDS-379?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Elek, Marton updated HDDS-379:
------------------------------
    Attachment: HDDS-379.003.patch

> 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
>            Assignee: Elek, Marton
>            Priority: Major
>             Fix For: 0.2.1
>
>         Attachments: HDDS-379.001.patch, HDDS-379.002.patch, 
> HDDS-379.003.patch
>
>
> 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.
> I also deleted the TestSCMCli. It was turned off with an annotation and I 
> believe that this functionality could be tested more easily with a robot test.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org

Reply via email to