<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/buildstream.git/src/buildstream/_loader/loader.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>_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: 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: Create 'from_dict' on Node and remove node creation methods</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-03T11:20:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=747d7cd24fb1548f4683b8d6e12d9c491fca216b'/>
<id>747d7cd24fb1548f4683b8d6e12d9c491fca216b</id>
<content type='text'>
Using 'Node.from_dict({})' can replace new_empty_node, and the rest
is not needed anymore.

- Adapt all call sites
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Using 'Node.from_dict({})' can replace new_empty_node, and the rest
is not needed anymore.

- Adapt all call sites
</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_get' and migrate all remaining calls to new API</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-13T17:54:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=a17cfe9bc131dac77311c1bfd3e880b9a002d4f3'/>
<id>a17cfe9bc131dac77311c1bfd3e880b9a002d4f3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</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>
<entry>
<title>_yaml: Add 'as_str()' on ScalarNode and 'get_scalar()' on MappingNode</title>
<updated>2019-07-11T17:34:18+00:00</updated>
<author>
<name>Benjamin Schubert</name>
<email>contact@benschubert.me</email>
</author>
<published>2019-06-10T06:51:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=501365bfe44bf95148ad81d062eb26efa1820a3e'/>
<id>501365bfe44bf95148ad81d062eb26efa1820a3e</id>
<content type='text'>
- 'get_scalar()' allows retrieving a scalar node from a mapping.
- 'as_str()' casts a ScalarNode into a string (thus removing the node
  information).

Both together, those replace 'node_get(mapping, key, type=str)' but
also allow retrieving the 'Node' itself, which will allow in the future
lazier provenance computation.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- 'get_scalar()' allows retrieving a scalar node from a mapping.
- 'as_str()' casts a ScalarNode into a string (thus removing the node
  information).

Both together, those replace 'node_get(mapping, key, type=str)' but
also allow retrieving the 'Node' itself, which will allow in the future
lazier provenance computation.
</pre>
</div>
</content>
</entry>
<entry>
<title>_yaml: add 'get_mapping()' to MappingNode</title>
<updated>2019-07-11T17:34:18+00:00</updated>
<author>
<name>Benjamin Schubert</name>
<email>contact@benschubert.me</email>
</author>
<published>2019-06-09T13:22:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=afd62c1ec7b67a6cf77cd07aadfdb0ac4104893a'/>
<id>afd62c1ec7b67a6cf77cd07aadfdb0ac4104893a</id>
<content type='text'>
This allows to get a mapping node from another 'MappingNode',
replacing 'node_get(my_mapping, key, type=dict)'

Also changes all places where 'node_get' was called like that by
the new API.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows to get a mapping node from another 'MappingNode',
replacing 'node_get(my_mapping, key, type=dict)'

Also changes all places where 'node_get' was called like that by
the new API.
</pre>
</div>
</content>
</entry>
<entry>
<title>Refactor, use context.messenger directly</title>
<updated>2019-07-05T09:44:45+00:00</updated>
<author>
<name>Angelos Evripiotis</name>
<email>jevripiotis@bloomberg.net</email>
</author>
<published>2019-07-02T16:14:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=cfbab5fe76f8011bc8b6b895b2d3bfff4ea167b3'/>
<id>cfbab5fe76f8011bc8b6b895b2d3bfff4ea167b3</id>
<content type='text'>
Instead of having methods in Context forward calls on to the Messenger,
have folks call the Messenger directly. Remove the forwarding methods in
Context.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of having methods in Context forward calls on to the Messenger,
have folks call the Messenger directly. Remove the forwarding methods in
Context.
</pre>
</div>
</content>
</entry>
<entry>
<title>loader.py: Check source cache for subproject fetching</title>
<updated>2019-07-03T10:40:40+00:00</updated>
<author>
<name>Jürg Billeter</name>
<email>j@bitron.ch</email>
</author>
<published>2019-06-26T13:44:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=16d469dbee3c9667bf143ab85dfc0b80e178a099'/>
<id>16d469dbee3c9667bf143ab85dfc0b80e178a099</id>
<content type='text'>
If the junction source consistency is cached but the junction is not in
the source cache, also use Stream.fetch_subprojects() to import sources
into source cache instead of doing this implicitly in
Element._stage_sources_at(). This is in preparation for buildbox-casd,
which will disallow local CAS cache writes from the main process (gRPC).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If the junction source consistency is cached but the junction is not in
the source cache, also use Stream.fetch_subprojects() to import sources
into source cache instead of doing this implicitly in
Element._stage_sources_at(). This is in preparation for buildbox-casd,
which will disallow local CAS cache writes from the main process (gRPC).
</pre>
</div>
</content>
</entry>
</feed>
