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
> >
>

Reply via email to