_elementproxy.py: Adding some additional proxy API
In order for filter element to deal with the proxy directly, we needed
to proxy the _get_source_element() method, and add a BST_ELEMENT_HAS_ARTIFACT
property.
diff --git a/src/buildstream/_elementproxy.py b/src/buildstream/_elementproxy.py
index a7b1f09..2186d30 100644
--- a/src/buildstream/_elementproxy.py
+++ b/src/buildstream/_elementproxy.py
@@ -45,6 +45,10 @@
##############################################################
@property
+ def BST_ELEMENT_HAS_ARTIFACT(self):
+ return cast("Element", self._plugin).BST_ELEMENT_HAS_ARTIFACT
+
+ @property
def project_name(self):
return cast("Element", self._plugin).project_name
@@ -182,3 +186,6 @@
return element._stage_artifact(
sandbox, path=path, action=action, include=include, exclude=exclude, orphans=orphans, owner=owner
)
+
+ def _get_source_element(self) -> "Element":
+ return cast("Element", self._plugin)._get_source_element()