AdrianVovk commented on code in PR #62:
URL:
https://github.com/apache/buildstream-plugins/pull/62#discussion_r1529374411
##########
src/buildstream_plugins/sources/cargo.py:
##########
@@ -294,6 +308,166 @@ def _get_mirror_file(self, sha=None):
return os.path.join(self._get_mirror_dir(), sha or self.sha)
+# Locks on repositories for write access
+REPO_LOCKS = {}
+
+
+# CrateGit()
+#
+# Use a SourceFetcher class to be the per crate helper.
+#
+# This one is for crates fetched from git repositories.
+#
+# Args:
+# cargo (Cargo): The main Source implementation
+# name (str): The name of the crate to depend on
+# version (str): The version of the crate to depend on
+# repo (str): Repository URL
+# commit (str): Sha of the git commit
+class CrateGit(SourceFetcher):
+ def __init__(self, cargo, name, version, repo, commit):
+ super().__init__()
+
+ self.cargo = cargo
+ self.name = name
+ self.version = str(version)
+ self.repo = repo
+ self.commit = commit
+ # TODO: Is this right?
+ self.mark_download_url(self.repo)
Review Comment:
IMO you should, yes. BuildStream plugins are generally expected to provide
some kind of support for source aliases so that it is possible to mirror the
sources if necessary.
> this would change all git pulls to be redirected to a single git host
Yeah, as long as you have a single git host specified. If no host is
specified, then we don't redirect.
I think that's an easier solution than finding some way to be able to
redirect each cargo dependency individually...
> So that's something different I guess?
Nope, I'm just think what I'm proposing is an easier solution than finding
some way to be able to redirect each cargo dependency individually, and it's
good enough for the purposes of making it possible to mirror sources.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]