org.apache.maven.project
Class DefaultMavenProjectBuilder

java.lang.Object
  extended by org.codehaus.plexus.logging.AbstractLogEnabled
      extended by org.apache.maven.project.DefaultMavenProjectBuilder
All Implemented Interfaces:
MavenProjectBuilder, org.codehaus.plexus.logging.LogEnabled, org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable, org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable

public class DefaultMavenProjectBuilder
extends org.codehaus.plexus.logging.AbstractLogEnabled
implements MavenProjectBuilder, org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable, org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable

Version:
$Id: DefaultMavenProjectBuilder.java 788791 2009-06-26 17:55:26Z jdcasey $

Field Summary
protected  ArtifactMetadataSource artifactMetadataSource
           
protected  ArtifactResolver artifactResolver
           
static String MAVEN_MODEL_VERSION
           
protected  MavenProfilesBuilder profilesBuilder
           
 
Fields inherited from interface org.apache.maven.project.MavenProjectBuilder
ROLE, STANDALONE_SUPERPOM_ARTIFACTID, STANDALONE_SUPERPOM_GROUPID, STANDALONE_SUPERPOM_VERSION
 
Constructor Summary
DefaultMavenProjectBuilder()
           
 
Method Summary
 MavenProject build(File projectDescriptor, ArtifactRepository localRepository, ProfileManager profileManager)
           
 MavenProject build(File projectDescriptor, ArtifactRepository localRepository, ProfileManager profileManager, boolean checkDistributionManagementStatus)
           
 MavenProject build(File pom, ProjectBuilderConfiguration config)
           
 MavenProject build(File pom, ProjectBuilderConfiguration config, boolean checkDistributionManagementStatus)
           
 MavenProject buildFromRepository(Artifact artifact, List remoteArtifactRepositories, ArtifactRepository localRepository)
          Build the artifact from the local repository, resolving it if necessary.
 MavenProject buildFromRepository(Artifact artifact, List remoteArtifactRepositories, ArtifactRepository localRepository, boolean allowStubModel)
          Build the artifact from the local repository, resolving it if necessary.
 MavenProject buildStandaloneSuperProject(ArtifactRepository localRepository)
           
 MavenProject buildStandaloneSuperProject(ArtifactRepository localRepository, ProfileManager profileManager)
          need to pass a profilemanager with correct context (eg. with execution properties)
 MavenProject buildStandaloneSuperProject(ProjectBuilderConfiguration config)
           
 MavenProject buildWithDependencies(File projectDescriptor, ArtifactRepository localRepository, ProfileManager profileManager)
           
 MavenProject buildWithDependencies(File projectDescriptor, ArtifactRepository localRepository, ProfileManager profileManager, org.apache.maven.wagon.events.TransferListener transferListener)
           
 void calculateConcreteState(MavenProject project, ProjectBuilderConfiguration config)
          Variant of MavenProjectBuilder.calculateConcreteState(MavenProject, ProjectBuilderConfiguration, boolean) which assumes that project references should be processed.
 void calculateConcreteState(MavenProject project, ProjectBuilderConfiguration config, boolean processProjectReferences)
          Up to this point, the build section of the POM remains uninterpolated except for the artifact coordinates it contains.
 void contextualize(org.codehaus.plexus.context.Context context)
           
protected  Set createExtensionArtifacts(String projectId, List extensions)
           
protected  Set createPluginArtifacts(String projectId, List plugins)
           
protected  Set createReportArtifacts(String projectId, List reports)
           
 void initialize()
           
 void restoreDynamicState(MavenProject project, ProjectBuilderConfiguration config)
          
 void restoreDynamicState(MavenProject project, ProjectBuilderConfiguration config, boolean processProjectReferences)
          
 
Methods inherited from class org.codehaus.plexus.logging.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

profilesBuilder

protected MavenProfilesBuilder profilesBuilder

artifactResolver

protected ArtifactResolver artifactResolver

artifactMetadataSource

protected ArtifactMetadataSource artifactMetadataSource

MAVEN_MODEL_VERSION

public static final String MAVEN_MODEL_VERSION
See Also:
Constant Field Values
Constructor Detail

DefaultMavenProjectBuilder

public DefaultMavenProjectBuilder()
Method Detail

initialize

public void initialize()
Specified by:
initialize in interface org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable

build

public MavenProject build(File pom,
                          ProjectBuilderConfiguration config)
                   throws ProjectBuildingException
Specified by:
build in interface MavenProjectBuilder
Throws:
ProjectBuildingException

build

public MavenProject build(File pom,
                          ProjectBuilderConfiguration config,
                          boolean checkDistributionManagementStatus)
                   throws ProjectBuildingException
Specified by:
build in interface MavenProjectBuilder
Throws:
ProjectBuildingException

build

public MavenProject build(File projectDescriptor,
                          ArtifactRepository localRepository,
                          ProfileManager profileManager)
                   throws ProjectBuildingException
Specified by:
build in interface MavenProjectBuilder
Throws:
ProjectBuildingException

build

public MavenProject build(File projectDescriptor,
                          ArtifactRepository localRepository,
                          ProfileManager profileManager,
                          boolean checkDistributionManagementStatus)
                   throws ProjectBuildingException
Specified by:
build in interface MavenProjectBuilder
Throws:
ProjectBuildingException

buildFromRepository

public MavenProject buildFromRepository(Artifact artifact,
                                        List remoteArtifactRepositories,
                                        ArtifactRepository localRepository,
                                        boolean allowStubModel)
                                 throws ProjectBuildingException
Description copied from interface: MavenProjectBuilder
Build the artifact from the local repository, resolving it if necessary.

Specified by:
buildFromRepository in interface MavenProjectBuilder
Parameters:
artifact - the artifact description
remoteArtifactRepositories - the remote repository list
localRepository - the local repository
allowStubModel - return a stub if the POM is not found
Returns:
the built project
Throws:
ProjectBuildingException

buildFromRepository

public MavenProject buildFromRepository(Artifact artifact,
                                        List remoteArtifactRepositories,
                                        ArtifactRepository localRepository)
                                 throws ProjectBuildingException
Description copied from interface: MavenProjectBuilder
Build the artifact from the local repository, resolving it if necessary.

Specified by:
buildFromRepository in interface MavenProjectBuilder
Parameters:
artifact - the artifact description
remoteArtifactRepositories - the remote repository list
localRepository - the local repository
Returns:
the built project
Throws:
ProjectBuildingException

buildStandaloneSuperProject

public MavenProject buildStandaloneSuperProject(ArtifactRepository localRepository)
                                         throws ProjectBuildingException
Specified by:
buildStandaloneSuperProject in interface MavenProjectBuilder
Throws:
ProjectBuildingException

buildStandaloneSuperProject

public MavenProject buildStandaloneSuperProject(ArtifactRepository localRepository,
                                                ProfileManager profileManager)
                                         throws ProjectBuildingException
Description copied from interface: MavenProjectBuilder
need to pass a profilemanager with correct context (eg. with execution properties)

Specified by:
buildStandaloneSuperProject in interface MavenProjectBuilder
Throws:
ProjectBuildingException

buildStandaloneSuperProject

public MavenProject buildStandaloneSuperProject(ProjectBuilderConfiguration config)
                                         throws ProjectBuildingException
Specified by:
buildStandaloneSuperProject in interface MavenProjectBuilder
Throws:
ProjectBuildingException

buildWithDependencies

public MavenProject buildWithDependencies(File projectDescriptor,
                                          ArtifactRepository localRepository,
                                          ProfileManager profileManager)
                                   throws ProjectBuildingException,
                                          ArtifactResolutionException,
                                          ArtifactNotFoundException
Specified by:
buildWithDependencies in interface MavenProjectBuilder
Throws:
ProjectBuildingException
ArtifactResolutionException
ArtifactNotFoundException

buildWithDependencies

public MavenProject buildWithDependencies(File projectDescriptor,
                                          ArtifactRepository localRepository,
                                          ProfileManager profileManager,
                                          org.apache.maven.wagon.events.TransferListener transferListener)
                                   throws ProjectBuildingException,
                                          ArtifactResolutionException,
                                          ArtifactNotFoundException
Specified by:
buildWithDependencies in interface MavenProjectBuilder
Throws:
ProjectBuildingException
ArtifactResolutionException
ArtifactNotFoundException

createPluginArtifacts

protected Set createPluginArtifacts(String projectId,
                                    List plugins)
                             throws ProjectBuildingException
Throws:
ProjectBuildingException

createReportArtifacts

protected Set createReportArtifacts(String projectId,
                                    List reports)
                             throws ProjectBuildingException
Throws:
ProjectBuildingException

createExtensionArtifacts

protected Set createExtensionArtifacts(String projectId,
                                       List extensions)
                                throws ProjectBuildingException
Throws:
ProjectBuildingException

contextualize

public void contextualize(org.codehaus.plexus.context.Context context)
                   throws org.codehaus.plexus.context.ContextException
Specified by:
contextualize in interface org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable
Throws:
org.codehaus.plexus.context.ContextException

calculateConcreteState

public void calculateConcreteState(MavenProject project,
                                   ProjectBuilderConfiguration config)
                            throws ModelInterpolationException
Variant of MavenProjectBuilder.calculateConcreteState(MavenProject, ProjectBuilderConfiguration, boolean) which assumes that project references should be processed. This is provided for performance reasons, for cases where you know all projects in the reactor will be processed, making traversal of project references unnecessary.

Specified by:
calculateConcreteState in interface MavenProjectBuilder
Throws:
ModelInterpolationException

calculateConcreteState

public void calculateConcreteState(MavenProject project,
                                   ProjectBuilderConfiguration config,
                                   boolean processProjectReferences)
                            throws ModelInterpolationException
Up to this point, the build section of the POM remains uninterpolated except for the artifact coordinates it contains. This method will interpolate the build section and associated project-instance data structures. Along with the MavenProjectBuilder#restoreDynamicState(MavenProject, ProjectBuilderConfiguration, boolean) method, this method allows expressions in these areas of the POM and project instance to be reevaluated in the event that a mojo changes one the build-path values, or a project property.

This method will process the following:
  1. the specified project's parent project (if not null)
  2. specified project
  3. its execution project (if not null)
  4. any project references (iff processReferences == true)

Specified by:
calculateConcreteState in interface MavenProjectBuilder
Throws:
ModelInterpolationException

restoreDynamicState

public void restoreDynamicState(MavenProject project,
                                ProjectBuilderConfiguration config)
                         throws ModelInterpolationException

Throws:
ModelInterpolationException

restoreDynamicState

public void restoreDynamicState(MavenProject project,
                                ProjectBuilderConfiguration config,
                                boolean processProjectReferences)
                         throws ModelInterpolationException

Throws:
ModelInterpolationException


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