[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? Martin Perina

----- Original Message -----
From: "Martin Perina" <mperina@redhat.com> To: engine-devel@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.

----- Original Message -----
From: "Alon Bar-Lev" <alonbl@redhat.com> To: "Martin Perina" <mperina@redhat.com> Cc: engine-devel@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@redhat.com> To: engine-devel@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
participants (2)
-
Alon Bar-Lev
-
Martin Perina