-
9b6c18e4
by Chandan Singh
at 2019-02-12T10:20:52Z
_frontend: Allow printing dependencies using `bst show`
At present, there isn't an easy way to print anything from `bst show`
that would give the users an idea of what the dependency graph looks
like. One could use things like `--deps build`, but that will just print
a list, without any information about the dependency edges.
Add `%{deps}`, `%{build-deps}` and `%{runtime-deps}` format strings to
`bst show` that would simply print the list of all dependencies, build
dependencies and runtime dependencies respectively.
Summary of changes:
* buildstream/_frontend/cli.py: Add help for new format symbols.
* buildstream/_frontend/widget.py: Add support for new format symbols
for dependencies.
* tests/frontend/show.py: Add tests for new format symbols.
-
126bc006
by Chandan Singh
at 2019-02-12T10:23:44Z
Re-generate man pages
-
dbce3434
by Chandan Singh
at 2019-02-12T12:19:57Z
Merge branch 'chandan/deps' into 'master'
_frontend: Allow printing dependencies using `bst show`
Closes #890
See merge request BuildStream/buildstream!1121
-
66d0a1e6
by James Ennis
at 2019-02-12T13:29:12Z
element.py: Lift ArtifactCache.get_artifact_fullname() to here
This commit removes the method ArtifactCache.get_artifact_fullname()
and replaces it with Element.get_artifact_name()
Given a key, we are now able to construct the full name of any of an
element's artifacts.
-
00569f9c
by James Ennis
at 2019-02-12T13:29:12Z
element.py: Make calculate_cache_key() API private
-
92ef0024
by James Ennis
at 2019-02-12T13:29:12Z
element.py: Return early in __init_defaults if no plugin config
-
cec0274e
by James Ennis
at 2019-02-12T13:29:12Z
metaelement.py: Provide constructor with default keyword arguments
-
b46bde18
by James Ennis
at 2019-02-12T13:29:12Z
_artifactelement.py: New ArtifactElement object (derived from Element)
This object should be used when we want to handle artifact refs directly
from the command line.
An ArtifactElementError has also been added to _exceptions.py
-
aef95fec
by James Ennis
at 2019-02-12T13:29:12Z
_project.py: Add create_artifact_element() method
-
f6d8010c
by James Ennis
at 2019-02-12T13:29:12Z
_stream.py: Add the _classify_artifacts() helper
-
aaca0135
by James Ennis
at 2019-02-12T13:29:12Z
_stream.py: Modify behaviour of _classify_artifacts()
* There is no need for this method to use a cas object.
* Search for artifact globs in the project's element path
* An artifact key is always 64 chars long
-
f8f52b89
by James Ennis
at 2019-02-12T13:29:12Z
_stream.py: Allow loading to handle artifact refs
-
251121a9
by James Ennis
at 2019-02-12T13:29:12Z
_artifactcache.py: Add get_artifacts_log() method
A CasBasedDirectory object of an artifacts logs can be obtained
with ArtifactCache.get_artifacts_log(). This ultimately calls
CASCache.get_top_level_dir() to obtain a CasBasedDirectory
of an artifact's subdirectory (or subdirectories).
-
6e78cc90
by James Ennis
at 2019-02-12T13:29:12Z
cli.py: Move artifact ref handling logic to stream
The loading of elements and the handling of artifacts does not belong
in this module. Such logic should be invoked using the Stream API
-
5a50b355
by James Ennis
at 2019-02-12T13:29:12Z
cli.py: Remove _classify_artifacts() method
This method has been moved to Stream, where is it used there exclusively.
-
29b34ee2
by James Ennis
at 2019-02-12T13:29:12Z
cascache.py: Allow CASCache.list_refs() to handle globs
This commit ensures that CASCache.list_refs(), and
ArtifactCache.list_artifacts(), can both handle glob expressions.
-
7fb0afbc
by James Ennis
at 2019-02-12T13:29:12Z
_stream.py: _classify_artifacts() should be able to handle globs
_classify_artifacts() no longer filters glob expressions by first
obtaining a list of ALL refs locally cached. We now only obtain refs
specified by the glob _expression_.
Furthermore, the Project.element_path is used to start searching for
globbed elements as opposed to the Project.directory.