Hi Tom, I just wanted to let you know that I am currently working on KAFKA-2111: https://issues.apache.org/jira/browse/KAFKA-2111 and am almost done with it. The changes that are included in this patch are:
- add --help option to all the commands where it is missing - correctly mark all the required options. I noticed that currently we rely on the user to add the REQUIRED wording in the option description. I have changed this to use the JOptSimple method required() to mark options as required. The other good thing about doing it that way is that when the parse method is called, it will automatically check if user has specified the required arguments (Right now we rely on CommandLineUtils.checkRequiredArg to do that) - Made some minor grammar changes to the option descriptions on some of the commands (like ending the description with ., Starting a description with caps, some wording changes) - Some commands did not have description of what it does - added those I am also looking at https://issues.apache.org/jira/browse/KAFKA-4220 since it is related to this. So I am currently trying to include this changes in the current patchset for KAFKA-2111. It will include: - changes to properly catch OptionExceptions when converting the argument to different types and print out the error message and command usage information rather than throwing a stacktrace exception. There are close to 20 commands I have made changes to. I will try to push something out by end of day today. So I think I will cover 1) from your list below and not 2) and 3). Thanks Tom. Regards, Mariam. From: Tom Bentley <t.j.bent...@gmail.com> To: dev@kafka.apache.org Date: 06/16/2017 08:06 AM Subject: Improving tools: --help Hi, I noticed that the command line tools could use a little love. For instance, I was surprised that most of them don't support `--help`, and generally there are a few inconsistencies. KIP-14 is dormant and AFAICS no one is working on https://issues.apache.org/jira/browse/KAFKA-2111 either. So if I'm not treading on anyone's toes, I would like to improve this situation. Specifically I propose to: 1. Add support for `--help` for all tools with shell scripts. 2. Include in the help output on non-Windows systems documentation for the script-implemented `--daemon`, `--name` and `--loggc` options, because currently they're not very discoverable. 3. Add more standard equivalents for non-UNIXish options (e.g. add `--consumer-config` as well as `--consumer.config`). I also noticed that overall Kafka has two option parsing dependencies: `argparse4j` and `jopt-simple`. Is there a good reason for this? If not then I could standardize on one at the same time. Would this require a KIP? If so should I open a new one, or resurrect KIP-14? Regards, Tom