comtrya_lib/manifests/providers/
mod.rs1mod local;
2use local::LocalManifestProvider;
3use std::path::PathBuf;
4mod git;
5use git::GitManifestProvider;
6
7pub fn register_providers() -> Vec<Box<dyn ManifestProvider>> {
8 vec![
9 Box::new(LocalManifestProvider),
10 Box::new(GitManifestProvider),
11 ]
12}
13
14#[derive(Debug, PartialEq, Eq)]
15pub enum ManifestProviderError {
16 NoResolution,
17}
18
19pub trait ManifestProvider {
24 fn looks_familiar(&self, url: &str) -> bool;
27
28 fn resolve(&self, url: &str) -> Result<PathBuf, ManifestProviderError>;
31}