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