-
-
Notifications
You must be signed in to change notification settings - Fork 262
1.1.0 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
base: master
Are you sure you want to change the base?
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
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. |
with mixins. | ||
1. Leave entire sections in your base configuration blank and fill them | ||
out by merging mixins. With this strategy, you might configure all | ||
the basics in a base project configuration but merge into it the |
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.
the basics in a base project configuration but merge into it the | |
the basics in a base project configuration, but merge into it the |
|
||
The example command line above will produce the following logging output. | ||
The example command line above will produce the following logging output | ||
if verbosity is increased beyond the default. |
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.
I assume this is a bit more understandable than if.
if verbosity is increased beyond the default. | |
when verbosity is increased beyond the default. |
:defines
or:flags
config 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).