[ 
https://issues.apache.org/jira/browse/GROOVY-8520?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16443429#comment-16443429
 ] 

ASF GitHub Bot commented on GROOVY-8520:
----------------------------------------

GitHub user remkop opened a pull request:

    https://github.com/apache/groovy/pull/687

    Groovy-8520 picocli-based CliBuilder 

    Details are in the JIRA: 
    https://issues.apache.org/jira/browse/GROOVY-8520

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/remkop/groovy GROOVY_2_5_X

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/groovy/pull/687.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #687
    
----
commit ecd3060e0b3943feacb1d575f6e78b2e5c5fade0
Author: Remko Popma <remkop@...>
Date:   2018-04-03T12:05:54Z

    GROOVY-8520 initial version of migrating CliBuilder from commons-cli to 
picocli

commit 16645af5c8f49cb190b72166e1ee2b59fa1fcdf1
Author: Remko Popma <remkop@...>
Date:   2018-04-03T12:07:53Z

    Merge remote-tracking branch 'upstream/GROOVY_2_5_X' into GROOVY_2_5_X

commit 979d2f974b958b109a2e3ea4562a8666de7406c0
Author: Remko Popma <remkop@...>
Date:   2018-04-04T14:53:08Z

    GROOVY-8520 fix failing test CliBuilderTest.testConvertClass

commit c42284afefeff6586e5afe51b3367b84c90fabcf
Author: Remko Popma <remkop@...>
Date:   2018-04-04T14:57:49Z

    GROOVY-8520 fix failing test CliBuilderTest.testParseFromInstance: method 
invocation parameters must be an array

commit b9e5ca6c5c1ac0047284812650637435cd462f6e
Author: Remko Popma <remkop@...>
Date:   2018-04-04T15:37:25Z

    GROOVY-8520 cleanup: remove unused code (TypedOption not used any more)

commit 261181a841f6be85b18f54b2cbb31137aaf548ab
Author: Remko Popma <remkop@...>
Date:   2018-04-04T16:10:03Z

    GROOVY-8520 for multi-value options, cli.optionName should return the first 
element in the list

commit 69f2660bef3d24a120a64846d1eaa50e3335fc58
Author: Remko Popma <remkop@...>
Date:   2018-04-04T16:33:45Z

    GROOVY-8520 fix failing CliBuilderTest.testMixedBurstingAndLongOptions: to 
be backwards compatible, longOpt names should be registered with both a single 
hyphen and with two hyphens in picocli.

commit c405cfdd3198e1be73081a5ec6b2395c4149d474
Author: Remko Popma <remkop@...>
Date:   2018-04-04T16:38:01Z

    GROOVY-8520 fix CliBuilderTest.testMixedBurstingAndLongOptions: if you 
reuse the same CliBuilder instance multiple times, the previous parse result 
interacts with the next parse result (e.g., boolean flags are toggled, 
collections are added to, etc)

commit bc0005254a50184a24fef337eabae896375787ac
Author: Remko Popma <remkop@...>
Date:   2018-04-04T17:25:00Z

    GROOVY-8520 add back methods to OptionAccessor

commit 5ea2733adf80ef48335d20e99cfe68c846287afd
Author: Remko Popma <remkop@...>
Date:   2018-04-04T18:04:13Z

    GROOVY-8520 remove dependency on commons-cli from CliBuilderTest

commit 7c1530e7d873bfce9e8b3d549f18a2b20a2c1776
Author: Remko Popma <remkop@...>
Date:   2018-04-05T23:19:55Z

    GROOVY-8520 bugfixes, revert TypedOption, support name property, suppress 
trace output

commit 29dab5f62abb8f1ad67e31e52ca422002d3c9024
Author: Remko Popma <remkop@...>
Date:   2018-04-05T23:21:11Z

    GROOVY-8520 expected output of usage help message is different with picocli

commit d0cf7a2035524ea13249ac1ae2379ee949aaa77c
Author: Remko Popma <remkop@...>
Date:   2018-04-06T14:35:02Z

    GROOVY-8520 replace Unmatched with PositionalParams to support strongly 
typed @Unparsed fields/methods

commit 1821e98fb85432bd8fa7ff144105782e62b3113f
Author: Remko Popma <remkop@...>
Date:   2018-04-06T14:37:30Z

    GROOVY-8520 Fix test: should not reuse CliBuilder instance for new input

commit 7668333c8010e2a9d2866a92ad2c75e9b13c820b
Author: Remko Popma <remkop@...>
Date:   2018-04-06T17:02:17Z

    Merge remote-tracking branch 'upstream/GROOVY_2_5_X' into GROOVY_2_5_X

commit c342b2ea9a9a63649415a8b373d62b10fae4d474
Author: Remko Popma <remkop@...>
Date:   2018-04-10T13:08:26Z

    GROOVY-8520 use new picocli-3.0.0-alpha-5 API, fix many bugs

commit e6652b9acdbf049fae1ef91a013db371d27bfee5
Author: Remko Popma <remkop@...>
Date:   2018-04-10T18:25:34Z

    GROOVY-8520 fix failing test

commit 6a913e0dec8adbaf72b1a7836599be51061d2b1a
Author: Remko Popma <remkop@...>
Date:   2018-04-10T18:27:38Z

    GROOVY-8520 create new CliBuilder instance before parsing

commit 699521b019527b38bf1914949d8d8da211ec28af
Author: Remko Popma <remkop@...>
Date:   2018-04-10T18:28:38Z

    GROOVY-8520 create new CliBuilder instance before parsing

commit eb5aab2b0bdbe3b125f5b19573f631554c430891
Author: Remko Popma <remkop@...>
Date:   2018-04-10T18:33:18Z

    Merge remote-tracking branch 'upstream/GROOVY_2_5_X' into GROOVY_2_5_X

commit 98dbd9108d1f543a56ef573af8ea4c175121f2f2
Author: Remko Popma <remkop@...>
Date:   2018-04-10T18:34:06Z

    GROOVY-8520 bump picocliVersion to v3.0.0-alpha-5

commit 29174a7c0bc99a7d0491aa68f1d0e1f0c91dc5a2
Author: Remko Popma <remkop@...>
Date:   2018-04-12T13:52:59Z

    GROOVY-8520 no need to create new CliBuilder instance before parsing anymore

commit 82a6f38533a3943c1909392a299929aaceb20ec8
Author: Remko Popma <remkop@...>
Date:   2018-04-12T13:54:58Z

    GROOVY-8520 no need to create new CliBuilder instance before parsing anymore

commit b22ce49cc47085a1990f13e4d1ea296d62130892
Author: Remko Popma <remkop@...>
Date:   2018-04-12T13:56:12Z

    GROOVY-8520 no need to create new CliBuilder instance before parsing anymore

commit 0d82aa9ba040bc18f9ba78aa32256a872f9aafcf
Author: Remko Popma <remkop@...>
Date:   2018-04-12T14:49:13Z

    GROOVY-8520 bump picocliVersion to v3.0.0-alpha-6

commit 251d31922bc1765d79790d79d72aa0f660a839b4
Author: Remko Popma <remkop@...>
Date:   2018-04-12T14:57:05Z

    Merge remote-tracking branch 'upstream/GROOVY_2_5_X' into GROOVY_2_5_X

commit 55b523473e1b446062036f123542040868ec78c3
Author: Remko Popma <remkop@...>
Date:   2018-04-12T22:39:50Z

    GROOVY-8520 fix for testWithArgument

commit d1211ad24dd37dc85418ec60d579047364ce42a5
Author: Remko Popma <remkop@...>
Date:   2018-04-13T14:40:51Z

    GROOVY-8520 docs; fix initialization bug on reuse (requires 3.0.0-beta-1 
ArgSpec.Builder.hasInitialValue API)

commit eb12d2c69f08db85dce5594737b659cf9d1e856f
Author: Remko Popma <remkop@...>
Date:   2018-04-13T17:02:33Z

    GROOVY-8520 docs; fix NPE when usage() called before parse()

commit 8317bcf011df40399db229553faa12ffd6ffe979
Author: Remko Popma <remkop@...>
Date:   2018-04-13T17:13:20Z

    GROOVY-8520 docs

----


> Replace commons-cli with picocli in CliBuilder
> ----------------------------------------------
>
>                 Key: GROOVY-8520
>                 URL: https://issues.apache.org/jira/browse/GROOVY-8520
>             Project: Groovy
>          Issue Type: Improvement
>          Components: command line processing
>            Reporter: Remko Popma
>            Priority: Major
>
> This ticket proposes to replace commons-cli with picocli in 
> {{groovy.util.CliBuilder}}.
> See [discussion on the mailing 
> list|https://lists.apache.org/thread.html/d60b6d5d4411e9ba0d7dc209cde8a9bb4abb00f0b9c0322f068c322e@%3Cdev.groovy.apache.org%3E]
>  for the original proposal and comparison with other CLI libraries.
> Goals for the initial implementation:
> * preserve the current CliBuilder behaviour as much as possible
> * deliver an implementation, tests and documentation in time to be included 
> in the 2.5 GA release



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to