This ensures that the behavior of reclass-rs matches Python reclass in regards to how files named init.yml (or init.yaml) are treated.
Python reclass treats such files as content for class foo. While Project Syn doesn't make use of this mapping and instead favors having a file foo.yml alongside a folder foo/ to achieve the same behavior, we want to ensure that reclass-rs is compatible with as many Reclass inventories as possible.
Notably, Python reclass also resolves relative includes in such files as relative to the parent directory of the directory containing the file. For example, relative includes in foo/init.yml are treated relative to the directory holding foo and not relative to directory foo.
This is a breaking change for users which rely on the current reclass-rs behavior of handling files named init.yml, since such files can no longer be included as foo.init.
Checklist
[x] The PR has a meaningful title. The title will be used to auto generate the changelog
[x] PR contains a single logical change (to build a better changelog).
[x] Update the documentation.
[x] Update tests.
[x] Categorize the PR by setting a good title and adding one of the labels:
bug, enhancement, documentation, change, breaking, dependency, internal
as they show up in the changelog
Performance impact of the implementation change is negligible, benchmarked performance is lower for the complete PR because we add an additional node to the inventory that we use for the benchmark.
This ensures that the behavior of reclass-rs matches Python reclass in regards to how files named
init.yml
(orinit.yaml
) are treated.Python reclass treats such files as content for class
foo
. While Project Syn doesn't make use of this mapping and instead favors having a filefoo.yml
alongside a folderfoo/
to achieve the same behavior, we want to ensure that reclass-rs is compatible with as many Reclass inventories as possible.Notably, Python reclass also resolves relative includes in such files as relative to the parent directory of the directory containing the file. For example, relative includes in
foo/init.yml
are treated relative to the directory holdingfoo
and not relative to directoryfoo
.This is a breaking change for users which rely on the current reclass-rs behavior of handling files named
init.yml
, since such files can no longer be included asfoo.init
.Checklist
bug
,enhancement
,documentation
,change
,breaking
,dependency
,internal
as they show up in the changelog