<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/buildstream.git/src/buildstream/element.py, branch traveltissues/benchmark</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>element.py: remove call to _source_cached()</title>
<updated>2019-10-05T13:56:44+00:00</updated>
<author>
<name>Darius Makovsky</name>
<email>traveltissues@protonmail.com</email>
</author>
<published>2019-09-26T13:50:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=06206c3ae5ae93f03777ed3eb7e6bbc3d848ff1e'/>
<id>06206c3ae5ae93f03777ed3eb7e6bbc3d848ff1e</id>
<content type='text'>
Remove call to Element._source_cached() in _calculate_cache_key and
do not recalculate workspace keys.

tests: shell browsing of workspaces is currently broken
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove call to Element._source_cached() in _calculate_cache_key and
do not recalculate workspace keys.

tests: shell browsing of workspaces is currently broken
</pre>
</div>
</content>
</entry>
<entry>
<title>element.py: remove concept of key instability</title>
<updated>2019-10-05T13:56:44+00:00</updated>
<author>
<name>Darius Makovsky</name>
<email>traveltissues@protonmail.com</email>
</author>
<published>2019-09-27T13:49:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=1b0d05a3d48fd474592697bde57db7a94bd10b07'/>
<id>1b0d05a3d48fd474592697bde57db7a94bd10b07</id>
<content type='text'>
Workspace keys are determined by contained files at time of opening and
are not forcibly reset

tests: workspaces have keys when they're opened and are not recalculated
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Workspace keys are determined by contained files at time of opening and
are not forcibly reset

tests: workspaces have keys when they're opened and are not recalculated
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove workspace mounting for sandboxes</title>
<updated>2019-09-24T15:58:25+00:00</updated>
<author>
<name>Darius Makovsky</name>
<email>traveltissues@protonmail.com</email>
</author>
<published>2019-08-19T12:20:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=b99451672bb4e9b6bb5c1d0583bc2608c56a3934'/>
<id>b99451672bb4e9b6bb5c1d0583bc2608c56a3934</id>
<content type='text'>
Workspaces will be handled via the workspace source plugin methods. This
does not currently support reflecting build artifacts in the open
workspace.

tests: Mark incremental workspace builds as xfail (strict)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Workspaces will be handled via the workspace source plugin methods. This
does not currently support reflecting build artifacts in the open
workspace.

tests: Mark incremental workspace builds as xfail (strict)
</pre>
</div>
</content>
</entry>
<entry>
<title>element.py: always check sources for caching</title>
<updated>2019-09-24T15:58:25+00:00</updated>
<author>
<name>Darius Makovsky</name>
<email>traveltissues@protonmail.com</email>
</author>
<published>2019-09-05T13:33:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=b9e2af22bc94d108a27fc9a40f698b4822c7118e'/>
<id>b9e2af22bc94d108a27fc9a40f698b4822c7118e</id>
<content type='text'>
Check that sources are cached even if they are workspaced and do not
reset workspace cache data

partially reverts !1470
closes #1088

element.py: remove workspaces in cache key calc

Using the workspace source plugin, workspaces should now be handled like
sources for the purpose of calculating element cache keys.

partially reverts !1470
works towards #1073

Since the source keys are now calculated using the unique keys of the
workspace source, this change will break external tracking for open
workspaces. In future attempting to track an open workspace might raise
a SourceError. The test is rewritten to close the workspace before
tracking.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Check that sources are cached even if they are workspaced and do not
reset workspace cache data

partially reverts !1470
closes #1088

element.py: remove workspaces in cache key calc

Using the workspace source plugin, workspaces should now be handled like
sources for the purpose of calculating element cache keys.

partially reverts !1470
works towards #1073

Since the source keys are now calculated using the unique keys of the
workspace source, this change will break external tracking for open
workspaces. In future attempting to track an open workspace might raise
a SourceError. The test is rewritten to close the workspace before
tracking.
</pre>
</div>
</content>
</entry>
<entry>
<title>Support loading 'workspace'-kind sources</title>
<updated>2019-09-24T15:58:25+00:00</updated>
<author>
<name>Darius Makovsky</name>
<email>traveltissues@protonmail.com</email>
</author>
<published>2019-09-05T13:20:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=e25da0391352c596d26fe892f3435c38133c500a'/>
<id>e25da0391352c596d26fe892f3435c38133c500a</id>
<content type='text'>
Add the workspace-kind source to the sources manually to prevent a user
incorrectly loading the source plugin.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add the workspace-kind source to the sources manually to prevent a user
incorrectly loading the source plugin.
</pre>
</div>
</content>
</entry>
<entry>
<title>element.py: Abstract not producing artifacts</title>
<updated>2019-09-16T06:55:56+00:00</updated>
<author>
<name>Thomas Coldrick</name>
<email>thomas.coldrick@codethink.co.uk</email>
</author>
<published>2019-09-11T09:18:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=4e63710a5136c7ca8d87a5e86908e7de3de05f4a'/>
<id>4e63710a5136c7ca8d87a5e86908e7de3de05f4a</id>
<content type='text'>
Currently the stack element does not produce an artifact, and sometimes
has to be treated differently because of this. It is conceivable that
someone will write a plugin that must be treated similarly and doesn't
produce an artifact. As a result this commit abstracts this "not
producing an artifact" feature of elements.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently the stack element does not produce an artifact, and sometimes
has to be treated differently because of this. It is conceivable that
someone will write a plugin that must be treated similarly and doesn't
produce an artifact. As a result this commit abstracts this "not
producing an artifact" feature of elements.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add initial mypy configuration and types</title>
<updated>2019-09-02T20:56:34+00:00</updated>
<author>
<name>Chandan Singh</name>
<email>chandan@chandansingh.net</email>
</author>
<published>2019-06-30T01:43:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=419a3afbe6e774c9182001977874c8ea08a9f49d'/>
<id>419a3afbe6e774c9182001977874c8ea08a9f49d</id>
<content type='text'>
As a first step, add type hints to variables whose type `mypy` cannot
infer automatically. This is the minimal set of type hints that allow
running `mypy` without any arguments, and having it not fail.

We currently ignore C extensions that mypy can't process directly.
Later, we can look into generating stubs for such modules (potentially
automatically).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As a first step, add type hints to variables whose type `mypy` cannot
infer automatically. This is the minimal set of type hints that allow
running `mypy` without any arguments, and having it not fail.

We currently ignore C extensions that mypy can't process directly.
Later, we can look into generating stubs for such modules (potentially
automatically).
</pre>
</div>
</content>
</entry>
<entry>
<title>Addition of --long option to list-contents:</title>
<updated>2019-09-02T09:02:24+00:00</updated>
<author>
<name>Rebecca Grayson</name>
<email>becky.grayson1@hotmail.co.uk</email>
</author>
<published>2019-08-20T16:07:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=d4011901434b53259b2f30b90b7ab045474596f2'/>
<id>d4011901434b53259b2f30b90b7ab045474596f2</id>
<content type='text'>
--long or -l will provide the user with extra information about the
contents of the artifacts, including permission mode, file type, size
and name. In order for this to work, the way in which list-contents
works has been modified.

A test and NEWS entry have also been added within this commit
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
--long or -l will provide the user with extra information about the
contents of the artifacts, including permission mode, file type, size
and name. In order for this to work, the way in which list-contents
works has been modified.

A test and NEWS entry have also been added within this commit
</pre>
</div>
</content>
</entry>
<entry>
<title>Implement strict dependency semantics</title>
<updated>2019-08-31T12:05:52+00:00</updated>
<author>
<name>Tristan Van Berkom</name>
<email>tristan.vanberkom@codethink.co.uk</email>
</author>
<published>2019-08-12T19:33:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=cc51e4a2d4f338b4dd49337432170b4e30ebe8d0'/>
<id>cc51e4a2d4f338b4dd49337432170b4e30ebe8d0</id>
<content type='text'>
This patch allows specifying a dependency as `strict`, e.g.:

  build-depends:
  - filename: element.bst
    strict: true

This allows finer tuning of projects which want to leverage
the non-strict build mode; dependencies which are statically
linked to, or who's content is otherwise included verbatim in
the resulting output, should be marked `strict` to ensure these
bits get reassembled if necessary when building in non-strict
mode.

This fixes #254

Change summary:

  o _loader/loadelement.pyx: Added 'strict' attribute to Dependency

  o _loader/types.pyx: Added 'strict' attribute to Dependency
    do the parsing work.

  o _loader/metaelement.py: Added 'strict_dependencies' list

  o _loader/loader.py: Resolve the 'strict_dependencies' list

  o element.py: Added __strict_dependencies list, and use this
    to conditionally use weak cache keys in place of names for
    the purpose of building the weak cache key (in the case of
    dependencies which are marked as strict).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch allows specifying a dependency as `strict`, e.g.:

  build-depends:
  - filename: element.bst
    strict: true

This allows finer tuning of projects which want to leverage
the non-strict build mode; dependencies which are statically
linked to, or who's content is otherwise included verbatim in
the resulting output, should be marked `strict` to ensure these
bits get reassembled if necessary when building in non-strict
mode.

This fixes #254

Change summary:

  o _loader/loadelement.pyx: Added 'strict' attribute to Dependency

  o _loader/types.pyx: Added 'strict' attribute to Dependency
    do the parsing work.

  o _loader/metaelement.py: Added 'strict_dependencies' list

  o _loader/loader.py: Resolve the 'strict_dependencies' list

  o element.py: Added __strict_dependencies list, and use this
    to conditionally use weak cache keys in place of names for
    the purpose of building the weak cache key (in the case of
    dependencies which are marked as strict).
</pre>
</div>
</content>
</entry>
<entry>
<title>element.py: Use recursive element names for strict rebuild dependencies</title>
<updated>2019-08-31T12:05:52+00:00</updated>
<author>
<name>Tristan Van Berkom</name>
<email>tristan.vanberkom@codethink.co.uk</email>
</author>
<published>2019-08-31T10:28:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=0ca33d853ec19ce8243e45295cc1acaed3724614'/>
<id>0ca33d853ec19ce8243e45295cc1acaed3724614</id>
<content type='text'>
As discussed with Jürg on gitlab[0], it makes more sense to store the
recursive element names and record the shape of the dependencies for
non strict cache keys as well as strict ones.

[0]: https://gitlab.com/BuildStream/buildstream/merge_requests/1542#note_205598556
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As discussed with Jürg on gitlab[0], it makes more sense to store the
recursive element names and record the shape of the dependencies for
non strict cache keys as well as strict ones.

[0]: https://gitlab.com/BuildStream/buildstream/merge_requests/1542#note_205598556
</pre>
</div>
</content>
</entry>
</feed>
