groovy-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Remko Popma <remko.po...@gmail.com>
Subject Re: Commons cli contribution?
Date Tue, 29 May 2018 06:02:36 GMT
Hi Romain,

I’m confused: the Groovy 2.5 cli annotations are similar to the picocli
annotations: one option per property/method, not a command being a method
with an option per method parameter.

Looks like the crest implementation already does exactly what you have in
mind...

Based on my experiences while helping Groovy migrate from Commons CLI to
picocli, I personally disagree that commons-cli provides strong parsing. It
felt to me that the parser had many issues but they may be hard to fix,
partially because the design gets in the way and partially because of the
need for the library to stay backwards compatible. (That may explain why
it’s hard for the Commons community to address the open bugs).

Please note that picocli is published under the Apache license so it is
easy for other ASF projects to adopt picocli.

I hope you’ll reconsider picocli. The project can really use an
enthusiastic evangelist!

Kind regards,
Remko


On Tue, May 29, 2018 at 14:03 Romain Manni-Bucau <rmannibucau@gmail.com>
wrote:

> Hi Remko,
>
> I checked picoli but it looks close to airlines or the pattern I'm trying
> to abandon from what I read in the readme and the few classes I looked. I
> want something command oriented but a command being a method, not a class.
>
> Here is something close to what I have in mind
> https://github.com/tomitribe/crest. For "big" cli apps you mix it with
> jline or equivalent but for small ones it is super light and efficient (it
> even have injection support).
>
> Cli provides a strong parsing bit misses a user friendly api so Im just
> trying to make it converging + Id like to see it hosted @asf to reuse it in
> other asf projects without more careness.
>
>
> Le mar. 29 mai 2018 06:52, Remko Popma <remko.popma@gmail.com> a écrit :
>
>> (Adding Romain to recipients)
>>
>> On Tue, May 29, 2018 at 13:48 Remko Popma <remko.popma@gmail.com> wrote:
>>
>>> Romain,
>>>
>>> I’m hoping for picocli to become the successor to Commons CLI (and to
>>> some extent JCommander, args4j, jopt-simple etc).
>>>
>>> Please take a look at the project. (Nutshell: apps can avoid depending
>>> on picocli.jar, have ANSI colors, shell autocompletion,  subcommands, and
>>> strongly typed options & positional parameters, all with almost zero code.)
>>>
>>> I admire your enthusiasm to blow new life into  the Commons CLI project,
>>> but I hope I can convince you to help evangelize picocli instead.
>>>
>>> I don’t see much enthusiasm in the Apache Commons community to maintain
>>> the CLI project (I see many open bugs, most of them years old). On the
>>> other hand, picocli is actively maintained: features are continuously added
>>> and there are no outstanding bugs. If a bug is reported, the fix is usually
>>> released within 48 hours or less.
>>>
>>> Picocli is a young project and it’s difficult to get traction against
>>> the incumbents that have a large installed base.
>>>
>>> It would be great if you could help picocli get visibility in the Java
>>> community. Your enthusiasm could make a massive difference!
>>>
>>> Looking forward to your response (either on-list or off-list, both are
>>> fine).
>>>
>>> Remko
>>>
>>>
>>> On Tue, May 29, 2018 at 5:13 Romain Manni-Bucau <rmannibucau@gmail.com>
>>> wrote:
>>>
>>>> I can take part of this one for this week end. Ill keep you up to date.
>>>>
>>>> Le lun. 28 mai 2018 21:55, Paul King <paulk@asert.com.au> a écrit
:
>>>>
>>>>> Well, certainly in the first instance it would be good to know how
>>>>> much of the existing annotation functionality works as-is from Java.
>>>>>
>>>>> On Tue, May 29, 2018 at 5:29 AM, Romain Manni-Bucau <
>>>>> rmannibucau@gmail.com> wrote:
>>>>>
>>>>>> Do you think groovy community could try to extract it and do a PR
to
>>>>>> cli project? I already did it like 5 times (+ tomitribe-cli work)
and would
>>>>>> be happy to see some convergence here. Cli is a strong base for the
parsing
>>>>>> but api is too raw :(.
>>>>>>
>>>>>>
>>>>>> Le lun. 28 mai 2018 20:46, Paul King <paulk@asert.com.au> a
écrit :
>>>>>>
>>>>>>> I've mentioned it on the cli dev list before:
>>>>>>>
>>>>>>> https://markmail.org/message/45jgonianj4sw7i4
>>>>>>>
>>>>>>> You can probably use it all directly from Java apart from the
>>>>>>> Closure-based converters (which are also possible from Java just
a big
>>>>>>> uglier). We could easily provide a lambda overload these days
if there was
>>>>>>> interest.
>>>>>>>
>>>>>>> Cheers, Paul.
>>>>>>>
>>>>>>>
>>>>>>> On Tue, May 29, 2018 at 4:31 AM, Remko Popma <remko.popma@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Personally, I would invite everyone using Commons CLI to
migrate to
>>>>>>>> picocli <https://github.com/remkop/picocli>.
>>>>>>>> But I may be biased... :-)
>>>>>>>>
>>>>>>>> Remko
>>>>>>>>
>>>>>>>> On Tue, May 29, 2018 at 2:06 AM, Romain Manni-Bucau <
>>>>>>>> rmannibucau@gmail.com> wrote:
>>>>>>>>
>>>>>>>>> Hi guys
>>>>>>>>>
>>>>>>>>> Saw you added some annotations to write a cli in groovy
cli, did
>>>>>>>>> you try (or do you plan) to propose it to commons cli?
It would be an
>>>>>>>>> awesome addition which affects more than groovy users
IMHO and could unify
>>>>>>>>> part of the specific api you created.
>>>>>>>>>
>>>>>>>>> Romain
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>

Mime
View raw message