Re: Cleaning up command line tools argument parsing a little

2019-05-10 Thread Sönke Liebau
Hi Viktor, I'll admit I've only had an extremely brief look at your code and jira, but it sounds absolutely awesome! Plus it will give us a chance at a fresh start without worrying about breaking existing code using the tools. Of course...at the risk of code duplication.. I'd be absolutely in fav

Re: Cleaning up command line tools argument parsing a little

2019-05-08 Thread Viktor Somogyi-Vass
Hi Sönke, In KAFKA-1774 I have created a Kafka Shell java tool that unfortunately didn't get much attention so far from the creators of the jira. It works similarly to what Colin mentioned, like "kafka.sh topics create -n my-topic -p 3 -r 3" or has long names like "kafka.sh topics create --name my

Re: Cleaning up command line tools argument parsing a little

2019-05-08 Thread Viktor Somogyi-Vass
Just to add: I wasn't too pushy by raising a KIP for this as so far I had the experience that the community is fine with them or at least people learned to live with the current tools but if there's a need I'd be happy to jump back working on it or helping you if you have time :) On Wed, May 8, 20

Re: Cleaning up command line tools argument parsing a little

2019-05-07 Thread Sönke Liebau
Hi Colin, thanks! While I personally don't like the current command line tools I realistically think we'll be stuck with them for a while yet, so a cleanup might make sense. So I'll start looking into that. Regarding a central entrypoint, that would indeed be brilliant and I'd love to work on tha

Re: Cleaning up command line tools argument parsing a little

2019-05-06 Thread Colin McCabe
On Mon, May 6, 2019, at 10:21, Sönke Liebau wrote: > Hi Colin, > > it was my intention to keep the structure of the commands mostly intact > while doing the refactoring - if that is possible, have not really checked > yet to be honest. > > But what I wanted to try and do is recreate the current p

Re: Cleaning up command line tools argument parsing a little

2019-05-06 Thread Sönke Liebau
Hi Colin, it was my intention to keep the structure of the commands mostly intact while doing the refactoring - if that is possible, have not really checked yet to be honest. But what I wanted to try and do is recreate the current parsing with argparse as much as possible. And in the process simp

Re: Cleaning up command line tools argument parsing a little

2019-05-06 Thread Colin McCabe
Hi Sönke, #2 is a bit tough because people have come to rely on the way the commands are structured right now. If we want to make big changes, it might be easier just to create a separate tool and deprecate the old one(s). One thing we've talked about doing in the past is creating a single en

Re: Cleaning up command line tools argument parsing a little

2019-05-05 Thread Sönke Liebau
Hi Colin, I totally agree! Especially the differently named bootstrap server options have been annoying me a long time. I'd propose a two-step approach: 1. Add new default options objects similar to CommandLineUtils and CommandDefaultOptions (based on argparse4j) but in the clients project, as th

Re: Cleaning up command line tools argument parsing a little

2019-04-17 Thread Colin McCabe
If we are going to standardize on one argument parsing library, it should certainly be argparse4j, I think. argparse4j is simply a better argument parsing library with support for more features. One example is mutually exclusive options. argparse4j supports this with MutuallyExclusiveGroup.

Re: Cleaning up command line tools argument parsing a little

2019-04-17 Thread McCaig, Rhys
Sönke - I think this is a great idea. I’d be willing to help out where I can if there is a new issue to track this. > On Apr 17, 2019, at 9:02 AM, Sönke Liebau > wrote: > > I actually have a theory how that came about. > > All classes that use argparse4j are situated in the tools and connect

Re: Cleaning up command line tools argument parsing a little

2019-04-17 Thread Sönke Liebau
I actually have a theory how that came about. All classes that use argparse4j are situated in the tools and connect projects, which doesn't have a dependency on core. But that's where all the CommandLine stuff that uses joptsimple is located. So to gain access to that (not joptsimple itself, but a

Re: Cleaning up command line tools argument parsing a little

2019-04-17 Thread Guozhang Wang
I took another look at the PR itself and I think it would be great to have this cleanup too -- I cannot remember at the beginning why we gradually moved to different mechanism (argparse4j) for different cmds, if there's no rationales behind it we should just make them consistent. Thanks for drivin

Re: Cleaning up command line tools argument parsing a little

2019-04-17 Thread Ryanne Dolan
Sönke, I'd find this very helpful. It's annoying to keep track of which commands use which form -- I always seem to guess wrong. Though I don't think there is any reason to deprecate existing forms, e.g. consumer.config vs consumer-config. I think it's perfectly reasonable to have multiple spellin

Cleaning up command line tools argument parsing a little

2019-04-17 Thread Sönke Liebau
Hi everybody, Jason and I were recently discussing command line argument parsing on KAFKA-8131 (or rather the related pull request) [1]. Command line tools and their arguments are somewhat diverse at the moment. Most of the tools use joptsimple for argument parsing, some newer java tools use argp