C# Class MsBuilderific.Core.ProjectDependencyFinder

Finds the dependencies between the projects provided and generate the right build order
Inheritance: IProjectDependencyFinder
Exibir arquivo Open project: Vooban/vooban.msbuilderific

Public Methods

Method Description
AddExclusionPattern ( string pattern ) : void

Add an exclusion pattern, which will be found projects.

GetDependencyGraph ( IMsBuilderificCoreOptions coreOptions ) : Edge>.AdjacencyGraph

Build the dependency graph from the projects found in the root folder - the exlusion patterns

GetDependencyOrder ( IMsBuilderificCoreOptions coreOptions ) : List

Build the dependency graph between the projects in the root folder and optionnaly save the graph in a GraphML file

GetDependencyOrderFromGraph ( AdjacencyGraph graph ) : List

Process the graph to generate the correct project build order

PersistGraph ( AdjacencyGraph graph, IMsBuilderificCoreOptions options ) : void

Saves the graph in the GraphML format in the specified filename

ProjectDependencyFinder ( IEnumerable projectLoaders ) : System

Initializes a new instance of the ProjectDependencyFinder class.

RemoveExclusionPattern ( string pattern ) : void

Removes an exclusion pattern, which will be found projects.

Private Methods

Method Description
ProcessGraph ( IMutableVertexListGraph graph, Queue &queue ) : int

Processes the graph by looking for project without dependency, removing them from the graph, and iterating until no more vertices exists in the graph

Method Details

AddExclusionPattern() public method

Add an exclusion pattern, which will be found projects.
public AddExclusionPattern ( string pattern ) : void
pattern string /// The pattern to include ///
return void

GetDependencyGraph() public method

Build the dependency graph from the projects found in the root folder - the exlusion patterns
public GetDependencyGraph ( IMsBuilderificCoreOptions coreOptions ) : Edge>.AdjacencyGraph
coreOptions IMsBuilderificCoreOptions /// The coreOptions used to get the dependency order of the projects ///
return Edge>.AdjacencyGraph

GetDependencyOrder() public method

Build the dependency graph between the projects in the root folder and optionnaly save the graph in a GraphML file
public GetDependencyOrder ( IMsBuilderificCoreOptions coreOptions ) : List
coreOptions IMsBuilderificCoreOptions /// The coreOptions used to get the dependency order of the projects ///
return List

GetDependencyOrderFromGraph() public method

Process the graph to generate the correct project build order
public GetDependencyOrderFromGraph ( AdjacencyGraph graph ) : List
graph AdjacencyGraph /// The graph that will be navigated to find the right project build order ///
return List

PersistGraph() public method

Saves the graph in the GraphML format in the specified filename
public PersistGraph ( AdjacencyGraph graph, IMsBuilderificCoreOptions options ) : void
graph AdjacencyGraph /// The graph to persist ///
options IMsBuilderificCoreOptions /// The core options used to get information about the graph to generate ///
return void

ProjectDependencyFinder() public method

Initializes a new instance of the ProjectDependencyFinder class.
public ProjectDependencyFinder ( IEnumerable projectLoaders ) : System
projectLoaders IEnumerable
return System

RemoveExclusionPattern() public method

Removes an exclusion pattern, which will be found projects.
public RemoveExclusionPattern ( string pattern ) : void
pattern string /// The pattern to include ///
return void