Allow cross-junction dependencies to be listed as strings
Background
While writing element definitions, one could either list it as a string or as a dependency. Since build-depends
and runtime-depends
were introduced, we generally prefer using them over the dict approach as they keep the element definitions small and more readable.
But, we have to revert to using dicts when working with elements across junctions (which are the majority). Sometimes this results in a weird mix of dependency lists, where half of them are dicts and the other half is strings.
As junctions are currently the only thing that have to be expressed via dicts, it would be nice to be able to do so using just strings. Luckily for us, we already have such a notation that we use in CLI (using :
as separator), so we can simply extend that to element definitions as well.
So, instead of:
dependencies:
- normal-dep.bst
- filename: junction-dep.bst
junction: junction-element.bst
one would be allowed to say:
dependencies:
- normal-dep.bst
- junction-element.bst:junction-dep.bst
Task description
-
Provide a way to express cross-junction dependencies as strings in one-line