Skip to content

loader: Allow dependencies to use ":" to refer to junctioned elements

Chandan Singh requested to merge chandan/junction-dependency-format into master
  • loader: Allow dependencies to use ":" to refer to junctioned elements

    In the previous commit, we added support to express cross-junction dependencies inline as simple strings. Document it along with the version in which the feature was added.

    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.

  • NEWS: Cross-junction dependencies can now be specified inline

  • Document how to refer to cross-junction dependencies inline

    In the previous commit, we added support to express cross-junction dependencies inline as simple strings. Document it along with the version in which the feature was added.

Fixes #809 (closed).

Edited by Chandan Singh

Merge request reports