summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTristan Maat <tristan.maat@codethink.co.uk>2017-09-07 15:40:57 +0100
committerTristan Maat <tristan.maat@codethink.co.uk>2017-09-08 10:46:23 +0100
commitbe94c716210b7e9530be67dd20a8c625d7b731ae (patch)
tree782683c239ecf8a2f729f27e4a9e6254c6a43fe6
parentd5499e2c505342ceea6266013ee1c8329facf786 (diff)
downloadbuildstream-be94c716210b7e9530be67dd20a8c625d7b731ae.tar.gz
Add source plugin node validations
-rw-r--r--buildstream/plugins/sources/bzr.py2
-rw-r--r--buildstream/plugins/sources/git.py2
-rw-r--r--buildstream/plugins/sources/local.py2
-rw-r--r--buildstream/plugins/sources/ostree.py2
-rw-r--r--buildstream/plugins/sources/tar.py5
-rw-r--r--tests/project/data/plugins/sources/custom.py1
6 files changed, 14 insertions, 0 deletions
diff --git a/buildstream/plugins/sources/bzr.py b/buildstream/plugins/sources/bzr.py
index 42d34828f..e74d87f61 100644
--- a/buildstream/plugins/sources/bzr.py
+++ b/buildstream/plugins/sources/bzr.py
@@ -58,6 +58,8 @@ from buildstream import utils
class BzrSource(Source):
def configure(self, node):
+ self.node_validate(node, ['kind', 'url', 'track', 'ref'])
+
self.original_url = self.node_get_member(node, str, 'url')
self.tracking = self.node_get_member(node, str, 'track')
self.ref = self.node_get_member(node, str, 'ref', '') or None
diff --git a/buildstream/plugins/sources/git.py b/buildstream/plugins/sources/git.py
index e1cac9716..dfc8e615e 100644
--- a/buildstream/plugins/sources/git.py
+++ b/buildstream/plugins/sources/git.py
@@ -214,6 +214,8 @@ class GitSource(Source):
def configure(self, node):
ref = self.node_get_member(node, str, 'ref', '') or None
+ self.node_validate(node, ['kind', 'url', 'track', 'ref', 'submodules'])
+
self.original_url = self.node_get_member(node, str, 'url')
self.mirror = GitMirror(self, '', self.original_url, ref)
self.tracking = self.node_get_member(node, str, 'track', '') or None
diff --git a/buildstream/plugins/sources/local.py b/buildstream/plugins/sources/local.py
index a2f09920e..2611a6fb2 100644
--- a/buildstream/plugins/sources/local.py
+++ b/buildstream/plugins/sources/local.py
@@ -45,6 +45,8 @@ class LocalSource(Source):
def configure(self, node):
project = self.get_project()
+ self.node_validate(node, ['path', 'kind', 'directory'])
+
self.path = self.node_get_member(node, str, 'path')
self.fullpath = os.path.join(project.directory, self.path)
diff --git a/buildstream/plugins/sources/ostree.py b/buildstream/plugins/sources/ostree.py
index f08afc58f..f1cec28e3 100644
--- a/buildstream/plugins/sources/ostree.py
+++ b/buildstream/plugins/sources/ostree.py
@@ -63,6 +63,8 @@ class OSTreeSource(Source):
def configure(self, node):
project = self.get_project()
+ self.node_validate(node, ['kind', 'url', 'ref', 'track', 'gpg-key'])
+
self.original_url = self.node_get_member(node, str, 'url')
self.url = project.translate_url(self.original_url)
self.ref = self.node_get_member(node, str, 'ref', '') or None
diff --git a/buildstream/plugins/sources/tar.py b/buildstream/plugins/sources/tar.py
index f174c792d..f0facdcce 100644
--- a/buildstream/plugins/sources/tar.py
+++ b/buildstream/plugins/sources/tar.py
@@ -62,6 +62,11 @@ class TarSource(Source):
def configure(self, node):
project = self.get_project()
+ self.node_validate(node, [
+ 'kind', 'url', 'ref', 'base-dir',
+ 'track', 'directory', 'sha256sum'
+ ])
+
self.original_url = self.node_get_member(node, str, 'url')
self.ref = self.node_get_member(node, str, 'ref', '') or None
self.base_dir = self.node_get_member(node, str, 'base-dir', '*') or None
diff --git a/tests/project/data/plugins/sources/custom.py b/tests/project/data/plugins/sources/custom.py
index c3cddb355..411b0b912 100644
--- a/tests/project/data/plugins/sources/custom.py
+++ b/tests/project/data/plugins/sources/custom.py
@@ -5,6 +5,7 @@ class CustomSource(Source):
def configure(self, node):
print("Source Data: %s" % node)
+ self.node_validate(node, ['configuration'])
self.configuration = self.node_get_member(node, str, "configuration")
def preflight(self):