pub trait SourceFetcher {
// Required methods
fn fetch_git_version(
&self,
url: &SourceUrl,
version: &AvailableVersion,
source_name: &str,
preferred_commit: Option<&str>,
diag: &mut DiagnosticCollector,
) -> Result<ResolvedRef, MarsError>;
fn fetch_git_ref(
&self,
url: &SourceUrl,
ref_name: &str,
source_name: &str,
preferred_commit: Option<&str>,
diag: &mut DiagnosticCollector,
) -> Result<ResolvedRef, MarsError>;
fn fetch_path(
&self,
path: &Path,
source_name: &str,
diag: &mut DiagnosticCollector,
) -> Result<ResolvedRef, MarsError>;
}Expand description
Fetches concrete source trees after the resolver has picked a strategy.
Required Methods§
Sourcefn fetch_git_version(
&self,
url: &SourceUrl,
version: &AvailableVersion,
source_name: &str,
preferred_commit: Option<&str>,
diag: &mut DiagnosticCollector,
) -> Result<ResolvedRef, MarsError>
fn fetch_git_version( &self, url: &SourceUrl, version: &AvailableVersion, source_name: &str, preferred_commit: Option<&str>, diag: &mut DiagnosticCollector, ) -> Result<ResolvedRef, MarsError>
Fetch a git source at a specific version tag.
Sourcefn fetch_git_ref(
&self,
url: &SourceUrl,
ref_name: &str,
source_name: &str,
preferred_commit: Option<&str>,
diag: &mut DiagnosticCollector,
) -> Result<ResolvedRef, MarsError>
fn fetch_git_ref( &self, url: &SourceUrl, ref_name: &str, source_name: &str, preferred_commit: Option<&str>, diag: &mut DiagnosticCollector, ) -> Result<ResolvedRef, MarsError>
Fetch a git source at a branch/commit ref (non-semver path).
Sourcefn fetch_path(
&self,
path: &Path,
source_name: &str,
diag: &mut DiagnosticCollector,
) -> Result<ResolvedRef, MarsError>
fn fetch_path( &self, path: &Path, source_name: &str, diag: &mut DiagnosticCollector, ) -> Result<ResolvedRef, MarsError>
Resolve a local path source into a concrete tree reference.