Re: Proposing new include directive
- From: Jürg Billeter <j bitron ch>
- To: Tristan Van Berkom <tristan vanberkom codethink co uk>, BuildStream <buildstream-list gnome org>
- Subject: Re: Proposing new include directive
- Date: Thu, 12 Apr 2018 07:50:24 +0200
Hi Tristan,
This proposal looks good to me overall.
On Fri, 2018-03-30 at 17:04 +0900, Tristan Van Berkom wrote:
Note about junction paths
~~~~~~~~~~~~~~~~~~~~~~~~~
Junction paths are "already a thing", however they are presently only
used for display purposes.
That said, since `project.refs` work has recently landed, it has
already become important to be able to address elements using these
junction paths - some minor work needs to be done in order to support
things such as:
bst track junction.bst:element.bst
If we start supporting this everywhere, maybe we should reconsider
supporting it also for dependencies for consistency? I don't like
having two syntax variants for a single purpose but I do like
consistency.
How include composition works
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The composition of an included YAML file into the including
dictionary works in the opposite direction of the (?) conditional
directives.
With (?) directives, the conditional YAML fragment *overrides*
what is declared in the dictionary declaring the conditional, one
can say that the composited YAML fragment is "on top"
With the (@) include directive, composition happens the other way
around, such that it first replaces the including dictionary, and
the declaring dictionary is composited over the included one.
One can say then that an included YAML fragment is composited
"underneath" the including dictionary.
We need to clarify how this works with a list of includes. I would
expect the first include to be composited underneath the second include
and the result of that composition is then composited underneath the
including dictionary. Does this match your plans?
Cheers,
Jürg
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]