loader: Allow dependencies to use ":" to refer to junctioned elements
This will allow cross-junction dependencies to be listed as strings on a
single line.
As part of this, some logic around initializing `Dependency()` objects
have been moved out of `_extract_depends_from_node()` method into the
constructor of `Dependency()` class, to keep all related code in one
place.
* _loader/types.py: While initializing `Dependency` objects, attempt to
split filenames, only if no `junction` was specified
explicitly. If a `junction` was specified, then
filenames with `:` in their names will result in an
error.
* _loader/loadelement.py: Refactor logic to initialize `Dependency()`
objects to move it to the `Dependency()`
constructor.
* tests/frontend/buildcheckout.py: Add tests to ensure the above.
* _versions.py: Bump BST_FORMAT_VERSION.
Fixes #809.
Loading
Please register or sign in to comment