summaryrefslogtreecommitdiff
path: root/buildstream/buildelement.py
diff options
context:
space:
mode:
authorTristan Maat <tristan.maat@codethink.co.uk>2017-09-07 12:20:43 +0100
committerTristan Maat <tristan.maat@codethink.co.uk>2017-09-14 10:51:50 +0100
commit80e53b1a3dd7bf21b55da86b7a982c3f3f5827a2 (patch)
treebd0c054768c8458641b8855efb7b5d7f0e1fbbfa /buildstream/buildelement.py
parentb2bd3dcc4dbd88fc4ed8e7f738ffd3ec47ee5a52 (diff)
downloadbuildstream-80e53b1a3dd7bf21b55da86b7a982c3f3f5827a2.tar.gz
Add element plugin node validations
Diffstat (limited to 'buildstream/buildelement.py')
-rw-r--r--buildstream/buildelement.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/buildstream/buildelement.py b/buildstream/buildelement.py
index 859b682ad..4776c90d5 100644
--- a/buildstream/buildelement.py
+++ b/buildstream/buildelement.py
@@ -114,11 +114,15 @@ class BuildElement(Element):
def configure(self, node):
self.commands = {}
+ command_names = [prefix + step for step in _command_steps for prefix in _command_prefixes]
- for step in _command_steps:
- for prefix in _command_prefixes:
- command_name = prefix + step
- self.commands[command_name] = self._get_commands(node, command_name)
+ # FIXME: Currently this forcefully validates configurations
+ # for all BuildElement subclasses so they are unable to
+ # extend the configuration
+ self.node_validate(node, command_names)
+
+ for command_name in command_names:
+ self.commands[command_name] = self._get_commands(node, command_name)
def preflight(self):
pass