[ https://issues.apache.org/jira/browse/KAFKA-786?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Swapnil Ghike updated KAFKA-786: -------------------------------- Attachment: kafka-786.patch Attached a patch. > Use "withRequiredArg" while parsing jopt options in all tools > ------------------------------------------------------------- > > Key: KAFKA-786 > URL: https://issues.apache.org/jira/browse/KAFKA-786 > Project: Kafka > Issue Type: Bug > Reporter: Swapnil Ghike > Priority: Blocker > Labels: kafka-0.8, p2 > Attachments: kafka-786.patch > > > While parsing jopt Options in our tools, we sometimes use withRequiredArg() > and sometimes use withOptionalArg(). I think this confusing and we should > always use withRequiredArg(). > withOptionalArg() allows you to provide an option without an argument. For > instance, the following commands will yield the same result if xyz was a > parser option that accepted an optional argument and was provided a default > in the tool's code: > kafka-tool.sh --xyz > kafka-tool.sh > I don't quite see the need to allow the 1st command, think that writing code > will be less confusing if we allowed only the second command. To do that, we > can make all options require arguments. These arguments will need to be given > via command line or via a default in the code. So if xyz was an option that > required an argument then you will see the following: > kafka-tool.sh --xyz > Option ['xyz'] requires an argument //printed by jOpt > kafka-tool.sh --xyz argumentVal > // Kafka tool proceeds > If you want to use a default value specified for xyz in the code, then simply > run ./kafka-tool.sh. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira