You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Paul King (JIRA)" <ji...@apache.org> on 2018/08/14 08:06:02 UTC

[jira] [Closed] (GROOVY-8740) groovy.util.CliBuilder doesn't handle parse errors correctly

     [ 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)