diff options
author | Tristan Maat <tristan.maat@codethink.co.uk> | 2019-10-02 10:58:13 +0100 |
---|---|---|
committer | Tristan Maat <tristan.maat@codethink.co.uk> | 2019-10-02 10:58:13 +0100 |
commit | 801900997c8908d072e503624381a4036ca51083 (patch) | |
tree | 0e2daea1e432712929ae6e6aa63da0b755b46ba2 | |
parent | 1db77530d1b14fe8d3ceab9952ab6c75f85a6dea (diff) | |
download | buildstream-tlater/fix-casdless-completion.tar.gz |
Do not check for casd in bash completiontlater/fix-casdless-completion
This caused stacktraces when a user didn't have buildbox-casd
installed, even though it wasn't required for completion, even for
artifacts.
It does add a slightly ugly parameter to Context, long-term it might
make sense to create a special slimmed-down context for completion.
-rw-r--r-- | src/buildstream/_context.py | 10 | ||||
-rw-r--r-- | src/buildstream/_frontend/cli.py | 2 |
2 files changed, 9 insertions, 3 deletions
diff --git a/src/buildstream/_context.py b/src/buildstream/_context.py index 74833e932..32441f931 100644 --- a/src/buildstream/_context.py +++ b/src/buildstream/_context.py @@ -48,7 +48,7 @@ from .sandbox import SandboxRemote # class Context(): - def __init__(self): + def __init__(self, use_casd=True): # Whether we are running as part of a test suite. This is only relevant # for developing BuildStream itself. @@ -72,6 +72,10 @@ class Context(): # The directory for CAS self.casdir = None + # Whether to use casd - meant for interfaces such as + # completion where casd is not required + self.use_casd = use_casd + # The directory for artifact protos self.artifactdir = None @@ -509,7 +513,9 @@ class Context(): def get_cascache(self): if self._cascache is None: - self._cascache = CASCache(self.cachedir, cache_quota=self.config_cache_quota) + self._cascache = CASCache(self.cachedir, + casd=self.use_casd, + cache_quota=self.config_cache_quota) return self._cascache # is_fork_allowed(): diff --git a/src/buildstream/_frontend/cli.py b/src/buildstream/_frontend/cli.py index 931f531aa..9abab6473 100644 --- a/src/buildstream/_frontend/cli.py +++ b/src/buildstream/_frontend/cli.py @@ -133,7 +133,7 @@ def complete_target(args, incomplete): def complete_artifact(orig_args, args, incomplete): from .._context import Context - with Context() as ctx: + with Context(use_casd=False) as ctx: config = None if orig_args: |