org.apache.maven.lifecycle.internal
Class ProjectSegment
java.lang.Object
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.
ProjectSegment
public ProjectSegment(MavenProject project,
TaskSegment taskSegment,
MavenSession copiedSession)
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.