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
| Modifier and Type | Field and Description |
|---|---|
private ProjectArtifactFactory |
artifactFactory |
protected ArtifactMetadataSource |
artifactMetadataSource |
private ArtifactRepositoryFactory |
artifactRepositoryFactory |
protected ArtifactResolver |
artifactResolver |
private org.codehaus.plexus.PlexusContainer |
container |
static java.lang.String |
MAVEN_MODEL_VERSION |
private ModelDefaultsInjector |
modelDefaultsInjector |
private ModelInheritanceAssembler |
modelInheritanceAssembler |
private ModelInterpolator |
modelInterpolator |
private MavenXpp3Reader |
modelReader |
private PathTranslator |
pathTranslator |
private java.util.Map |
processedProjectCache |
private ProfileInjector |
profileInjector |
protected MavenProfilesBuilder |
profilesBuilder |
private java.util.Map |
rawProjectCache |
private ModelValidator |
validator |
private WagonManager |
wagonManager |
ROLE, STANDALONE_SUPERPOM_ARTIFACTID, STANDALONE_SUPERPOM_GROUPID, STANDALONE_SUPERPOM_VERSION| Constructor and Description |
|---|
DefaultMavenProjectBuilder() |
| Modifier and Type | Method and Description |
|---|---|
private MavenProject |
assembleLineage(Model model,
java.util.LinkedList lineage,
ProjectBuilderConfiguration config,
java.io.File projectDescriptor,
java.util.List parentSearchRepositories,
java.util.Set aggregatedRemoteWagonRepositories,
boolean strict) |
MavenProject |
build(java.io.File projectDescriptor,
ArtifactRepository localRepository,
ProfileManager profileManager) |
MavenProject |
build(java.io.File projectDescriptor,
ArtifactRepository localRepository,
ProfileManager profileManager,
boolean checkDistributionManagementStatus) |
MavenProject |
build(java.io.File pom,
ProjectBuilderConfiguration config) |
MavenProject |
build(java.io.File pom,
ProjectBuilderConfiguration config,
boolean checkDistributionManagementStatus) |
private java.util.List |
buildArtifactRepositories(Model model) |
MavenProject |
buildFromRepository(Artifact artifact,
java.util.List remoteArtifactRepositories,
ArtifactRepository localRepository)
Build the artifact from the local repository, resolving it if necessary.
|
MavenProject |
buildFromRepository(Artifact artifact,
java.util.List remoteArtifactRepositories,
ArtifactRepository localRepository,
boolean allowStubModel)
Build the artifact from the local repository, resolving it if necessary.
|
private MavenProject |
buildFromSourceFileInternal(java.io.File projectDescriptor,
ProjectBuilderConfiguration config,
boolean checkDistributionManagementStatus) |
private MavenProject |
buildInternal(java.lang.String pomLocation,
Model model,
ProjectBuilderConfiguration config,
java.util.List parentSearchRepositories,
java.io.File projectDescriptor,
boolean strict) |
MavenProject |
buildStandaloneSuperProject(ArtifactRepository localRepository) |
MavenProject |
buildStandaloneSuperProject(ArtifactRepository localRepository,
ProfileManager profileManager)
need to pass a profilemanager with correct context (eg.
|
MavenProject |
buildStandaloneSuperProject(ProjectBuilderConfiguration config) |
MavenProject |
buildWithDependencies(java.io.File projectDescriptor,
ArtifactRepository localRepository,
ProfileManager profileManager) |
MavenProject |
buildWithDependencies(java.io.File projectDescriptor,
ArtifactRepository localRepository,
ProfileManager profileManager,
org.apache.maven.wagon.events.TransferListener transferListener) |
private void |
calculateConcreteProjectReferences(MavenProject project,
ProjectBuilderConfiguration config,
java.util.Set processedProjects) |
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.
|
private void |
calculateConcreteStateInternal(MavenProject project,
ProjectBuilderConfiguration config,
boolean processProjectReferences,
java.util.Set processedProjects) |
private void |
checkStatusAndUpdate(Artifact projectArtifact,
ArtifactStatus status,
java.io.File file,
java.util.List remoteArtifactRepositories,
ArtifactRepository localRepository) |
private java.util.List |
collectRestoredListOfPatterns(java.util.List patterns,
java.util.List originalPatterns,
java.util.List originalInterpolatedPatterns) |
void |
contextualize(org.codehaus.plexus.context.Context context) |
private static java.lang.String |
createCacheKey(java.lang.String groupId,
java.lang.String artifactId,
java.lang.String version) |
protected java.util.Set |
createExtensionArtifacts(java.lang.String projectId,
java.util.List extensions) |
private java.util.Map |
createManagedVersionMap(java.lang.String projectId,
DependencyManagement dependencyManagement,
MavenProject parent) |
protected java.util.Set |
createPluginArtifacts(java.lang.String projectId,
java.util.List plugins) |
protected java.util.Set |
createReportArtifacts(java.lang.String projectId,
java.util.List reports) |
private Model |
createStubModel(Artifact projectArtifact) |
private void |
ensureMetadataSourceIsInitialized() |
private Model |
findModelFromRepository(Artifact artifact,
java.util.List remoteArtifactRepositories,
ArtifactRepository localRepository,
boolean allowStubModel) |
private Model |
getSuperModel() |
void |
initialize() |
private void |
initResourceMergeIds(java.util.List resources) |
private java.util.List |
injectActiveProfiles(ProfileManager profileManager,
Model model) |
private java.util.List |
interpolateListOfStrings(java.util.List originalStrings,
Model model,
java.io.File projectDir,
ProjectBuilderConfiguration config,
boolean debugMessages) |
private void |
loadProjectExternalProfiles(ProfileManager profileManager,
java.io.File projectDir) |
private void |
mergeDeterministicBuildElements(Build interpolatedBuild,
Build dynamicBuild) |
private void |
mergeDeterministicPluginElements(java.util.List iPlugins,
java.util.List dPlugins) |
private void |
mergeManagedDependencies(Model model,
ArtifactRepository localRepository,
java.util.List parentSearchRepositories) |
private java.util.List |
normalizeToArtifactRepositories(java.util.List remoteArtifactRepositories,
java.lang.String projectId) |
private boolean |
objectEquals(java.lang.Object obj1,
java.lang.Object obj2) |
private MavenProject |
processProjectLogic(java.lang.String pomLocation,
MavenProject project,
ProjectBuilderConfiguration config,
java.io.File projectDir,
java.util.List remoteRepositories,
boolean strict,
boolean isSuperPom) |
private boolean |
projectWasChanged(MavenProject project) |
private void |
propagateNewPlugins(MavenProject project) |
private Model |
readModel(java.lang.String projectId,
java.io.File file,
boolean strict) |
private Model |
readModel(java.lang.String projectId,
java.lang.String pomLocation,
java.io.Reader reader,
boolean strict) |
private Model |
readModel(java.lang.String projectId,
java.net.URL url,
boolean strict) |
private void |
restoreBuildRoots(MavenProject project,
ProjectBuilderConfiguration config,
boolean debugMessages) |
private void |
restoreDynamicProjectReferences(MavenProject project,
ProjectBuilderConfiguration config,
java.util.Set processedProjects) |
void |
restoreDynamicState(MavenProject project,
ProjectBuilderConfiguration config) |
void |
restoreDynamicState(MavenProject project,
ProjectBuilderConfiguration config,
boolean processProjectReferences) |
private void |
restoreDynamicStateInternal(MavenProject project,
ProjectBuilderConfiguration config,
boolean processProjectReferences,
java.util.Set processedProjects) |
private java.util.List |
restoreListOfStrings(java.util.List originalStrings,
java.util.List originalInterpolatedStrings,
java.util.List changedStrings,
MavenProject project,
ProjectBuilderConfiguration config,
boolean debugMessages) |
private void |
restoreModelBuildSection(MavenProject project,
ProjectBuilderConfiguration config,
boolean debugMessages) |
private java.util.List |
restoreResources(java.util.List originalResources,
java.util.List originalInterpolatedResources,
java.util.List changedResources,
MavenProject project,
ProjectBuilderConfiguration config,
boolean debugMessages) |
private java.lang.String |
restoreString(java.lang.String originalString,
java.lang.String originalInterpolatedString,
java.lang.String changedString,
MavenProject project,
ProjectBuilderConfiguration config,
boolean debugMessages) |
private java.lang.String |
safeVersionlessKey(java.lang.String groupId,
java.lang.String artifactId) |
private java.util.List |
translateListOfPaths(java.util.List paths,
java.io.File basedir) |
private org.codehaus.plexus.PlexusContainer container
protected MavenProfilesBuilder profilesBuilder
protected ArtifactResolver artifactResolver
protected ArtifactMetadataSource artifactMetadataSource
private ProjectArtifactFactory artifactFactory
private ModelInheritanceAssembler modelInheritanceAssembler
private ProfileInjector profileInjector
private ModelValidator validator
private java.util.Map rawProjectCache
private java.util.Map processedProjectCache
private MavenXpp3Reader modelReader
private PathTranslator pathTranslator
private ModelDefaultsInjector modelDefaultsInjector
private ModelInterpolator modelInterpolator
private ArtifactRepositoryFactory artifactRepositoryFactory
private WagonManager wagonManager
public static final java.lang.String MAVEN_MODEL_VERSION
public void initialize()
initialize in interface org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializablepublic MavenProject build(java.io.File pom, ProjectBuilderConfiguration config) throws ProjectBuildingException
build in interface MavenProjectBuilderProjectBuildingExceptionpublic MavenProject build(java.io.File pom, ProjectBuilderConfiguration config, boolean checkDistributionManagementStatus) throws ProjectBuildingException
build in interface MavenProjectBuilderProjectBuildingExceptionpublic MavenProject build(java.io.File projectDescriptor, ArtifactRepository localRepository, ProfileManager profileManager) throws ProjectBuildingException
build in interface MavenProjectBuilderProjectBuildingExceptionpublic MavenProject build(java.io.File projectDescriptor, ArtifactRepository localRepository, ProfileManager profileManager, boolean checkDistributionManagementStatus) throws ProjectBuildingException
build in interface MavenProjectBuilderProjectBuildingExceptionpublic MavenProject buildFromRepository(Artifact artifact, java.util.List remoteArtifactRepositories, ArtifactRepository localRepository, boolean allowStubModel) throws ProjectBuildingException
MavenProjectBuilderbuildFromRepository in interface MavenProjectBuilderartifact - the artifact descriptionremoteArtifactRepositories - the remote repository listlocalRepository - the local repositoryallowStubModel - return a stub if the POM is not foundProjectBuildingExceptionpublic MavenProject buildFromRepository(Artifact artifact, java.util.List remoteArtifactRepositories, ArtifactRepository localRepository) throws ProjectBuildingException
MavenProjectBuilderbuildFromRepository in interface MavenProjectBuilderartifact - the artifact descriptionremoteArtifactRepositories - the remote repository listlocalRepository - the local repositoryProjectBuildingExceptionpublic MavenProject buildStandaloneSuperProject(ArtifactRepository localRepository) throws ProjectBuildingException
buildStandaloneSuperProject in interface MavenProjectBuilderProjectBuildingExceptionpublic MavenProject buildStandaloneSuperProject(ArtifactRepository localRepository, ProfileManager profileManager) throws ProjectBuildingException
MavenProjectBuilderbuildStandaloneSuperProject in interface MavenProjectBuilderProjectBuildingExceptionpublic MavenProject buildStandaloneSuperProject(ProjectBuilderConfiguration config) throws ProjectBuildingException
buildStandaloneSuperProject in interface MavenProjectBuilderProjectBuildingExceptionpublic MavenProject buildWithDependencies(java.io.File projectDescriptor, ArtifactRepository localRepository, ProfileManager profileManager) throws ProjectBuildingException, ArtifactResolutionException, ArtifactNotFoundException
buildWithDependencies in interface MavenProjectBuilderProjectBuildingExceptionArtifactResolutionExceptionArtifactNotFoundExceptionpublic MavenProject buildWithDependencies(java.io.File projectDescriptor, ArtifactRepository localRepository, ProfileManager profileManager, org.apache.maven.wagon.events.TransferListener transferListener) throws ProjectBuildingException, ArtifactResolutionException, ArtifactNotFoundException
buildWithDependencies in interface MavenProjectBuilderProjectBuildingExceptionArtifactResolutionExceptionArtifactNotFoundExceptionprivate void ensureMetadataSourceIsInitialized()
throws ProjectBuildingException
ProjectBuildingExceptionprivate java.util.Map createManagedVersionMap(java.lang.String projectId,
DependencyManagement dependencyManagement,
MavenProject parent)
throws ProjectBuildingException
ProjectBuildingExceptionprivate MavenProject buildFromSourceFileInternal(java.io.File projectDescriptor, ProjectBuilderConfiguration config, boolean checkDistributionManagementStatus) throws ProjectBuildingException
ProjectBuildingExceptionprivate Model findModelFromRepository(Artifact artifact, java.util.List remoteArtifactRepositories, ArtifactRepository localRepository, boolean allowStubModel) throws ProjectBuildingException
ProjectBuildingExceptionprivate java.util.List normalizeToArtifactRepositories(java.util.List remoteArtifactRepositories,
java.lang.String projectId)
throws ProjectBuildingException
ProjectBuildingExceptionprivate void checkStatusAndUpdate(Artifact projectArtifact, ArtifactStatus status, java.io.File file, java.util.List remoteArtifactRepositories, ArtifactRepository localRepository) throws ArtifactNotFoundException
ArtifactNotFoundExceptionprivate MavenProject buildInternal(java.lang.String pomLocation, Model model, ProjectBuilderConfiguration config, java.util.List parentSearchRepositories, java.io.File projectDescriptor, boolean strict) throws ProjectBuildingException
ProjectBuildingExceptionprivate java.lang.String safeVersionlessKey(java.lang.String groupId,
java.lang.String artifactId)
private java.util.List buildArtifactRepositories(Model model) throws ProjectBuildingException
ProjectBuildingExceptionprivate MavenProject processProjectLogic(java.lang.String pomLocation, MavenProject project, ProjectBuilderConfiguration config, java.io.File projectDir, java.util.List remoteRepositories, boolean strict, boolean isSuperPom) throws ProjectBuildingException, ModelInterpolationException, InvalidRepositoryException
private void mergeDeterministicBuildElements(Build interpolatedBuild, Build dynamicBuild)
private void mergeDeterministicPluginElements(java.util.List iPlugins,
java.util.List dPlugins)
private MavenProject assembleLineage(Model model, java.util.LinkedList lineage, ProjectBuilderConfiguration config, java.io.File projectDescriptor, java.util.List parentSearchRepositories, java.util.Set aggregatedRemoteWagonRepositories, boolean strict) throws ProjectBuildingException, InvalidRepositoryException
private void mergeManagedDependencies(Model model, ArtifactRepository localRepository, java.util.List parentSearchRepositories) throws ProjectBuildingException
ProjectBuildingExceptionprivate java.util.List injectActiveProfiles(ProfileManager profileManager, Model model) throws ProjectBuildingException
ProjectBuildingExceptionprivate void loadProjectExternalProfiles(ProfileManager profileManager, java.io.File projectDir) throws ProfileActivationException
ProfileActivationExceptionprivate Model readModel(java.lang.String projectId, java.io.File file, boolean strict) throws ProjectBuildingException
ProjectBuildingExceptionprivate Model readModel(java.lang.String projectId, java.lang.String pomLocation, java.io.Reader reader, boolean strict) throws java.io.IOException, InvalidProjectModelException
java.io.IOExceptionInvalidProjectModelExceptionprivate Model readModel(java.lang.String projectId, java.net.URL url, boolean strict) throws ProjectBuildingException
ProjectBuildingExceptionprivate static java.lang.String createCacheKey(java.lang.String groupId,
java.lang.String artifactId,
java.lang.String version)
protected java.util.Set createPluginArtifacts(java.lang.String projectId,
java.util.List plugins)
throws ProjectBuildingException
ProjectBuildingExceptionprotected java.util.Set createReportArtifacts(java.lang.String projectId,
java.util.List reports)
throws ProjectBuildingException
ProjectBuildingExceptionprotected java.util.Set createExtensionArtifacts(java.lang.String projectId,
java.util.List extensions)
throws ProjectBuildingException
ProjectBuildingExceptionprivate Model getSuperModel() throws ProjectBuildingException
ProjectBuildingExceptionpublic void contextualize(org.codehaus.plexus.context.Context context)
throws org.codehaus.plexus.context.ContextException
contextualize in interface org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizableorg.codehaus.plexus.context.ContextExceptionpublic void calculateConcreteState(MavenProject project, ProjectBuilderConfiguration config) throws ModelInterpolationException
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.calculateConcreteState in interface MavenProjectBuilderModelInterpolationExceptionpublic void calculateConcreteState(MavenProject project, ProjectBuilderConfiguration config, boolean processProjectReferences) throws ModelInterpolationException
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.
calculateConcreteState in interface MavenProjectBuilderModelInterpolationExceptionprivate void calculateConcreteStateInternal(MavenProject project, ProjectBuilderConfiguration config, boolean processProjectReferences, java.util.Set processedProjects) throws ModelInterpolationException
ModelInterpolationExceptionprivate void initResourceMergeIds(java.util.List resources)
private void calculateConcreteProjectReferences(MavenProject project, ProjectBuilderConfiguration config, java.util.Set processedProjects) throws ModelInterpolationException
ModelInterpolationExceptionprivate java.util.List translateListOfPaths(java.util.List paths,
java.io.File basedir)
public void restoreDynamicState(MavenProject project, ProjectBuilderConfiguration config) throws ModelInterpolationException
ModelInterpolationExceptionpublic void restoreDynamicState(MavenProject project, ProjectBuilderConfiguration config, boolean processProjectReferences) throws ModelInterpolationException
ModelInterpolationExceptionprivate void restoreDynamicStateInternal(MavenProject project, ProjectBuilderConfiguration config, boolean processProjectReferences, java.util.Set processedProjects) throws ModelInterpolationException
ModelInterpolationExceptionprivate boolean projectWasChanged(MavenProject project)
private boolean objectEquals(java.lang.Object obj1,
java.lang.Object obj2)
private void propagateNewPlugins(MavenProject project)
private void restoreDynamicProjectReferences(MavenProject project, ProjectBuilderConfiguration config, java.util.Set processedProjects) throws ModelInterpolationException
ModelInterpolationExceptionprivate void restoreBuildRoots(MavenProject project, ProjectBuilderConfiguration config, boolean debugMessages) throws ModelInterpolationException
ModelInterpolationExceptionprivate void restoreModelBuildSection(MavenProject project, ProjectBuilderConfiguration config, boolean debugMessages) throws ModelInterpolationException
ModelInterpolationExceptionprivate java.util.List interpolateListOfStrings(java.util.List originalStrings,
Model model,
java.io.File projectDir,
ProjectBuilderConfiguration config,
boolean debugMessages)
throws ModelInterpolationException
ModelInterpolationExceptionprivate java.lang.String restoreString(java.lang.String originalString,
java.lang.String originalInterpolatedString,
java.lang.String changedString,
MavenProject project,
ProjectBuilderConfiguration config,
boolean debugMessages)
throws ModelInterpolationException
ModelInterpolationExceptionprivate java.util.List restoreListOfStrings(java.util.List originalStrings,
java.util.List originalInterpolatedStrings,
java.util.List changedStrings,
MavenProject project,
ProjectBuilderConfiguration config,
boolean debugMessages)
throws ModelInterpolationException
ModelInterpolationExceptionprivate java.util.List restoreResources(java.util.List originalResources,
java.util.List originalInterpolatedResources,
java.util.List changedResources,
MavenProject project,
ProjectBuilderConfiguration config,
boolean debugMessages)
throws ModelInterpolationException
ModelInterpolationExceptionprivate java.util.List collectRestoredListOfPatterns(java.util.List patterns,
java.util.List originalPatterns,
java.util.List originalInterpolatedPatterns)