<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/buildstream.git, branch jennis/rebase_fixups</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>fixups</title>
<updated>2019-04-18T12:01:06+00:00</updated>
<author>
<name>James Ennis</name>
<email>james.ennis@codethink.co.uk</email>
</author>
<published>2019-04-18T12:01:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=92dbd508c6d538aebdc430210f0b5883a323a8ce'/>
<id>92dbd508c6d538aebdc430210f0b5883a323a8ce</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>CacheKey: Add a CacheKey class which delegates logic to varying implementations</title>
<updated>2019-04-18T09:01:47+00:00</updated>
<author>
<name>Jonathan Maw</name>
<email>jonathan.maw@codethink.co.uk</email>
</author>
<published>2019-04-17T16:32:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=fb68057dd2f9bc460c4d23760e973ac5f75d7c6e'/>
<id>fb68057dd2f9bc460c4d23760e973ac5f75d7c6e</id>
<content type='text'>
i.e. a CacheKey class, with implementations such as:
* StrictCacheKey - a normal element when buildstream runs in Strict mode
* NonStrictCacheKey - a normal element when buildstream runs in
  non-strict mode
* StrictWorkspacedCacheKey - a workspaced element when Strict mode
* NonStrictWorkspacedCacheKey - a workspaced element in non-strict mode

(note: only CacheKey and StrictCacheKey are implemented for now)

This involves:
* Creating the CacheKey and StrictCacheKey classes
* In Element instantiation, create a __cache_key_obj to delegate various
  logic to.
* For the moment, extending various functions to call a
  __cache_key_obj's methods if they're implemented.
  * This includesExtending the _KeyStrength enum to include a
    STRICT version, so strict cache keys can be accessed through a
    common interface.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
i.e. a CacheKey class, with implementations such as:
* StrictCacheKey - a normal element when buildstream runs in Strict mode
* NonStrictCacheKey - a normal element when buildstream runs in
  non-strict mode
* StrictWorkspacedCacheKey - a workspaced element when Strict mode
* NonStrictWorkspacedCacheKey - a workspaced element in non-strict mode

(note: only CacheKey and StrictCacheKey are implemented for now)

This involves:
* Creating the CacheKey and StrictCacheKey classes
* In Element instantiation, create a __cache_key_obj to delegate various
  logic to.
* For the moment, extending various functions to call a
  __cache_key_obj's methods if they're implemented.
  * This includesExtending the _KeyStrength enum to include a
    STRICT version, so strict cache keys can be accessed through a
    common interface.
</pre>
</div>
</content>
</entry>
<entry>
<title>element.py: Split ready_for_runtime check into an API-private method</title>
<updated>2019-04-18T08:49:46+00:00</updated>
<author>
<name>Jonathan Maw</name>
<email>jonathan.maw@codethink.co.uk</email>
</author>
<published>2019-04-17T16:18:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=8072bf9f34babde6c300c8d7671bb08bff859d69'/>
<id>8072bf9f34babde6c300c8d7671bb08bff859d69</id>
<content type='text'>
This is done because an external caller will be calling this in certain
circumstances.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is done because an external caller will be calling this in certain
circumstances.
</pre>
</div>
</content>
</entry>
<entry>
<title>element.py: Remove _update_state from _schedule_tracking</title>
<updated>2019-04-18T08:46:04+00:00</updated>
<author>
<name>Jonathan Maw</name>
<email>jonathan.maw@codethink.co.uk</email>
</author>
<published>2019-04-17T16:13:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=b0578e1caf3d3259c9b2305b454db1ee587b69f0'/>
<id>b0578e1caf3d3259c9b2305b454db1ee587b69f0</id>
<content type='text'>
Nothing can happen at this point
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Nothing can happen at this point
</pre>
</div>
</content>
</entry>
<entry>
<title>element.py: _fetch_done only updates source state</title>
<updated>2019-04-18T08:46:04+00:00</updated>
<author>
<name>Jonathan Maw</name>
<email>jonathan.maw@codethink.co.uk</email>
</author>
<published>2019-04-17T16:12:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=f57d8066b81fd17c4db516d61822ac5e63d5e6ab'/>
<id>f57d8066b81fd17c4db516d61822ac5e63d5e6ab</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>element.py: Promote __update_source_state to API private</title>
<updated>2019-04-18T08:46:04+00:00</updated>
<author>
<name>Jonathan Maw</name>
<email>jonathan.maw@codethink.co.uk</email>
</author>
<published>2019-04-17T15:18:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=787c742457ddabb663eb4befe845170faf4a8ced'/>
<id>787c742457ddabb663eb4befe845170faf4a8ced</id>
<content type='text'>
There are now times when we want to call _update_source_state outside of
Element.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There are now times when we want to call _update_source_state outside of
Element.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'tpollard/955' into 'master'</title>
<updated>2019-04-17T17:05:48+00:00</updated>
<author>
<name>bst-marge-bot</name>
<email>marge-bot@buildstream.build</email>
</author>
<published>2019-04-17T17:05:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=9a20bbf96b9ee72ab227a7212678a3792f31cde5'/>
<id>9a20bbf96b9ee72ab227a7212678a3792f31cde5</id>
<content type='text'>
Follow-up from "Artifact 'abstraction' class"

Closes #955

See merge request BuildStream/buildstream!1271</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Follow-up from "Artifact 'abstraction' class"

Closes #955

See merge request BuildStream/buildstream!1271</pre>
</div>
</content>
</entry>
<entry>
<title>element.py: Discard __artifact/__strict_artifact in update_state()</title>
<updated>2019-04-17T15:47:27+00:00</updated>
<author>
<name>Tom Pollard</name>
<email>tom.pollard@codethink.co.uk</email>
</author>
<published>2019-04-17T14:35:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=c2673f4a42c3925abb58dfc91196bb37ab5456af'/>
<id>c2673f4a42c3925abb58dfc91196bb37ab5456af</id>
<content type='text'>
When we determine that current cache keys are to be discarded, we
should also discard the associated members for correctness. This
should act as a safeguard against accessing Artifact instances that
have discarded cache keys.

A side effect of this is the querying of element buildtree state
from cli methods on elements that don't have a cached artifact
would lead to the artifact member methods not being reachable.
Ensuring the element is cached before trying to call said accessor
methods resolves this.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When we determine that current cache keys are to be discarded, we
should also discard the associated members for correctness. This
should act as a safeguard against accessing Artifact instances that
have discarded cache keys.

A side effect of this is the querying of element buildtree state
from cli methods on elements that don't have a cached artifact
would lead to the artifact member methods not being reachable.
Ensuring the element is cached before trying to call said accessor
methods resolves this.
</pre>
</div>
</content>
</entry>
<entry>
<title>_artifact.py: Move element metadata caching to Artifact Class</title>
<updated>2019-04-17T15:47:27+00:00</updated>
<author>
<name>Tom Pollard</name>
<email>tom.pollard@codethink.co.uk</email>
</author>
<published>2019-04-09T10:39:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=5790aa5b4536c39c97181cb16e5c84465ddd7bbf'/>
<id>5790aa5b4536c39c97181cb16e5c84465ddd7bbf</id>
<content type='text'>
As the artifact object now stores keys, it allows for the simplification
of metadata methods. Transitioning the metadata members to Artifact
also means the private accessor methods can be removed from Element
which reduces the overhead of syncing private variables across the
two classes via parameters.

With the key and metadata handling now being internalised within
Artifact, a temporary Artifact for the last_successful incremental
build is created for correctness. This should help guarantee that an
Artifact object is never used to access different artifacts.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As the artifact object now stores keys, it allows for the simplification
of metadata methods. Transitioning the metadata members to Artifact
also means the private accessor methods can be removed from Element
which reduces the overhead of syncing private variables across the
two classes via parameters.

With the key and metadata handling now being internalised within
Artifact, a temporary Artifact for the last_successful incremental
build is created for correctness. This should help guarantee that an
Artifact object is never used to access different artifacts.
</pre>
</div>
</content>
</entry>
<entry>
<title>element.py: Remove redundant fully private __cached_success()</title>
<updated>2019-04-17T15:47:27+00:00</updated>
<author>
<name>Tom Pollard</name>
<email>tom.pollard@codethink.co.uk</email>
</author>
<published>2019-04-12T09:50:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=6e3e5bf59887712f845b317a4977dd206c7888c4'/>
<id>6e3e5bf59887712f845b317a4977dd206c7888c4</id>
<content type='text'>
This was being accessed via a local private method that wasn't
augmenting the output as such it can be moved to match
_cached_failure.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This was being accessed via a local private method that wasn't
augmenting the output as such it can be moved to match
_cached_failure.
</pre>
</div>
</content>
</entry>
</feed>
