[
https://issues.apache.org/jira/browse/GROOVY-8740?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Paul King closed GROOVY-8740.
-----------------------------
> groovy.util.CliBuilder doesn't handle parse errors correctly
> ------------------------------------------------------------
>
> Key: GROOVY-8740
> URL: https://issues.apache.org/jira/browse/GROOVY-8740
> Project: Groovy
> Issue Type: Bug
> Components: groovy-jdk
> Affects Versions: 2.5.1
> Reporter: Роман Донченко
> Assignee: Paul King
> Priority: Major
> Fix For: 3.0.0-alpha-4, 2.5.2
>
>
> In Groovy 2.5, {{groovy.util.CliBuilder}} is a wrapper that delegates to
> {{groovy.cli.commons.CliBuilder}}. However, this wrapper doesn't correctly
> handle the case when the arguments fail to be parsed.
> Here's how it works with the real {{CliBuilder}}:
> {code:java}
> groovy:000> options = new groovy.cli.commons.CliBuilder(stopAtNonOption:
> false).parse(['-x'])
> error: Unrecognized option: -x
> usage: groovy
> ===> null{code}
> And here's what happens with the wrapper:
> {code:java}
> groovy:000> options = new groovy.util.CliBuilder(stopAtNonOption:
> false).parse(['-x'])
> error: Unrecognized option: -x
> usage: groovy
> ===> groovy.util.OptionAccessor@6fc3e1a4
> groovy:000> options.arguments()
> ERROR java.lang.NullPointerException:
> Cannot invoke method arguments() on null object{code}
> I get an object that pretends to be {{null}}, but isn't. So I can't determine
> whether the parsing was successful or not.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)