[Engine-devel] Adding JCommander library to projects

Martin Perina mperina at redhat.com
Thu Mar 28 10:01:45 UTC 2013



----- Original Message -----
> From: "Alon Bar-Lev" <alonbl at redhat.com>
> To: "Martin Perina" <mperina at redhat.com>
> Cc: engine-devel at ovirt.org
> Sent: Thursday, March 28, 2013 10:18:19 AM
> Subject: Re: [Engine-devel] Adding JCommander library to projects
> 
> 
> 
> ----- Original Message -----
> > From: "Martin Perina" <mperina at redhat.com>
> > To: engine-devel at ovirt.org
> > Sent: Thursday, March 28, 2013 10:48:07 AM
> > Subject: [Engine-devel] Adding JCommander library to projects
> > 
> > Hi,
> > 
> > I'm currently working on bug 904029, support for POSIX parameters
> > and
> > values
> > in engine-manage-domains. I think there are two possible solutions:
> > 
> >   1) Write custom parser (similar to EngineConfigCLIParser used for
> >   engine-config)
> >   2) Add CLI parsing library to project and use it for all command
> >   line clients
> >      (first implementation could be for engine-manage-domains)
> > 
> > I think 2) is much better approach, but I'm not sure about the
> > process of adding new
> > library to project.
> > 
> > Personally I like JCommander ( http://jcommander.org ), using
> > annotation for parameter
> > specification is great. JCommander is licensed with Apache 2.0
> > license, so the addition
> > shouldn't be a problem.
> > 
> > So, would it be possible to add JCommander library to project?
> 
> I believe that any other solution will be better than current
> situation.
> 
> However, I recommend of horizontal change when such introduced,
> leaving hybrid implementation in tree will just make maintenance
> cost higher when introducing new dependency. It should not be that
> difficult to port all current implementation to the new dependency
> when selected.
> 
> Regards,
> Alon.
> 

Sure, reference implementation will be for engine-manage-domains
and after that I will implement this solution for the rest of commands.

Martin



More information about the Devel mailing list