You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@groovy.apache.org by Romain Manni-Bucau <rm...@gmail.com> on 2018/05/28 17:06:47 UTC

Commons cli contribution?

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

Re: Commons cli contribution?

Posted by Remko Popma <re...@gmail.com>.
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 <rm...@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 <re...@gmail.com> a écrit :
>
>> (Adding Romain to recipients)
>>
>> On Tue, May 29, 2018 at 13:48 Remko Popma <re...@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 <rm...@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 <pa...@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 <pa...@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 <re...@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
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>

Re: Commons cli contribution?

Posted by Romain Manni-Bucau <rm...@gmail.com>.
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 <re...@gmail.com> a écrit :

> (Adding Romain to recipients)
>
> On Tue, May 29, 2018 at 13:48 Remko Popma <re...@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 <rm...@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 <pa...@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 <pa...@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 <re...@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
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>

Re: Commons cli contribution?

Posted by Remko Popma <re...@gmail.com>.
(Adding Romain to recipients)

On Tue, May 29, 2018 at 13:48 Remko Popma <re...@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 <rm...@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 <pa...@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 <pa...@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 <re...@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
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>

Re: Commons cli contribution?

Posted by Remko Popma <re...@gmail.com>.
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 <rm...@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 <pa...@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 <pa...@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 <re...@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
>>>>>>
>>>>>
>>>>>
>>>>
>>

Re: Commons cli contribution?

Posted by Romain Manni-Bucau <rm...@gmail.com>.
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 <pa...@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 <pa...@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 <re...@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
>>>>>
>>>>
>>>>
>>>
>

Re: Commons cli contribution?

Posted by Paul King <pa...@asert.com.au>.
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 <rm...@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 <pa...@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 <re...@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
>>>>
>>>
>>>
>>

Re: Commons cli contribution?

Posted by Romain Manni-Bucau <rm...@gmail.com>.
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 <pa...@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 <re...@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
>>>
>>
>>
>

Re: Commons cli contribution?

Posted by Paul King <pa...@asert.com.au>.
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 <re...@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
>>
>
>

Re: Commons cli contribution?

Posted by Remko Popma <re...@gmail.com>.
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 <rm...@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
>