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

DEPS: Update CLI11 to 1.9 #6307

Merged
2 commits merged into from
Jun 2, 2020
Merged

DEPS: Update CLI11 to 1.9 #6307

2 commits merged into from
Jun 2, 2020

Conversation

zadjii-msft
Copy link
Member

Updates CLI11 to 1.9. Doesn't look like any of the tests broke.

  • I work here
  • Ran existing tests

@zadjii-msft zadjii-msft added Product-Terminal The new Windows Terminal. Issue-Task It's a feature request, but it doesn't really need a major design. Area-CodeHealth Issues related to code cleanliness, linting, rules, warnings, errors, static analysis, etc. labels Jun 2, 2020
@DHowett
Copy link
Member

DHowett commented Jun 2, 2020

Do we need to update a cgmanifest JSON?
What changed upstream from 1.8 to 1.9?

@WSLUser
Copy link
Contributor

WSLUser commented Jun 2, 2020

Config file handling was revamped to fix common issues, and now supports reading TOML.

Adding options is significantly more powerful with support for things like
std::tuple and std::array, including with transforms. Several new
configuration options were added to facilitate a wider variety of apps. GCC
4.7 is no longer supported.

Config files refactored, supports TOML (may become default output in 2.0) CLIUtils/CLI11#362
Added two template parameter form of add_option, allowing std::optional to be supported without a special import CLIUtils/CLI11#285
string_view now supported in reasonable places CLIUtils/CLI11#300, CLIUtils/CLI11#285
immediate_callback, final_callback, and parse_complete_callback added to support controlling the App callback order CLIUtils/CLI11#292, CLIUtils/CLI11#313
Multiple positional arguments maintain order if positionals_at_end is set. CLIUtils/CLI11#306
Pair/tuple/array now supported, and validators indexed to specific components in the objects CLIUtils/CLI11#307, CLIUtils/CLI11#310
Footer callbacks supported CLIUtils/CLI11#309
Subcommands now support needs (including nameless subcommands) CLIUtils/CLI11#317
More flexible type size, more useful add_complex CLIUtils/CLI11#325, [https://github.com/CLIUtils/CLI11/issues/370][]
Added new validators CLI::NonNegativeNumber and CLI::PositiveNumber CLIUtils/CLI11#342
Transform now supports arrays CLIUtils/CLI11#349
Option groups can be hidden CLIUtils/CLI11#356
Add CLI::deprecate_option and CLI::retire_option functions CLIUtils/CLI11#358
More flexible and safer Option default_val [https://github.com/CLIUtils/CLI11/issues/387][]
Backend: Cleaner type traits CLIUtils/CLI11#286
Backend: File checking updates [https://github.com/CLIUtils/CLI11/issues/341][]
Backend: Using pre-commit to format, checked in GitHub Actions CLIUtils/CLI11#336
Backend: Clang-tidy checked again, CMake option now CL11_CLANG_TIDY CLIUtils/CLI11#390
Backend: Warning cleanup, more checks from klocwork CLIUtils/CLI11#350, Effective C++ CLIUtils/CLI11#354, clang-tidy CLIUtils/CLI11#360, CUDA NVCC CLIUtils/CLI11#365, cross compile CLIUtils/CLI11#373, sign conversion CLIUtils/CLI11#382, and cpplint CLIUtils/CLI11#400
Docs: CLI11 Tutorial now hosted in the same repository CLIUtils/CLI11#304, CLIUtils/CLI11#318, CLIUtils/CLI11#374
Bugfix: Fixed undefined behavior in checked_multiply CLIUtils/CLI11#290
Bugfix: ->check() was adding the name to the wrong validator CLIUtils/CLI11#320
Bugfix: Resetting config option works properly CLIUtils/CLI11#301
Bugfix: Hidden flags were showing up in error printout CLIUtils/CLI11#333
Bugfix: Enum conversion no longer broken if stream operator added CLIUtils/CLI11#348
Build: The meson build system supported CLIUtils/CLI11#299
Build: GCC 4.7 is no longer supported, due mostly to GoogleTest. GCC 4.8+ is now required. CLIUtils/CLI11#160
Build: Restructured significant portions of CMake build system CLIUtils/CLI11#394
Converting from CLI11 1.8:
Some deprecated methods dropped
add_set* should be replaced with ->check/->transform and CLI::IsMember since 1.8
get_defaultval was replaced by get_default_str in 1.8
The true/false 4th argument to add_option is expected to be removed in 2.0, use -capture_default_str() since 1.8

I was trying to update several deps at once or I would of already done this one. I also verified this change did not cause any issues. But it brings more features and bug fixes that may make our current parser a bit better. I do seriously recommend allowing ingestion of TOML at some point, not just json as it could prove useful in extensions or settings in general.

@zadjii-msft
Copy link
Member Author

@DHowett None of the dep/ folder dependencies have a cgmanifest, presumably because those aren't actually ingested into the OS.

I'm not sure that we need any of the new features or if any of the bug fixes apply to us. I was mostly just doing a mechanical update this morning as I had my coffee.

@DHowett
Copy link
Member

DHowett commented Jun 2, 2020

no cgmanifest

That one we should fix :) it’s not just for OS ingestion, but general project health.

@zadjii-msft
Copy link
Member Author

zadjii-msft commented Jun 2, 2020

Okeydokey, that's easy enough

@DHowett
Copy link
Member

DHowett commented Jun 2, 2020

@msftbot merge this in 1 minute

@ghost ghost added the AutoMerge Marked for automatic merge by the bot when requirements are met label Jun 2, 2020
@ghost
Copy link

ghost commented Jun 2, 2020

Hello @DHowett!

Because you've given me some instructions on how to help merge this pull request, I'll be modifying my merge approach. Here's how I understand your requirements for merging this pull request:

  • I won't merge this pull request until after the UTC date Tue, 02 Jun 2020 18:50:24 GMT, which is in 1 minute

If this doesn't seem right to you, you can tell me to cancel these instructions and use the auto-merge policy that has been configured for this repository. Try telling me "forget everything I just told you".

@ghost ghost merged commit 5e51ba4 into master Jun 2, 2020
@ghost ghost deleted the dev/migrie/f/update-cli11-1.9 branch June 2, 2020 18:51
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-CodeHealth Issues related to code cleanliness, linting, rules, warnings, errors, static analysis, etc. AutoMerge Marked for automatic merge by the bot when requirements are met Issue-Task It's a feature request, but it doesn't really need a major design. Product-Terminal The new Windows Terminal.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants