org.apache.maven.lifecycle.internal
Class ProjectSegment

java.lang.Object
  extended by org.apache.maven.lifecycle.internal.ProjectSegment

public final class ProjectSegment
extends Object

A build context that matches a mavenproject to a given tasksegment, and the session to be used.

A note to the reader;

There are several issues/discussions regarding how "aggregator" plugins should be handled. Read for instance http://docs.codehaus.org/display/MAVEN/Deterministic+Lifecycle+Planning

In their current implementation they are "bolted" onto the lifecycle by separating them into TaskSegments. This class represents the execution context of one such task segment.

Wise voices have suggested that maybe aggregators shouldn't be bound to the ordinary lifecycle at all, in which case we wouldn't be needing this class at all ( and ProjectBuildList.getByTaskSegments). Or maybe they should be introduced in the calculation of the execution plan instead, which seems much nicer.

Additionally this class contains a clone of the MavenSession, which is *only* needed because it has as notion of a "current" project.

Since:
3.0
Author:
Jason van Zyl, Benjamin Bentmann, Kristian Rosenvold

NOTE: This class is not part of any public api and can be changed or deleted without prior notice.


Constructor Summary
ProjectSegment(MavenProject project, TaskSegment taskSegment, MavenSession copiedSession)
           
 
Method Summary
 List<MavenProject> getImmediateUpstreamProjects()
           
 MavenProject getProject()
           
 MavenSession getSession()
           
 TaskSegment getTaskSegment()
           
 List<MavenProject> getTransitiveUpstreamProjects()
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ProjectSegment

public ProjectSegment(MavenProject project,
                      TaskSegment taskSegment,
                      MavenSession copiedSession)
Method Detail

getSession

public MavenSession getSession()

getProject

public MavenProject getProject()

getTaskSegment

public TaskSegment getTaskSegment()

getImmediateUpstreamProjects

public List<MavenProject> getImmediateUpstreamProjects()

getTransitiveUpstreamProjects

public List<MavenProject> getTransitiveUpstreamProjects()

toString

public String toString()
Overrides:
toString in class Object


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