You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by rp...@apache.org on 2018/08/21 00:27:53 UTC

groovy git commit: GROOVY-8759 fix picocli version of CliBuilder to behave like the commons.cli version when `stopAtNonOption` is switched off and an unknown command line option is specified

Repository: groovy
Updated Branches:
  refs/heads/master 82bf5683b -> 2332234d6


GROOVY-8759 fix picocli version of CliBuilder to behave like the commons.cli version when `stopAtNonOption` is switched off and an unknown command line option is specified


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/2332234d
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/2332234d
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/2332234d

Branch: refs/heads/master
Commit: 2332234d6ef3f2314b41cf81afaac501bb76a9cf
Parents: 82bf568
Author: Remko Popma <re...@yahoo.com>
Authored: Tue Aug 21 09:27:31 2018 +0900
Committer: Remko Popma <re...@yahoo.com>
Committed: Tue Aug 21 09:27:50 2018 +0900

----------------------------------------------------------------------
 .../src/main/groovy/groovy/cli/picocli/CliBuilder.groovy      | 1 +
 .../src/test/groovy/groovy/cli/picocli/CliBuilderTest.groovy  | 7 +++++++
 2 files changed, 8 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/2332234d/subprojects/groovy-cli-picocli/src/main/groovy/groovy/cli/picocli/CliBuilder.groovy
----------------------------------------------------------------------
diff --git a/subprojects/groovy-cli-picocli/src/main/groovy/groovy/cli/picocli/CliBuilder.groovy b/subprojects/groovy-cli-picocli/src/main/groovy/groovy/cli/picocli/CliBuilder.groovy
index b4c9d9c..e53003e 100644
--- a/subprojects/groovy-cli-picocli/src/main/groovy/groovy/cli/picocli/CliBuilder.groovy
+++ b/subprojects/groovy-cli-picocli/src/main/groovy/groovy/cli/picocli/CliBuilder.groovy
@@ -530,6 +530,7 @@ class CliBuilder {
     void setStopAtNonOption(boolean stopAtNonOption) {
         this.stopAtNonOption = stopAtNonOption
         parser.stopAtPositional(stopAtNonOption)
+        parser.unmatchedOptionsArePositionalParams(stopAtNonOption)
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/groovy/blob/2332234d/subprojects/groovy-cli-picocli/src/test/groovy/groovy/cli/picocli/CliBuilderTest.groovy
----------------------------------------------------------------------
diff --git a/subprojects/groovy-cli-picocli/src/test/groovy/groovy/cli/picocli/CliBuilderTest.groovy b/subprojects/groovy-cli-picocli/src/test/groovy/groovy/cli/picocli/CliBuilderTest.groovy
index 3638b1a..ce55210 100644
--- a/subprojects/groovy-cli-picocli/src/test/groovy/groovy/cli/picocli/CliBuilderTest.groovy
+++ b/subprojects/groovy-cli-picocli/src/test/groovy/groovy/cli/picocli/CliBuilderTest.groovy
@@ -1043,4 +1043,11 @@ Usage: groovy [-hiV] [-cp] [-pa] [--configscript=PARAM]
   -V, --version              cli.option.version.description"""
         assertEquals(expectedUsage, stringWriter.toString().tokenize('\r\n').join('\n'))
     }
+
+    void testNonOption() {
+        CliBuilder cli = new CliBuilder(stopAtNonOption: false)
+        def optionAccessor = cli.parse(['-x'])
+        assertNull(optionAccessor)
+    }
+
 }