Skip to main content

ProjectProvider

Trait ProjectProvider 

Source
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§

Source

fn discover_project(&self, start_path: &Path) -> Result<CargoProject>

§Errors

Returns an error if no project can be found from the given path.

Source

fn load_configs( &self, project: &CargoProject, ) -> Result<(RootChangesetConfig, HashMap<String, PackageChangesetConfig>)>

§Errors

Returns an error if the configuration files cannot be loaded.

Source

fn ensure_changeset_dir( &self, project: &CargoProject, config: &RootChangesetConfig, ) -> Result<PathBuf>

§Errors

Returns an error if the changeset directory cannot be created.

Implementors§