<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/buildstream.git, branch bschubert/cleanup-local-state</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>Don't register exceptions when not running the testsuite</title>
<updated>2019-02-13T14:59:47+00:00</updated>
<author>
<name>Benjamin Schubert</name>
<email>ben.c.schubert@gmail.com</email>
</author>
<published>2019-02-13T10:53:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=b41a82d3b535b679320dea7541d7b0211944750c'/>
<id>b41a82d3b535b679320dea7541d7b0211944750c</id>
<content type='text'>
This fix a problem with the garbage collector not being able to
clean the MetaElements that are loaded.

On small projects this is not a problem, but in bigger projects, this
can save a few hundred of MBs at runtime

The reason behind this is, whenever we have a "stack" element, which
has no stack.yaml configuration, since it doesn't need it, we would
get an exception thrown when initiating the first one, as loading the
yaml file would fail.

This would capture the frame in which this command was executed, which
references meta_elements. Therefore, as long as another exception is not
thrown, the garbage collector would not be able to clean all the
MetaElements.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fix a problem with the garbage collector not being able to
clean the MetaElements that are loaded.

On small projects this is not a problem, but in bigger projects, this
can save a few hundred of MBs at runtime

The reason behind this is, whenever we have a "stack" element, which
has no stack.yaml configuration, since it doesn't need it, we would
get an exception thrown when initiating the first one, as loading the
yaml file would fail.

This would capture the frame in which this command was executed, which
references meta_elements. Therefore, as long as another exception is not
thrown, the garbage collector would not be able to clean all the
MetaElements.
</pre>
</div>
</content>
</entry>
<entry>
<title>Cleanup internal Loader cache after loading elements</title>
<updated>2019-02-13T14:59:47+00:00</updated>
<author>
<name>Benjamin Schubert</name>
<email>ben.c.schubert@gmail.com</email>
</author>
<published>2019-02-11T15:20:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=ec4bbf35a159b5d019d6acd84aa5753b794bb7ee'/>
<id>ec4bbf35a159b5d019d6acd84aa5753b794bb7ee</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'tpollard/896' into 'master'</title>
<updated>2019-02-13T14:50:15+00:00</updated>
<author>
<name>Jürg Billeter</name>
<email>j@bitron.ch</email>
</author>
<published>2019-02-13T14:50:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=54ec032a9664719c2997c35e5353ca455e917fb9'/>
<id>54ec032a9664719c2997c35e5353ca455e917fb9</id>
<content type='text'>
Optional creation of buildtrees

Closes #896

See merge request BuildStream/buildstream!1135</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Optional creation of buildtrees

Closes #896

See merge request BuildStream/buildstream!1135</pre>
</div>
</content>
</entry>
<entry>
<title>Provide configuration for the optional creation of buildtrees</title>
<updated>2019-02-13T13:37:32+00:00</updated>
<author>
<name>Tom Pollard</name>
<email>tom.pollard@codethink.co.uk</email>
</author>
<published>2019-02-08T10:51:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=d20294440860894ae8272b522efe35f5bbbaa258'/>
<id>d20294440860894ae8272b522efe35f5bbbaa258</id>
<content type='text'>
Artifacts can be cached explicitly with an empty `build tree` when
built via the cli main options or user config for all or only
successful build artifacts. Default behaviour is to still create
and cache all expected buildtrees.

element.py: _cache_artifact() Check if context for cache_buildtrees
has been set to always or failure with a corresponding build
result, if not skip attempting to export the build-root. Element
types without a build-root are cached with an empty buildtree
regardless. Update _stage_sources_at() to warn the user that the
buildtree import is empty.

tests/integration: Add test to artifact.py for the optional caching
of buildtree content from bst build. Rename build-tree.py to
shellbuildtrees.py to reflect included test cases, add test for
empty buildtree warning and failure option.

NEWS: Add entry for new option.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Artifacts can be cached explicitly with an empty `build tree` when
built via the cli main options or user config for all or only
successful build artifacts. Default behaviour is to still create
and cache all expected buildtrees.

element.py: _cache_artifact() Check if context for cache_buildtrees
has been set to always or failure with a corresponding build
result, if not skip attempting to export the build-root. Element
types without a build-root are cached with an empty buildtree
regardless. Update _stage_sources_at() to warn the user that the
buildtree import is empty.

tests/integration: Add test to artifact.py for the optional caching
of buildtree content from bst build. Rename build-tree.py to
shellbuildtrees.py to reflect included test cases, add test for
empty buildtree warning and failure option.

NEWS: Add entry for new option.
</pre>
</div>
</content>
</entry>
<entry>
<title>_frontend/cli.py: Ensure failed buildtree warning is correct</title>
<updated>2019-02-13T13:37:32+00:00</updated>
<author>
<name>Tom Pollard</name>
<email>tom.pollard@codethink.co.uk</email>
</author>
<published>2019-02-13T12:20:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=b546bac10b8c339ae7323282fcbcbc58c16e4ac0'/>
<id>b546bac10b8c339ae7323282fcbcbc58c16e4ac0</id>
<content type='text'>
not _cached_sucess() could resolve to true if the element wasn't
cached at all. switch to _cached_failure() to ensure condition
reflects expected artifact state
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
not _cached_sucess() could resolve to true if the element wasn't
cached at all. switch to _cached_failure() to ensure condition
reflects expected artifact state
</pre>
</div>
</content>
</entry>
<entry>
<title>Add cli main &amp; user conf option for 'cache-buildtrees' context</title>
<updated>2019-02-13T13:37:32+00:00</updated>
<author>
<name>Tom Pollard</name>
<email>tom.pollard@codethink.co.uk</email>
</author>
<published>2019-02-08T10:44:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=118644b22b01a7849a9f8e8e9637e817ed8c443d'/>
<id>118644b22b01a7849a9f8e8e9637e817ed8c443d</id>
<content type='text'>
_context.py: Add cache_buildtrees global user context, the default
of which is set to by default to 'always' via the addition of
cache-buildtrees to userconfig.yaml cache group. 'failure' &amp; 'never'
can be given as valid options.

app.py &amp; cli.py: Add --cache-buildtrees as a bst main option, which
when passed with a valid option can override the default or user
defined context for cache_buildtrees.

tests/completions/completions.py: Update for the added flag.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
_context.py: Add cache_buildtrees global user context, the default
of which is set to by default to 'always' via the addition of
cache-buildtrees to userconfig.yaml cache group. 'failure' &amp; 'never'
can be given as valid options.

app.py &amp; cli.py: Add --cache-buildtrees as a bst main option, which
when passed with a valid option can override the default or user
defined context for cache_buildtrees.

tests/completions/completions.py: Update for the added flag.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'juerg/list-all-directories' into 'master'</title>
<updated>2019-02-13T12:42:42+00:00</updated>
<author>
<name>Jürg Billeter</name>
<email>j@bitron.ch</email>
</author>
<published>2019-02-13T12:42:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=ae0ee361350b13a6c0f2fb24d3a24579305a021b'/>
<id>ae0ee361350b13a6c0f2fb24d3a24579305a021b</id>
<content type='text'>
Return all directories in list_relative_paths()

See merge request BuildStream/buildstream!1139</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Return all directories in list_relative_paths()

See merge request BuildStream/buildstream!1139</pre>
</div>
</content>
</entry>
<entry>
<title>_casbaseddirectory.py: Return all directories in list_relative_paths()</title>
<updated>2019-02-13T10:48:45+00:00</updated>
<author>
<name>Jürg Billeter</name>
<email>j@bitron.ch</email>
</author>
<published>2019-02-01T11:28:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=353745a492102c96d7b2ca465c360836966f46ce'/>
<id>353745a492102c96d7b2ca465c360836966f46ce</id>
<content type='text'>
This matches the change in utils.list_relative_paths().
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This matches the change in utils.list_relative_paths().
</pre>
</div>
</content>
</entry>
<entry>
<title>utils.py: Return all directories in list_relative_paths()</title>
<updated>2019-02-13T10:48:45+00:00</updated>
<author>
<name>Jürg Billeter</name>
<email>j@bitron.ch</email>
</author>
<published>2019-02-01T11:11:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=925429ea2e03576eaf8729fafd64f326f3b963a6'/>
<id>925429ea2e03576eaf8729fafd64f326f3b963a6</id>
<content type='text'>
Returning only empty directories leads to inconsistencies when computing
a manifest by combining results from multiple list_relative_paths()
calls as done by the compose plugin.

I.e., the same directory may be empty in one dependency and non-empty in
another dependency.  The merged file list will still contain that
directory even though it's no longer empty.

This inconsistency causes problems when calculating differences between
manifests. Returning all directories fixes these inconsistencies.

This is a change in API behavior.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Returning only empty directories leads to inconsistencies when computing
a manifest by combining results from multiple list_relative_paths()
calls as done by the compose plugin.

I.e., the same directory may be empty in one dependency and non-empty in
another dependency.  The merged file list will still contain that
directory even though it's no longer empty.

This inconsistency causes problems when calculating differences between
manifests. Returning all directories fixes these inconsistencies.

This is a change in API behavior.
</pre>
</div>
</content>
</entry>
<entry>
<title>tests/integration/project: Add tests directory to split rule</title>
<updated>2019-02-13T10:48:45+00:00</updated>
<author>
<name>Jürg Billeter</name>
<email>j@bitron.ch</email>
</author>
<published>2019-02-02T04:48:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=c7625cdfab71248ced7e4623b7fc1cf4ca97db52'/>
<id>c7625cdfab71248ced7e4623b7fc1cf4ca97db52</id>
<content type='text'>
This is required to fix tests with the following commit that changes
list_relative_paths() to return all directories.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is required to fix tests with the following commit that changes
list_relative_paths() to return all directories.
</pre>
</div>
</content>
</entry>
</feed>
