source.py: Raise an error at load time when encountering unresolved source aliases
This fixes issue #1119
diff --git a/src/buildstream/source.py b/src/buildstream/source.py
index 4450289..01bc270 100644
--- a/src/buildstream/source.py
+++ b/src/buildstream/source.py
@@ -663,6 +663,16 @@
warning_token=CoreWarnings.UNALIASED_URL,
)
+ # If there is an alias in use, ensure that it exists in the project
+ if alias:
+ project = self._get_project()
+ alias_uri = project.get_alias_uri(alias, first_pass=self.__first_pass)
+ if alias_uri is None:
+ raise SourceError(
+ "{}: Invalid alias '{}' specified in URL: {}".format(self, alias, url),
+ reason="invalid-source-alias",
+ )
+
def get_project_directory(self) -> str:
"""Fetch the project base directory