In poking around, I’m seeing that it’s not obvious how to model a command like
the classic “ls” or “cp” commands with the usage.
If I do “man cp” the output looks like:
NAME
cp – copy files
SYNOPSIS
cp [-R [-H | -L | -P]] [-fi | -n] [-alpsvXx] source_file target_file
It shows the command, the various options, and then the args that it takes, in
this case source_file and target_file.
In my Solr command line tools, I have not yet figured out how to model this.
For example, the “ZkLsTool”, which is basically like the classic “ls” tool,
when I ask it for usage I get:
usage: bin/solr ls --path <PATH> [-r <recurse>] [-u <credentials>] [-url
<HOST>] [-v] [-z <HOST>]
List of options:
--path <PATH> Path to list.
-r,--recurse <recurse> Recurse (true|false), default is false.
-u,--credentials <credentials> Credentials in the format username:password.
Example: --credentials solr:SolrRocks
However, I don’t want the path to be the option —path. In Solr today, we do
some swapping around in the bin/solr command to convert a “bin/solr zk ls
/mypath” into a call that is to SolrCLI ls —path /mypath to fit how commons
works.
We are however trying to remove the argument parsing in the shell command and
learn more on commons-cli.
Thoughts on this? Do we need to have an Argument class to go along with the
Option class?
Eric
I_______________________
Eric Pugh | Founder | OpenSource Connections, LLC | 434.466.1467 |
http://www.opensourceconnections.com <http://www.opensourceconnections.com/> |
My Free/Busy <http://tinyurl.com/eric-cal>
Co-Author: Apache Solr Enterprise Search Server, 3rd Ed
<https://www.packtpub.com/big-data-and-business-intelligence/apache-solr-enterprise-search-server-third-edition-raw>
This e-mail and all contents, including attachments, is considered to be
Company Confidential unless explicitly stated otherwise, regardless of whether
attachments are marked as such.