Project

Trait Project 

Source
pub trait Project: Any {
    // Required methods
    fn get_root(&self) -> &PathBuf;
    fn get_name(&self) -> &str;
    fn get_component_graph(&self) -> &ComponentRegistry;
    fn get_component_graph_mut(&mut self) -> &mut ComponentRegistry;
    fn get_dependencies(&self) -> Option<HashSet<String>>;
    fn find_dependency(&self, name: &str) -> Option<String>;
    fn traverse(&mut self, exclude: &Vec<String>, include: &Vec<String>);
    fn as_any(&self) -> &dyn Any;
}
Expand description

Trait defining common functionality for all project types

Required Methods§

Source

fn get_root(&self) -> &PathBuf

Gets the root path of the project

Source

fn get_name(&self) -> &str

Gets the name of the project

Source

fn get_component_graph(&self) -> &ComponentRegistry

Gets the component graph of the project

Source

fn get_component_graph_mut(&mut self) -> &mut ComponentRegistry

Gets mutable access to the component graph

Source

fn get_dependencies(&self) -> Option<HashSet<String>>

Gets all dependencies of the project

Source

fn find_dependency(&self, name: &str) -> Option<String>

Finds a specific dependency by name

Source

fn traverse(&mut self, exclude: &Vec<String>, include: &Vec<String>)

Traverses the project to analyze its components

Source

fn as_any(&self) -> &dyn Any

Returns a reference to this object as an Any trait object

Implementors§