FWIW, I just pushed out a release candidate for 1.9.0 yesterday but
I'm open to improving the API in 1.10.0 :)

Gary

On Sun, Aug 11, 2024 at 8:12 AM Eric Pugh
<ep...@opensourceconnections.com> wrote:
>
> For Solr, I ended up having some slightly brittle logic to check if the 
> argument is “zk” and then remove that one argument from the list of args, and 
> then pass it on to the sub command (which didn’t expect a leading “zk” in 
> it’s args).    It works, but one wrinkle is that you would expect “bin/solr 
> zk -h” to provide help on all the sub commands.  So I made a special 
> “ZkHelpTool” that would run in that one instance, and it gathered up the help 
> for each subcommand…. A bit awkward but did work…
>
> Definitely hoping for a smoother approach!
>
> > On Aug 10, 2024, at 8:25 AM, Gary Gregory <garydgreg...@gmail.com> wrote:
> >
> > As a comparison git supports sub commands (verbs) but only one at a time
> > AFAIC. I wonder if we could even parse in a deterministic manner more than
> > one verb and it's options...
> >
> > Gary
> >
> > On Mon, Jul 22, 2024, 6:54 AM Eric Pugh <ep...@opensourceconnections.com 
> > <mailto:ep...@opensourceconnections.com>>
> > wrote:
> >
> >> Yes, I think you are getting to the what I am looking for.  We are trying
> >> to move more logic from shell scripts to Java code.
> >>
> >> Right now the help command for ZK
> >>
> >> Bin/solr zk -h command is all done in shell scripts because we don’t have
> >> a single Java class that represents the “zk” command.
> >>
> >> Instead we have
> >>
> >> Bin/solr zk ls
> >> Bin/solr zk cp
> >>
> >> Etc, and each is backed by it’s own Java class with commons-cli:
> >>
> >> ZkLsTool
> >> ZkCpTool.
> >>
> >> Now, the other direction we could go is to have a single “ZkTool”, but
> >> then (I think) we would lose out on the nice set up of Options specific to
> >> each sub command…
> >>
> >>
> >>
> >>> On Jul 22, 2024, at 9:05 AM, Claude Warren <cla...@apache.org> wrote:
> >>>
> >>> As I understand the question: If I have a project that has input options
> >> of
> >>> "file" and "type" and  output options with the same names I could
> >> currently
> >>> write the options as: --input-file, --input-type, --output-file,
> >>> --output-type (This is the current approach in the unreleased Rat 0.17).
> >>> However, it can simplify things if I can separate the command options
> >> into
> >>> "sub commands" so rather than using:
> >>>
> >>> progName --input-file inFile --input-type CSV --output-file outFile
> >>> --output-type XML argument1 argument2
> >>>
> >>> I can write the command line using "input" and "output" as subcommands
> >> like
> >>>
> >>> progName input --file inFile --type CSV output  --file outFile --type XML
> >>> argument1 argument2
> >>>
> >>> I support this idea if we can reconcile it with the open issue around
> >>> multiple values for an option and how they are structured.
> >>>
> >>> It could be implemented by creating a "subCommand" that has a name
> >> ("input"
> >>> or "output" in the exampel above) and contains multiple non-exclusive
> >>> options (like an OptionGroup without the exclusion check (I think by
> >>> default there is one subcommand containing all the options if no
> >>> subcommands are specified).  command line parsing then has to determine
> >> if
> >>> a token is a subcommand, and value on a multi-valued option, or an
> >> argument
> >>> to the program.
> >>>
> >>> Claude
> >>>
> >>> On Sun, Jul 21, 2024 at 1:19 PM Gary Gregory <garydgreg...@gmail.com>
> >> wrote:
> >>>
> >>>> Are you talking about configuring Commons CLI to run shell commands or
> >>>> lambdas (where you'd have those run shell commands)?
> >>>>
> >>>> Gary
> >>>>
> >>>> On Sun, Jul 21, 2024 at 5:12 AM Eric Pugh
> >>>> <ep...@opensourceconnections.com> wrote:
> >>>>>
> >>>>> Hi all,
> >>>>>
> >>>>> In Solr-land, we have a set of commands that sub commands that each
> >> take
> >>>> various options:
> >>>>>
> >>>>> Bin/solr zk cp
> >>>>> Bin/solr zk ls
> >>>>> Bin/solr zk rm
> >>>>>
> >>>>> Right now we handle picking the right command via the shell (linux) and
> >>>> command (windows) scripts.   Is there any interest or way in having
> >>>> commons-cli handle figuring out which sub command is being run and
> >> calling
> >>>> it?   Or is that beyond the remit of what commons-cli does..
> >>>>>
> >>>>> For reference, this is where we do our zk logic:
> >>>> https://github.com/apache/solr/blob/main/solr/bin/solr#L890 and
> >>>> eventually where we pick the command to run:
> >>>> https://github.com/apache/solr/blob/main/solr/bin/solr#L1015
> >>>>>
> >>>>>
> >>>>>
> >>>>> Eric
> >>>>> _______________________
> >>>>> 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.
> >>>>>
> >>>>
> >>>> ---------------------------------------------------------------------
> >>>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> >>>> For additional commands, e-mail: dev-h...@commons.apache.org
> >>>>
> >>>>
> >>
> >> _______________________
> >> 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.
>
> _______________________
> 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.
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to