commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Emmanuel Bourg (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CLI-137) Change of behaviour 1.0 -> 1.1
Date Mon, 09 Jun 2008 09:49:45 GMT

    [ https://issues.apache.org/jira/browse/CLI-137?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12603529#action_12603529
] 

Emmanuel Bourg commented on CLI-137:
------------------------------------

I don't think it's worth supporting both behaviors, the vast majority of CLI users are still
with the 1.0 version, and those using CLI 1.1 are unlikely to rely on this weird behavior
(I checked the code for JEuclid, James JSPF, easyb and OpenEJB which are depending on CLI
1.1 according to mvnrepository.com, none uses more than 1 argument per option)

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


Mime
View raw message