<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/buildstream.git/src/buildstream/_plugincontext.py, branch traveltissues/debug2</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>Reformat code using Black</title>
<updated>2019-11-14T21:21:06+00:00</updated>
<author>
<name>Chandan Singh</name>
<email>csingh43@bloomberg.net</email>
</author>
<published>2019-11-11T17:07:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=122177153b14664a0e4fed85aa4f22b87cfabf56'/>
<id>122177153b14664a0e4fed85aa4f22b87cfabf56</id>
<content type='text'>
As discussed over the mailing list, reformat code using Black. This is a
one-off change to reformat all our codebase. Moving forward, we
shouldn't expect such blanket reformats. Rather, we expect each change
to already comply with the Black formatting style.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As discussed over the mailing list, reformat code using Black. This is a
one-off change to reformat all our codebase. Moving forward, we
shouldn't expect such blanket reformats. Rather, we expect each change
to already comply with the Black formatting style.
</pre>
</div>
</content>
</entry>
<entry>
<title>_plugincontext: stable ids for better pickling</title>
<updated>2019-10-31T09:40:08+00:00</updated>
<author>
<name>Angelos Evripiotis</name>
<email>jevripiotis@bloomberg.net</email>
</author>
<published>2019-10-24T08:50:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=c879470b947c11119bddff9f161f77aae14a23ee'/>
<id>c879470b947c11119bddff9f161f77aae14a23ee</id>
<content type='text'>
Use the 'identifier' argument of PluginBase's make_plugin_source(), to
ensure that the plugins have a consistent namespace when pickled and
then unpickled in another process.

This means that we can pickle plugins that are more than an entrypoint,
e.g. ones that have multiple classes in the same file.

This enables the `tests/frontend/mirror.py::test_mirror_fetch_multi`
test to pass, which uses `fetch_source` plugin. That plugin has more
than one class in it's file.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use the 'identifier' argument of PluginBase's make_plugin_source(), to
ensure that the plugins have a consistent namespace when pickled and
then unpickled in another process.

This means that we can pickle plugins that are more than an entrypoint,
e.g. ones that have multiple classes in the same file.

This enables the `tests/frontend/mirror.py::test_mirror_fetch_multi`
test to pass, which uses `fetch_source` plugin. That plugin has more
than one class in it's file.
</pre>
</div>
</content>
</entry>
<entry>
<title>Make ChildJobs and friends picklable</title>
<updated>2019-07-24T12:27:10+00:00</updated>
<author>
<name>Angelos Evripiotis</name>
<email>jevripiotis@bloomberg.net</email>
</author>
<published>2019-07-15T09:38:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=d3e7857a1eabd06d9d15ca6c201ed7b66064cc98'/>
<id>d3e7857a1eabd06d9d15ca6c201ed7b66064cc98</id>
<content type='text'>
Pave the way toward supporting the 'spawn' method of creating jobs, by
adding support for pickling ChildJobs. Introduce a new 'jobpickler'
module that provides an entrypoint for this functionality.

This also makes replays of jobs possible, which has made the debugging
of plugins much easier for me.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pave the way toward supporting the 'spawn' method of creating jobs, by
adding support for pickling ChildJobs. Introduce a new 'jobpickler'
module that provides an entrypoint for this functionality.

This also makes replays of jobs possible, which has made the debugging
of plugins much easier for me.
</pre>
</div>
</content>
</entry>
<entry>
<title>_exceptions.py: Align LoadError() parameter ordering</title>
<updated>2019-07-18T11:36:07+00:00</updated>
<author>
<name>Tom Pollard</name>
<email>tom.pollard@codethink.co.uk</email>
</author>
<published>2019-07-17T14:48:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=e7524c4340523d06ba3d6d95cb1e284b0f4b415e'/>
<id>e7524c4340523d06ba3d6d95cb1e284b0f4b415e</id>
<content type='text'>
All of the errors which subclass from BstError have their first
positional argument as message, LoadError should follow this
ordering for consistency.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
All of the errors which subclass from BstError have their first
positional argument as message, LoadError should follow this
ordering for consistency.
</pre>
</div>
</content>
</entry>
<entry>
<title>node: Add 'get_str_list' on 'MappingNode'</title>
<updated>2019-07-17T08:26:26+00:00</updated>
<author>
<name>Benjamin Schubert</name>
<email>ben.c.schubert@gmail.com</email>
</author>
<published>2019-07-16T17:31:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=b2a91466511f60e33e2e77fed2bf9c60bc31803d'/>
<id>b2a91466511f60e33e2e77fed2bf9c60bc31803d</id>
<content type='text'>
`mapping.get_sequence(...).as_str_list()` is a very common
pattern seen both in plugins and the core. Adding a helper to reduce
the number of operations will make usage smoother
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`mapping.get_sequence(...).as_str_list()` is a very common
pattern seen both in plugins and the core. Adding a helper to reduce
the number of operations will make usage smoother
</pre>
</div>
</content>
</entry>
<entry>
<title>_yaml: Introduce 'get_sequence()' and 'sequence_at()'/'mapping_at()'</title>
<updated>2019-07-15T14:14:02+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=7298136642010d4e02a607f4275ffe3ad5657a14'/>
<id>7298136642010d4e02a607f4275ffe3ad5657a14</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-15T14:14:02+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=38671fb53f4522d046bed94699db8cc344ac2862'/>
<id>38671fb53f4522d046bed94699db8cc344ac2862</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>_plugincontext: rm unused self._dependencies</title>
<updated>2019-07-09T20:48:09+00:00</updated>
<author>
<name>Angelos Evripiotis</name>
<email>jevripiotis@bloomberg.net</email>
</author>
<published>2019-07-05T14:35:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=be76fb4deeedfaf0ea91742a5bfd83090208a700'/>
<id>be76fb4deeedfaf0ea91742a5bfd83090208a700</id>
<content type='text'>
Also document the pre-existing format_versions parameter.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also document the pre-existing format_versions parameter.
</pre>
</div>
</content>
</entry>
<entry>
<title>_plugincontext: simplify if statement</title>
<updated>2019-07-09T20:48:09+00:00</updated>
<author>
<name>Angelos Evripiotis</name>
<email>jevripiotis@bloomberg.net</email>
</author>
<published>2019-07-05T14:19:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=639e9054efa3a084ece3183523d9cfb494e82892'/>
<id>639e9054efa3a084ece3183523d9cfb494e82892</id>
<content type='text'>
Add shortened local vars to make this statement easier to read and fit
onto one line.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add shortened local vars to make this statement easier to read and fit
onto one line.
</pre>
</div>
</content>
</entry>
<entry>
<title>Move source from 'buildstream' to 'src/buildstream'</title>
<updated>2019-05-21T11:41:18+00:00</updated>
<author>
<name>Chandan Singh</name>
<email>csingh43@bloomberg.net</email>
</author>
<published>2019-04-24T21:53:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=070d053e5cc47e572e9f9e647315082bd7a15c63'/>
<id>070d053e5cc47e572e9f9e647315082bd7a15c63</id>
<content type='text'>
This was discussed in #1008.

Fixes #1009.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This was discussed in #1008.

Fixes #1009.
</pre>
</div>
</content>
</entry>
</feed>
