|
View:
New views
1 Messages
—
Rating Filter:
Alert me
|
|
|
[jira] Commented: (CLI-137) Change of behaviour 1.0 -> 1.1[ https://issues.apache.org/jira/browse/CLI-137?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12596277#action_12596277 ] Henri Yandell commented on CLI-137: ----------------------------------- It seems that this is a simple backwards compat issue. The default behaviour of Option/OptionBuilder mistakenly changed from hasArgs to hasArg. Now it's there - it's probably best to document this very clearly and mark this as wontfix. > 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 > > > The code: > {code} > import org.apache.commons.cli.CommandLine ; > import org.apache.commons.cli.OptionBuilder ; > import org.apache.commons.cli.GnuParser ; > import org.apache.commons.cli.Option ; > import org.apache.commons.cli.Options ; > import org.apache.commons.cli.ParseException ; > public class Trial { > private void execute ( final String[] commandLine ) throws ParseException { > final Options options = new Options ( ) ; > options.addOption ( OptionBuilder.withLongOpt ( "flob" ).hasArg ( ).create ( 'F' ) ) ; > final 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 ( final String[] args ) throws ParseException { > final 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. |
| Free Forum Powered by Nabble | Forum Help |