org.apache.maven.execution
Interface ProjectDependencyGraph


public interface ProjectDependencyGraph

Describes the inter-dependencies between projects in the reactor.

Author:
Benjamin Bentmann

Method Summary
 List<MavenProject> getDownstreamProjects(MavenProject project, boolean transitive)
          Gets the downstream projects of the specified project.
 List<MavenProject> getSortedProjects()
          Gets all projects in their intended build order, i.e. after topologically sorting the projects according to their inter-dependencies.
 List<MavenProject> getUpstreamProjects(MavenProject project, boolean transitive)
          Gets the upstream projects of the specified project.
 

Method Detail

getSortedProjects

List<MavenProject> getSortedProjects()
Gets all projects in their intended build order, i.e. after topologically sorting the projects according to their inter-dependencies.

Returns:
The projects in the build order, never null.

getDownstreamProjects

List<MavenProject> getDownstreamProjects(MavenProject project,
                                         boolean transitive)
Gets the downstream projects of the specified project. A downstream project is a project that directly or indirectly depends on the given project.

Parameters:
project - The project whose downstream projects should be retrieved, must not be null.
transitive - A flag whether to retrieve all direct and indirect downstream projects or just the immediate downstream projects.
Returns:
The downstream projects in the build order, never null.

getUpstreamProjects

List<MavenProject> getUpstreamProjects(MavenProject project,
                                       boolean transitive)
Gets the upstream projects of the specified project. An upstream project is a project that directly or indirectly is a prerequisite of the given project.

Parameters:
project - The project whose upstream projects should be retrieved, must not be null.
transitive - A flag whether to retrieve all direct and indirect upstream projects or just the immediate upstream projects.
Returns:
The upstream projects in the build order, never null.


Copyright © 2001-2010 The Apache Software Foundation. All Rights Reserved.