[
https://issues.apache.org/jira/browse/CLI-137?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12604924#action_12604924
]
Emmanuel Bourg commented on CLI-137:
------------------------------------
Just a thought on Russel's last example, I believe we hit a flaw in the parser,
if the command line is:
\\
{code}-Dz=1 blah{code}
The parser should know that "blah" can't be an argument of the option because
the first argument is attached to the option, even if the option is defined
with an unlimited number of arguments. That would not be true if the first
value was detached from the option, like:
{code}-D z=1 blah{code}
I'll file this in another JIRA issue.
> Change of behaviour 1.0 -> 1.1
> ------------------------------
>
> Key: CLI-137
> URL: https://issues.apache.org/jira/browse/CLI-137
> Project: Commons CLI
> Issue Type: Bug
> Components: CLI-1.x
> Affects Versions: 1.1
> Environment: Ubuntu 7.04 Feisty Fawn (JDK 1.6.0) + Commons CLI 1.0
> and 1.1
> Reporter: Russel Winder
> Priority: Blocker
> Fix For: 1.2
>
> Attachments: repeated-options.patch
>
>
> The code:
> {code}
> import org.apache.commons.cli.*;
> public class Trial {
> private void execute (String[] commandLine) throws ParseException {
> Options options = new Options();
> options.addOption (
> OptionBuilder.withLongOpt("flob").hasArg().create('F') );
> CommandLine line = new GnuParser().parse(options, commandLine);
> String[] results = line.getOptionValues('F');
> if ( results != null ) {
> for ( String s : results ) {
> System.out.println( "-F " + s );
> }
> }
> results = line.getOptionValues("flob") ;
> if ( results != null ) {
> for ( String s : results ) {
> System.out.println( "--blah " + s );
> }
> }
> String[] theRest = line.getArgs() ;
> for ( String s : theRest ) {
> System.out.print( s + " " );
> }
> System.out.println();
> }
> public static void main (String[] args) throws ParseException {
> Trial trial = new Trial() ;
> trial.execute ( new String[] { "-F1" , "-F3" , "-Fbla" , "-F 76" ,
> "--flob" , "54" } ) ;
> }
> }
> {code}
> when compiled and executed under 1.0 produces:
> trial:
> [java] -F 1
> [java] -F 3
> [java] -F bla
> [java] -F 76
> [java] -F 54
> [java]
> However, when compiled and executed under 1.1 produces:
> trial:
> [java] -F 1
> [java] --blah 1
> [java] 3 bla 76 54
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.