Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Explicit model #245

Closed
remkop opened this issue Dec 7, 2017 · 1 comment
Closed

Explicit model #245

remkop opened this issue Dec 7, 2017 · 1 comment

Comments

@remkop
Copy link
Owner

remkop commented Dec 7, 2017

For some JVM languages, Java annotations are not the most convenient way to express a command line configuration. In some cases, a builder-like API may be more useful.

The new picocli model should be flexible and powerful enough to be a base to create DSL on top of.

A stronger model is needed to support new features like #182 (annotated methods) and #144 (mixins).

Related to: #257 (parse results API), #260 (use builders or keep setter methods)

TODO:

  • add printHelpIfRequested(ParseResult) method
  • Add BaseParseResultHandler that prints help if requested and calls execute(ParseResult) otherwise
@remkop remkop added this to the 2.2.0 milestone Dec 7, 2017
remkop added a commit that referenced this issue Dec 8, 2017
remkop added a commit that referenced this issue Dec 9, 2017
remkop added a commit that referenced this issue Dec 9, 2017
remkop added a commit that referenced this issue Dec 10, 2017
remkop added a commit that referenced this issue Dec 10, 2017
remkop added a commit that referenced this issue Dec 13, 2017
remkop added a commit that referenced this issue Dec 14, 2017
remkop added a commit that referenced this issue Dec 15, 2017
remkop added a commit that referenced this issue Dec 25, 2017
remkop added a commit that referenced this issue Dec 25, 2017
remkop added a commit that referenced this issue Dec 25, 2017
remkop added a commit that referenced this issue Dec 25, 2017
remkop added a commit that referenced this issue Dec 25, 2017
remkop added a commit that referenced this issue Dec 25, 2017
remkop added a commit that referenced this issue Dec 25, 2017
remkop added a commit that referenced this issue Dec 25, 2017
remkop added a commit that referenced this issue Dec 25, 2017
remkop added a commit that referenced this issue Jan 3, 2018
remkop added a commit that referenced this issue Jan 3, 2018
remkop added a commit that referenced this issue Jan 3, 2018
remkop added a commit that referenced this issue Jan 3, 2018
- generic return type from setter methods allow mixing argSpec with option/positionalSpec setters in chained calls
- make names mandatory in OptionSpec constructor
remkop added a commit that referenced this issue Jan 3, 2018
remkop added a commit that referenced this issue Jan 3, 2018
remkop added a commit that referenced this issue Jan 3, 2018
remkop added a commit that referenced this issue Feb 21, 2018
… from CommandSpec to separate specification classes
remkop added a commit that referenced this issue Feb 21, 2018
remkop added a commit that referenced this issue Feb 22, 2018
remkop added a commit that referenced this issue Feb 22, 2018
remkop added a commit that referenced this issue Feb 22, 2018
remkop added a commit that referenced this issue Feb 22, 2018
@remkop
Copy link
Owner Author

remkop commented Feb 22, 2018

Todo:

  • Validate positional parameters index before adding in add method
  • In DSL, add getAt and setAt methods to support adding positional parameters with this syntax:
CliBuilder2 cli = ...
cli[0] = PositionalParamSpec.builder().build();
cli[1] = PositionalParamSpec.builder().build();
...

remkop added a commit that referenced this issue Mar 1, 2018
remkop added a commit that referenced this issue Mar 9, 2018
remkop added a commit that referenced this issue Mar 10, 2018
… getter to conveniently install this from the programmatic API
remkop added a commit that referenced this issue Mar 11, 2018
@remkop remkop closed this as completed in cbaed4e Mar 15, 2018
remkop added a commit that referenced this issue Mar 18, 2018
remkop added a commit that referenced this issue May 1, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant