summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTristan Maat <tristan.maat@codethink.co.uk>2019-10-02 10:58:13 +0100
committerTristan Maat <tristan.maat@codethink.co.uk>2019-10-02 10:58:13 +0100
commit801900997c8908d072e503624381a4036ca51083 (patch)
tree0e2daea1e432712929ae6e6aa63da0b755b46ba2
parent1db77530d1b14fe8d3ceab9952ab6c75f85a6dea (diff)
downloadbuildstream-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.py10
-rw-r--r--src/buildstream/_frontend/cli.py2
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: