Personally I don't mind the current approach as it is discoverable and works with tab completion.
I wouldn't be opposed to replacing kafka-run-class.sh with a generic kafka script that handles the java and logging options and maintaining a human friendly mapping for some of the class names so that e.g. ./kafka topics --list ./kafka console-producer --broker localhost:9092 would work as a short cut for some fully qualified name: ./kafka kafka.producer.ConsoleProducer and ./kafka would print a list of known commands. We would probably need a way to customize memory settings for each command as we do now, though. We would need some way to make this typo resistent (e.g. if you type a command wrong you should get a reasonable error and not some big class not found stack trace). -Jay On Tue, Mar 4, 2014 at 7:45 PM, Joe Stein <joe.st...@stealth.ly> wrote: > How about a kafka-system-tool.sh <args> and a little bash/scala underneath > to delegate which tool is asked for and passes the params from cli to > object? kafka-system-tool.sh -h would respond with the list of tools and > kafka-system-tool.sh toolName -h would respond with the actual tool's args > from the tool object main output? > > - Joestein > > On Tue, Mar 4, 2014 at 8:42 PM, Jay Kreps <jay.kr...@gmail.com> wrote: > > > I noticed that we have been a little haphazard in which commands get a > > top-level script. I think these are nice as they make the available > > commands discoverable. Currently, for example, mirror maker doesn't have > > one and that is a pretty critical tool. > > > > Here is what we have: > > kafka-console-consumer.sh > > kafka-console-producer.sh > > kafka-consumer-perf-test.sh > > kafka-preferred-replica-election.sh > > kafka-producer-perf-test.sh > > kafka-reassign-partitions.sh > > kafka-replay-log-producer.sh > > kafka-run-class.sh > > kafka-server-start.sh > > kafka-server-stop.sh > > kafka-simple-consumer-perf-test.sh > > kafka-simple-consumer-shell.sh > > kafka-topics.sh > > zookeeper-server-start.sh > > zookeeper-server-stop.sh > > zookeeper-shell.sh > > > > What should we add (or remove) from that list? > > > > -Jay > > >