-
-
Notifications
You must be signed in to change notification settings - Fork 261
Smarter Mixin Merges #1003
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
Smarter Mixin Merges #1003
Conversation
- Automatically promote mixin or config :defines and :flags lists to `*` matchers if mixin and config conventions do not match. - Enabled `:extend_existing_arrays` for `deep_merge()` to handle config / mixin merge cases of a value as a single string merged with an array of strings. - Added merge warnings to log any oddball edge cases where a mixin value would silently clobber a config value
- Spoke to the design intent and recommendation to think in terms of additive merges - Clarified merge rules - Limited reorganization of headings
Letme
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great feature. It would help with the migration from 0.31 version to 1.0 version. So LGTM.
|
|
||
| Ceedling provides reasonably verbose logging at startup telling you which | ||
| configuration files were used and in what order they were merged. | ||
| configuration file and Mixins were used and in what order they were merged. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| configuration file and Mixins were used and in what order they were merged. | |
| configuration file and Mixins were used, and in what order they were merged. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A comma here would not be correct grammar. A comma is only needed in a list of 3 or more items, for clarity / a pause, or to join two independent clauses (noun + verb sentences). None of these conditions are met.
Co-authored-by: Crt Mori <cmo@melexis.com>
`nullptr` is a recognized keyword in C23 and later. Use a name that does not collide while retaining the intended bad pointer dereferencing.
`bool` is a recognized keyword in C23 and later. Use `#include <stdbool.h>` as a version agnostic solution for use of `bool` as a type. This approach is backwards compatible to C99.
:definesor:flagsconfig or mixin conventions mismatch (array vs. matcher hash), the array is promoted to the hash-style*matcher automatically with a notice logging this modification.deep_merge()to handle the case of merging mixin single values into config arrays (typically a single string into an array of strings).