Skip to content

Conversation

mkarlesky
Copy link
Member

  1. If :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.
  2. An option has been added to the use of deep_merge() to handle the case of merging mixin single values into config arrays (typically a single string into an array of strings).
  3. If some oddball edge case slips through both of the above, Ceedling now logs a warning explaining which mixin value will clobber a config value in a merge.

- 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
Copy link
Contributor

@Letme Letme left a 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.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.
Copy link
Contributor

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.

Suggested change
if verbosity is increased beyond the default.
when verbosity is increased beyond the default.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In progress
Development

Successfully merging this pull request may close these issues.

2 participants