Hey Everyone,
I am in favor of the proposition, +1 there.
Here are a few points I think we should be mindful of though:
1) The format:
I think the format we should be using is:
```
- depends:
- filename: one.bst # Either a single element
config: ...
- filename: # Or a list
- one.bst
- two.bst
config: ...
```
This is very close to what other yaml-based formats are using in other
well known tools, for example, Ansible [0]. This makes it non confusing,
no risk of adding/forgetting a 's', etc.
I also think we sohuld avoid the format '[info]', as '[]' are already used
in YAML for lists. It also gives less information and is less flexible, while
not greatly reducing the amount to type.
2) Where to put it
It was mentionned to put this on the 'BuildElement'. I think this should be
part of 'Element' directly. There is no reason to not have it only on
BuildElement.
3) should we put it for 'runtime_depends' ?
I am not sure, as it would make things awkward and I am not sure why we would
need it there. If we have even an hypothetical use case I'd be fine with
it, but think that unless we have one, we should not.
Finally, I also think we should have some keys recognized and actionned upon
by the 'Element' base class itself. The `sysroot` is a good example of a thing
that many elements will require.
I would however advise against naming it 'sysroot' and would prefer something
like `stage-path`, or `directory` to map with `Source` [1].
Cheers,
Ben
[0]: https://docs.ansible.com/ansible/latest/modules/package_module.html
[1]:
https://docs.buildstream.build/master/buildstream.source.html#built-in-functionality