[
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.005.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, HDDS-379.004.patch, HDDS-379.005.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: [email protected]
For additional commands, e-mail: [email protected]