summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Schubert <contact@benschubert.me>2019-07-08 19:15:39 +0100
committerBenjamin Schubert <ben.c.schubert@gmail.com>2019-07-09 16:57:05 +0100
commitdca3ae00f651c2fc8218a72bf85f6ea8d129e6c8 (patch)
treec2912fece92b4abc07bdaaafc2d8f951a8d5ca9a
parent6cc55ac084edd3627f8e9c9643190696d2c48693 (diff)
downloadbuildstream-bschubert/node-provenance-2.tar.gz
plugin: remove 'node_get_provenance', use the Node API directlybschubert/node-provenance-2
-rw-r--r--src/buildstream/_gitsourcebase.py2
-rw-r--r--src/buildstream/plugin.py16
-rw-r--r--src/buildstream/plugins/elements/filter.py13
-rw-r--r--src/buildstream/plugins/sources/_downloadablefilesource.py4
4 files changed, 10 insertions, 25 deletions
diff --git a/src/buildstream/_gitsourcebase.py b/src/buildstream/_gitsourcebase.py
index 311bfca08..fb6010b1e 100644
--- a/src/buildstream/_gitsourcebase.py
+++ b/src/buildstream/_gitsourcebase.py
@@ -396,7 +396,7 @@ class _GitSourceBase(Source):
self.ref_format = node.get_str('ref-format', 'sha1')
if self.ref_format not in ['sha1', 'git-describe']:
- provenance = self.node_provenance(node, member_name='ref-format')
+ provenance = node.get_scalar('ref-format').get_provenance()
raise SourceError("{}: Unexpected value for ref-format: {}".format(provenance, self.ref_format))
# At this point we now know if the source has a ref and/or a track.
diff --git a/src/buildstream/plugin.py b/src/buildstream/plugin.py
index 92e52504d..ac7b0948e 100644
--- a/src/buildstream/plugin.py
+++ b/src/buildstream/plugin.py
@@ -346,22 +346,6 @@ class Plugin():
"""
return self.__kind
- def node_provenance(self, node, member_name=None):
- """Gets the provenance for `node` and `member_name`
-
- This reports a string with file, line and column information suitable
- for reporting an error or warning.
-
- Args:
- node (Node): The YAML loaded dictionary object
- member_name (str): The name of the member to check, or None for the node itself
-
- Returns:
- (str): A string describing the provenance of the node and member
- """
- provenance = node.get_node(member_name).get_provenance()
- return str(provenance)
-
def node_get_project_path(self, node, *,
check_is_file=False, check_is_dir=False):
"""Fetches a project path from a dictionary node and validates it
diff --git a/src/buildstream/plugins/elements/filter.py b/src/buildstream/plugins/elements/filter.py
index 7a21aa6eb..c2c2e0125 100644
--- a/src/buildstream/plugins/elements/filter.py
+++ b/src/buildstream/plugins/elements/filter.py
@@ -171,11 +171,12 @@ class FilterElement(Element):
'include', 'exclude', 'include-orphans'
])
- self.include = node.get_sequence('include').as_str_list()
- self.exclude = node.get_sequence('exclude').as_str_list()
+ self.include_node = node.get_sequence('include')
+ self.exclude_node = node.get_sequence('exclude')
+
+ self.include = self.include_node.as_str_list()
+ self.exclude = self.exclude_node.as_str_list()
self.include_orphans = node.get_bool('include-orphans')
- self.include_provenance = self.node_provenance(node, member_name='include')
- self.exclude_provenance = self.node_provenance(node, member_name='exclude')
def preflight(self):
# Exactly one build-depend is permitted
@@ -229,11 +230,11 @@ class FilterElement(Element):
detail = []
if unfound_includes:
- detail.append("Unknown domains were used in {}".format(self.include_provenance))
+ detail.append("Unknown domains were used in {}".format(self.include_node.get_provenance()))
detail.extend([' - {}'.format(domain) for domain in unfound_includes])
if unfound_excludes:
- detail.append("Unknown domains were used in {}".format(self.exclude_provenance))
+ detail.append("Unknown domains were used in {}".format(self.exclude_node.get_provenance()))
detail.extend([' - {}'.format(domain) for domain in unfound_excludes])
if detail:
diff --git a/src/buildstream/plugins/sources/_downloadablefilesource.py b/src/buildstream/plugins/sources/_downloadablefilesource.py
index 7b1785979..06e388635 100644
--- a/src/buildstream/plugins/sources/_downloadablefilesource.py
+++ b/src/buildstream/plugins/sources/_downloadablefilesource.py
@@ -143,9 +143,9 @@ class DownloadableFileSource(Source):
.format(self.url, sha256, self.ref))
def _warn_deprecated_etag(self, node):
- etag = node.get_str('etag', None)
+ etag = node.get_scalar('etag', None)
if etag:
- provenance = self.node_provenance(node, member_name='etag')
+ provenance = etag.get_provenance()
self.warn('{} "etag" is deprecated and ignored.'.format(provenance))
def _get_etag(self, ref):