Uploaded image for project: 'Groovy'
  1. Groovy
  2. GROOVY-8740

groovy.util.CliBuilder doesn't handle parse errors correctly

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.5.1
    • Fix Version/s: 3.0.0-alpha-4, 2.5.2
    • Component/s: groovy-jdk
    • Labels:
      None

      Description

      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:

      groovy:000> options = new groovy.cli.commons.CliBuilder(stopAtNonOption: false).parse(['-x'])
      error: Unrecognized option: -x
      usage: groovy
      
      ===> null

      And here's what happens with the wrapper:

      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

      I get an object that pretends to be null, but isn't. So I can't determine whether the parsing was successful or not.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                paulk Paul King
                Reporter:
                dpb Роман Донченко
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: