| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
I found it quite difficult to guess what format the 'bst artifact log'
command would like artifact references in. Put them in the help for that
command, to save folks time.
In future work, we probably want to document the behaviour of
'Stream._classify_artifacts' globally - most commands take them and the
results can be surprising if you don't know about artifact refs.
|
|\
| |
| |
| |
| | |
element.__init_default: treat `None` plugin_conf as if missing file + refactor
See merge request BuildStream/buildstream!1210
|
| |
| |
| |
| |
| |
| | |
Use the conventional `None` value to indicate that the class variable
`__defaults` is not yet initialized. This lets us remove
`__defaults_set`.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Still initialize `Element.__defaults` as usual, even if a `plugin_conf`
is not specified.
As part of the work on !1101 to introduce `ArtifactElement`s, a special
case for `__init_defaults` was made, such that none of the usual
defaults would be loaded. This seems to be because it has no config and
none of the defaults are required by ArtifactElement, although they
don't seem to adversely affect it.
Instead, treat a 'None' `plugin_conf` in the same way as the existing
case of a missing file. This avoids the appearance of having
plugin-specific behaviour in the base-class, and is perhaps less
puzzling to new contributors.
|
|/ |
|
|\
| |
| |
| |
| | |
Rip out ChainMap(), node_chain_copy(), node_list_copy()
See merge request BuildStream/buildstream!1209
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
This class and these two functions exist as they were intended to
bring efficiency. Benchmarking this patch against the debian-stack.bst
element in the debian-like project [0] showed that although this
took 15M more RAM (peak usage), there was a ~20s gain in the time taken
to 'show' the stack. Thus the class and functions have been removed.
This also has the advantage of removing a lot of duplicate and unnecessary
code.
[0] https://gitlab.com/jennis/debian-stretch-bst
|
|\
| |
| |
| |
| | |
_casbaseddirectory.py: Use variable-length argument list
See merge request BuildStream/buildstream!1230
|
| |
| |
| |
| | |
This matches Directory.descend() and _objpath().
|
|/
|
|
| |
This matches Directory.descend().
|
|\
| |
| |
| |
| | |
Consolidate templated source tests
See merge request BuildStream/buildstream!1215
|
| |
| |
| |
| |
| |
| |
| | |
Move the templated tests in tests/frontend/workspace.py into
sources/generic/workspace.py
This is part of the preparation work for #944
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Move the templated tests in tests/frontend/source-determinism.py into
sources/source_determinism.py
This is part of the preparation work for #944
|
| |
| |
| |
| |
| | |
Move the templated tests in tests/frontend/track.py into
sources/generic/track.py
|
| |
| |
| |
| |
| |
| |
| | |
Move the templated tests in tests/frontend/track_cross_junction.py into
sources/generic/track_cross_junction.py
This is part of the preparation work for #944
|
| |
| |
| |
| |
| |
| |
| | |
Move the templated tests in tests/frontend/buildcheckout.py into
sources/generic/buildcheckout.py
This is part of the preparation work for #944
|
| |
| |
| |
| |
| |
| |
| | |
Move the templated tests in tests/frontend/mirror.py into
sources/generic/mirror.py
This is part of the preparation work for #944
|
|/
|
|
|
|
|
|
| |
Create tests/sources/basic_functionality.py for templated source
tests and move the templated tests in tests/frontend/fetch.py into
sources/generic/fetch.py
This is part of the preparation work for #944
|
|\
| |
| |
| |
| | |
Source cache
See merge request BuildStream/buildstream!1124
|
| |
| |
| |
| |
| |
| |
| | |
Few different source cache tests have been to check that sources are
staged into the local CAS and fetched where appropriate
Part of #440
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This involve introducing new Consistency states `STAGED` and `BOTH` that
represent when the source is just in the local CAS and in both the local
CAS and unstaged in the source directory.
Sources are staged for each element into the local CAS during the fetch
stage. If the sources are in the local consistency state `STAGED` when
wanting to open a workspace, the original sources are fetched.
Relavant tests this affects have been changed.
Part of #440
|
| |
| |
| |
| |
| |
| |
| |
| | |
Introduces source cache which allows sources to be staged into the local
CAS for use in builds. Registers methods with CASQuota in order to allow
for the clean method to remove unrequired sources as well.
Part of #440
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This adds
o _key: property to access cache key
o generate_key: method to generate key given previous sources
o _get_source_name: method to create ref for given source
Part of #440
|
| |
| |
| |
| |
| |
| | |
Useful for when exporting file from cas.
Part of #870
|
| |
| |
| |
| |
| |
| | |
We need the clean method to be able to remove source refs as well.
Part of #440
|
|/
|
|
|
|
|
|
| |
ArtifactCache now derives from BaseCache, and so will the SourceCache.
Methods relevant to both have been moved here, such as generating specs
from the config.
Part of #440
|
|\
| |
| |
| |
| |
| |
| | |
_frontend/cli.py: Don't attempt to path NoneType in complete_target()
Closes #958
See merge request BuildStream/buildstream!1228
|
|/ |
|
|\ |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If an artifact is pulled from the cache without its buildtree,
CASCache.prune() will fail when it tries to update the mtimes
of the build tree's object files.
A new integration test has been added to tests/integration/artifact.py
which reflects this.
|
| |
| |
| |
| |
| |
| | |
This command provides a --no-prune option because or a large cache, pruning
can be an expensive operation. If a developer wishes to quicky rebuild an artifact,
they may consider using this option.
|
| | |
|
| | |
|
|/ |
|
|\
| |
| |
| |
| | |
Move external plugin tests to seperate tox environment.
See merge request BuildStream/buildstream!1224
|
|/
|
|
|
|
|
|
|
| |
Having the external plugins in the same tox env as the internal tests
is inconvenient for developers. Move the external tests into their own
environment.
In order to run the external tests locally, append `-external` to an
environment name. For example tox -e py35-external.
|
|\
| |
| |
| |
| |
| |
| | |
Artifact 'abstraction' class
Closes #908
See merge request BuildStream/buildstream!1175
|
| |
| |
| |
| |
| | |
__get_extract_key() & __get_directory() are not directly
invoked within element after the transition.
|
| |
| |
| |
| |
| |
| | |
This includes the methods that interact with the metadata stored
within the artifact yaml: keys, depedencies, workspaced and
workspaced dependencies.
|
| |
| |
| |
| | |
This includes __load_public_data() & __load_build_result().
|
| | |
|
| |
| |
| |
| |
| | |
element.py: Adapt to the transition, ensure required private
properties are added to the parameters.
|
|/
|
|
|
|
|
|
|
| |
_artifact.py: Add new class, transition get_artifact_directory(),
get_extract_key() from element.py and add new methods for
geting artifact specific content such as files and buildtree.
element.py: Add artifact class to init properties, adapt
transitioned use of methods.
|
|\
| |
| |
| |
| |
| |
| | |
Add tests to ensure that overwriting on subsequent compositions does not fail
Closes #938
See merge request BuildStream/buildstream!1221
|
|/ |
|
|\
| |
| |
| |
| | |
doc/source/core_plugins.rst: Add link to bst-plugins-container
See merge request BuildStream/buildstream!1213
|