in src/buildstream_plugins/sources/cargo.py [0:0]
def configure(self, node):
# The url before any aliasing
#
self.original_url = node.get_str("url", "https://static.crates.io/crates")
self.cargo_lock = node.get_str("cargo-lock", "Cargo.lock")
self.vendor_dir = node.get_str("vendor-dir", "crates")
# If the specified URL is just an alias, require the alias to resolve
# to a URL with a trailing slash. Otherwise, append a trailing slash if
# it's missing, for backward compatibility.
self.url = self.original_url
if not self.url.endswith(":") and not self.url.endswith("/"):
self.url += "/"
node.validate_keys(Source.COMMON_CONFIG_KEYS + ["url", "ref", "cargo-lock", "vendor-dir"])
# Needs to be marked here so that `track` can translate it later.
self.mark_download_url(self.url)
self.load_ref(node)