pub trait ProjectProvider: Send + Sync {
// Required methods
fn discover_project(&self, start_path: &Path) -> Result<CargoProject>;
fn load_configs(
&self,
project: &CargoProject,
) -> Result<(RootChangesetConfig, HashMap<String, PackageChangesetConfig>)>;
fn ensure_changeset_dir(
&self,
project: &CargoProject,
config: &RootChangesetConfig,
) -> Result<PathBuf>;
}Required Methods§
Sourcefn discover_project(&self, start_path: &Path) -> Result<CargoProject>
fn discover_project(&self, start_path: &Path) -> Result<CargoProject>
§Errors
Returns an error if no project can be found from the given path.
Sourcefn load_configs(
&self,
project: &CargoProject,
) -> Result<(RootChangesetConfig, HashMap<String, PackageChangesetConfig>)>
fn load_configs( &self, project: &CargoProject, ) -> Result<(RootChangesetConfig, HashMap<String, PackageChangesetConfig>)>
§Errors
Returns an error if the configuration files cannot be loaded.
Sourcefn ensure_changeset_dir(
&self,
project: &CargoProject,
config: &RootChangesetConfig,
) -> Result<PathBuf>
fn ensure_changeset_dir( &self, project: &CargoProject, config: &RootChangesetConfig, ) -> Result<PathBuf>
§Errors
Returns an error if the changeset directory cannot be created.