<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/buildstream.git/src/buildstream/_includes.py, branch bschubert/node-api-split</title>
<subtitle>gitlab.com: buildstream/buildstream.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/'/>
<entry>
<title>node: Rename 'copy' to 'clone'</title>
<updated>2019-07-12T09:09:30+00:00</updated>
<author>
<name>Benjamin Schubert</name>
<email>ben.c.schubert@gmail.com</email>
</author>
<published>2019-07-10T15:54:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=28328f3321206a06e4cb815cfb9ab73b1e1aaddd'/>
<id>28328f3321206a06e4cb815cfb9ab73b1e1aaddd</id>
<content type='text'>
A 'clone' operation has an implicit understanding that it is expensive,
which is not the case of a 'copy' operation, which is more usually
a shallow copy.

Therefore renaming to 'clone'
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A 'clone' operation has an implicit understanding that it is expensive,
which is not the case of a 'copy' operation, which is more usually
a shallow copy.

Therefore renaming to 'clone'
</pre>
</div>
</content>
</entry>
<entry>
<title>_yaml: Split Node-related parts into 'node.pyx'</title>
<updated>2019-07-11T17:34:55+00:00</updated>
<author>
<name>Benjamin Schubert</name>
<email>ben.c.schubert@gmail.com</email>
</author>
<published>2019-07-10T12:59:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=396898ad15bc41bc2e00cd5b7251278223bf0d07'/>
<id>396898ad15bc41bc2e00cd5b7251278223bf0d07</id>
<content type='text'>
This makes the 'Node' API public, and available for use directly for
plugins.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This makes the 'Node' API public, and available for use directly for
plugins.
</pre>
</div>
</content>
</entry>
<entry>
<title>_yaml: Set 'MappingNode' public-private API</title>
<updated>2019-07-11T17:34:22+00:00</updated>
<author>
<name>Benjamin Schubert</name>
<email>ben.c.schubert@gmail.com</email>
</author>
<published>2019-07-09T16:31:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=0546bcd6e2cc0708ab79c75fc80e310cd74fe289'/>
<id>0546bcd6e2cc0708ab79c75fc80e310cd74fe289</id>
<content type='text'>
- _composite -&gt; __composite (internal)
- composite -&gt; _composite (BuildStream private)
- composite_under -&gt; _composite_under (BuildStream private)
- get -&gt; _get (internal)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- _composite -&gt; __composite (internal)
- composite -&gt; _composite (BuildStream private)
- composite_under -&gt; _composite_under (BuildStream private)
- get -&gt; _get (internal)
</pre>
</div>
</content>
</entry>
<entry>
<title>_yaml: Remove 'node_get_provenance' and add 'Node.get_provenance'</title>
<updated>2019-07-11T17:34:22+00:00</updated>
<author>
<name>Benjamin Schubert</name>
<email>contact@benschubert.me</email>
</author>
<published>2019-07-08T13:18:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=263008a7472d280936762331d92633083a31543b'/>
<id>263008a7472d280936762331d92633083a31543b</id>
<content type='text'>
This replaces the helper method by adding a 'get_provenance' on the node
directly

- Adapt all call sites
- Delay getting provenance wherever possible without major refactor
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This replaces the helper method by adding a 'get_provenance' on the node
directly

- Adapt all call sites
- Delay getting provenance wherever possible without major refactor
</pre>
</div>
</content>
</entry>
<entry>
<title>_yaml: Move 'node_composite' to a method on 'MappingNode'</title>
<updated>2019-07-11T17:34:21+00:00</updated>
<author>
<name>Benjamin Schubert</name>
<email>ben.c.schubert@gmail.com</email>
</author>
<published>2019-07-02T15:06:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=f11ce4d6d1867b069f00d3b4f9487163ce8ddbb7'/>
<id>f11ce4d6d1867b069f00d3b4f9487163ce8ddbb7</id>
<content type='text'>
- Also take care of node_composite_move in the same way.
- Adapt all calling places
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Also take care of node_composite_move in the same way.
- Adapt all calling places
</pre>
</div>
</content>
</entry>
<entry>
<title>_yaml: Introduce 'MappingNode.values()'</title>
<updated>2019-07-11T17:34:19+00:00</updated>
<author>
<name>Benjamin Schubert</name>
<email>contact@benschubert.me</email>
</author>
<published>2019-06-25T19:27:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=7b176460ba297a86928164ce28337fca018a8de6'/>
<id>7b176460ba297a86928164ce28337fca018a8de6</id>
<content type='text'>
This is to mimic the 'dict.values()' interface.

- Adapt parts of the code calling 'node_items' but ignoring the
first value to use this instead
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is to mimic the 'dict.values()' interface.

- Adapt parts of the code calling 'node_items' but ignoring the
first value to use this instead
</pre>
</div>
</content>
</entry>
<entry>
<title>_yaml: Remove 'node_del' and support `del mapping[key]`</title>
<updated>2019-07-11T17:34:19+00:00</updated>
<author>
<name>Benjamin Schubert</name>
<email>ben.c.schubert@gmail.com</email>
</author>
<published>2019-06-25T16:51:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=350e34dbf14066c30b7a24adf786f39561f15c1a'/>
<id>350e34dbf14066c30b7a24adf786f39561f15c1a</id>
<content type='text'>
- Also add a convenience method 'safe_del' catching the exception
when we don't care if the value was there or not.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Also add a convenience method 'safe_del' catching the exception
when we don't care if the value was there or not.
</pre>
</div>
</content>
</entry>
<entry>
<title>_yaml: Remove 'node_copy' and add 'Node.copy()'</title>
<updated>2019-07-11T17:34:19+00:00</updated>
<author>
<name>Benjamin Schubert</name>
<email>ben.c.schubert@gmail.com</email>
</author>
<published>2019-06-26T17:48:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=a0d2457c3147829f589bd15e6f6f0a84f191d385'/>
<id>a0d2457c3147829f589bd15e6f6f0a84f191d385</id>
<content type='text'>
Also adaprt every part of the code calling it
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also adaprt every part of the code calling it
</pre>
</div>
</content>
</entry>
<entry>
<title>_yaml: Add a 'get_node' on Mapping, when return type can be of multiple types</title>
<updated>2019-07-11T17:34:19+00:00</updated>
<author>
<name>Benjamin Schubert</name>
<email>ben.c.schubert@gmail.com</email>
</author>
<published>2019-06-25T09:17:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=a68b997df10901e3105a989c04f9b19513430108'/>
<id>a68b997df10901e3105a989c04f9b19513430108</id>
<content type='text'>
Sometimes, we might want to have a list or a string, in which case, we
can now use 'get_node', which can return multiple types.

This method doesn't contain a 'default' value, as building a 'Node' from
it would be hard. We therefore just have a 'allow_none' flag that allows
returning 'None' when the value is not found.

- includes: use the new 'get_node' instead of trying multiple versions
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Sometimes, we might want to have a list or a string, in which case, we
can now use 'get_node', which can return multiple types.

This method doesn't contain a 'default' value, as building a 'Node' from
it would be hard. We therefore just have a 'allow_none' flag that allows
returning 'None' when the value is not found.

- includes: use the new 'get_node' instead of trying multiple versions
</pre>
</div>
</content>
</entry>
<entry>
<title>_yaml: Introduce 'get_sequence()' and 'sequence_at()'/'mapping_at()'</title>
<updated>2019-07-11T17:34:18+00:00</updated>
<author>
<name>Benjamin Schubert</name>
<email>ben.c.schubert@gmail.com</email>
</author>
<published>2019-06-11T17:19:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=663269d66768d0b4251faf9206de64a34dd7766a'/>
<id>663269d66768d0b4251faf9206de64a34dd7766a</id>
<content type='text'>
- Adding 'get_sequence' on MappingNode to access sequences in a mapping
- Adding 'sequence_at' on SequenceNode to access sequences in a sequence
- Adding 'mapping_at' on SequenceNode to access mappings in a sequence

Using "*_at" in sequences allows us to quickly understand if we are
dealing with a sequence or a mapping.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Adding 'get_sequence' on MappingNode to access sequences in a mapping
- Adding 'sequence_at' on SequenceNode to access sequences in a sequence
- Adding 'mapping_at' on SequenceNode to access mappings in a sequence

Using "*_at" in sequences allows us to quickly understand if we are
dealing with a sequence or a mapping.
</pre>
</div>
</content>
</entry>
</feed>
