feat: Introduce Multi-file Project Configurations#5
Closed
wsidl wants to merge 29 commits intorelease/0.2.0from
Closed
feat: Introduce Multi-file Project Configurations#5wsidl wants to merge 29 commits intorelease/0.2.0from
wsidl wants to merge 29 commits intorelease/0.2.0from
Conversation
# Conflicts: # pyproject.toml
…ters for Standard Deviation distributions
* fix: added a `force` parameter on the render method to allow re-rendering a value during an iteration. * feat: `generate` method accepts keyword arguments. Supports complex objects that should pass context of the parent object to children. Supports a List Generator to pass an index to children generators.
add test workflow for Github Actions
* feat: introduce hidden flags on properties
* feat: add XML formatter
# New Features * XML Formatter * Hidden Property Flag # Fixes * Github reads README from .github dir * add unit tests for expression datetime filter handling formats * remove series comparator as more work is necessary to handle multiple values over a series, especially when retrieving the child properties of an object * add docs on introduced filters and update `iter` filter to support more generic functions
* fix: clear root document in the XML formatter when multiple events are provided
Also introduced custom YAML Tags to flag known document types
# Conflicts: # pyproject.toml # syntrend/config/model.py # syntrend/generators/__init__.py
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The project file will be required to support the generation of a common input sources but requiring different parameters to express alternate and/or conflicting patterns. This feature will introduce a
!includetag that would allow including the content of a nearby file.Current Behaviour
Requires re-implementing a project file with the data sources and making minor modifications. For example,
project_1.yamlcould have two objects with 2 fields each, whereobj2.field2is a status ofobj1.field2:Creating a another project with the same objects, output types, and configurations but with a slight modification (like the following means copying the entire file.
The problem this creates is a maintenance issue if the structure of either object changes, it will need to be changed for all files.
Expected Behaviour
Instead of maintaining all of these individual files, it would be possible to create a single set of object definitions with known parameters and include those into the project file with overridden modifications.
Using the above example, each object can be their own file:
obj1.yamlobj2.yamlThen each project file can include it into their project with modifications.
project1.yaml`project2.yaml
so if modifications occur to
obj1that could potentially impact downstream logic, it would be modified in one place with only individual modifications where overrides take place.Additional Notes
Since YAML also supports multi-document files, the
!includetag can also include an index of the document within the file to reference.