Package org.apache.maven.project
Class DefaultProjectBuilder
- java.lang.Object
-
- org.apache.maven.project.DefaultProjectBuilder
-
- All Implemented Interfaces:
ProjectBuilder
@Component(role=ProjectBuilder.class) public class DefaultProjectBuilder extends java.lang.Object implements ProjectBuilder
DefaultProjectBuilder
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classDefaultProjectBuilder.InterimResult(package private) classDefaultProjectBuilder.InternalConfigInternalConfig
-
Field Summary
Fields Modifier and Type Field Description private ProjectDependenciesResolverdependencyResolverstatic java.lang.StringDISABLE_GLOBAL_MODEL_CACHE_SYSTEM_PROPERTYprivate org.codehaus.plexus.logging.Loggerloggerprivate ModelBuildermodelBuilderprivate ReactorModelCachemodelCacheprivate ModelProcessormodelProcessorprivate ProjectBuildingHelperprojectBuildingHelperprivate org.eclipse.aether.impl.RemoteRepositoryManagerrepositoryManagerprivate MavenRepositorySystemrepositorySystemprivate org.eclipse.aether.RepositorySystemrepoSystem
-
Constructor Summary
Constructors Constructor Description DefaultProjectBuilder()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private ProjectBuildingResultbuild(java.io.File pomFile, ModelSource modelSource, DefaultProjectBuilder.InternalConfig config)ProjectBuildingResultbuild(java.io.File pomFile, ProjectBuildingRequest request)Builds a project descriptor from the specified POM file.java.util.List<ProjectBuildingResult>build(java.util.List<java.io.File> pomFiles, boolean recursive, ProjectBuildingRequest request)Builds the projects for the specified POM files and optionally their children.private booleanbuild(java.util.List<ProjectBuildingResult> results, java.util.List<DefaultProjectBuilder.InterimResult> interimResults, java.util.Map<java.lang.String,MavenProject> projectIndex, java.io.File pomFile, java.util.Set<java.io.File> aggregatorFiles, boolean isRoot, boolean recursive, DefaultProjectBuilder.InternalConfig config)private booleanbuild(java.util.List<ProjectBuildingResult> results, java.util.List<DefaultProjectBuilder.InterimResult> interimResults, java.util.Map<java.lang.String,MavenProject> projectIndex, java.util.List<java.io.File> pomFiles, java.util.Set<java.io.File> aggregatorFiles, boolean isRoot, boolean recursive, DefaultProjectBuilder.InternalConfig config)private booleanbuild(java.util.List<ProjectBuildingResult> results, java.util.List<MavenProject> projects, java.util.Map<java.lang.String,MavenProject> projectIndex, java.util.List<DefaultProjectBuilder.InterimResult> interimResults, ProjectBuildingRequest request, java.util.Map<java.io.File,java.lang.Boolean> profilesXmls, org.eclipse.aether.RepositorySystemSession session)ProjectBuildingResultbuild(Artifact artifact, boolean allowStubModel, ProjectBuildingRequest request)Builds a project descriptor for the specified artifact.ProjectBuildingResultbuild(Artifact artifact, ProjectBuildingRequest request)Builds a project descriptor for the specified artifact.ProjectBuildingResultbuild(ModelSource modelSource, ProjectBuildingRequest request)Builds a project descriptor for the specified model source.private ModelSourcecreateStubModelSource(Artifact artifact)private java.lang.StringfindProfilesXml(ModelBuildingResult result, java.util.Map<java.io.File,java.lang.Boolean> profilesXmls)private ModelBuildingRequestgetModelBuildingRequest(DefaultProjectBuilder.InternalConfig config)private ReactorModelCachegetModelCache()private java.util.List<java.lang.String>getProfileIds(java.util.List<Profile> profiles)private static java.lang.StringinheritedGroupId(ModelBuildingResult result, int modelIndex)private static java.lang.StringinheritedVersion(ModelBuildingResult result, int modelIndex)private voidinitParent(MavenProject project, java.util.Map<java.lang.String,MavenProject> projects, boolean buildParentIfNotExisting, ModelBuildingResult result, ProjectBuildingRequest projectBuildingRequest)private voidinitProject(MavenProject project, java.util.Map<java.lang.String,MavenProject> projects, boolean buildParentIfNotExisting, ModelBuildingResult result, java.util.Map<java.io.File,java.lang.Boolean> profilesXmls, ProjectBuildingRequest projectBuildingRequest)private voidpopulateReactorModelPool(ReactorModelPool reactorModelPool, java.util.List<DefaultProjectBuilder.InterimResult> interimResults)private DependencyResolutionResultresolveDependencies(MavenProject project, org.eclipse.aether.RepositorySystemSession session)private booleanuseGlobalModelCache()
-
-
-
Field Detail
-
DISABLE_GLOBAL_MODEL_CACHE_SYSTEM_PROPERTY
public static final java.lang.String DISABLE_GLOBAL_MODEL_CACHE_SYSTEM_PROPERTY
- See Also:
- Constant Field Values
-
logger
@Requirement private org.codehaus.plexus.logging.Logger logger
-
modelBuilder
@Requirement private ModelBuilder modelBuilder
-
modelProcessor
@Requirement private ModelProcessor modelProcessor
-
projectBuildingHelper
@Requirement private ProjectBuildingHelper projectBuildingHelper
-
repositorySystem
@Requirement private MavenRepositorySystem repositorySystem
-
repoSystem
@Requirement private org.eclipse.aether.RepositorySystem repoSystem
-
repositoryManager
@Requirement private org.eclipse.aether.impl.RemoteRepositoryManager repositoryManager
-
dependencyResolver
@Requirement private ProjectDependenciesResolver dependencyResolver
-
modelCache
private final ReactorModelCache modelCache
-
-
Method Detail
-
build
public ProjectBuildingResult build(java.io.File pomFile, ProjectBuildingRequest request) throws ProjectBuildingException
Description copied from interface:ProjectBuilderBuilds a project descriptor from the specified POM file.- Specified by:
buildin interfaceProjectBuilder- Parameters:
pomFile- The POM file to build the project from, must not benull.request- The project building request that holds further parameters, must not benull.- Returns:
- The result of the project building, never
null. - Throws:
ProjectBuildingException- If the project descriptor could not be successfully built.
-
useGlobalModelCache
private boolean useGlobalModelCache()
-
build
public ProjectBuildingResult build(ModelSource modelSource, ProjectBuildingRequest request) throws ProjectBuildingException
Description copied from interface:ProjectBuilderBuilds a project descriptor for the specified model source.- Specified by:
buildin interfaceProjectBuilder- Parameters:
modelSource- The source of the model to built the project descriptor from, must not benull.request- The project building request that holds further parameters, must not benull.- Returns:
- The result of the project building, never
null. - Throws:
ProjectBuildingException- If the project descriptor could not be successfully built.- See Also:
ModelSource2
-
build
private ProjectBuildingResult build(java.io.File pomFile, ModelSource modelSource, DefaultProjectBuilder.InternalConfig config) throws ProjectBuildingException
- Throws:
ProjectBuildingException
-
resolveDependencies
private DependencyResolutionResult resolveDependencies(MavenProject project, org.eclipse.aether.RepositorySystemSession session)
-
getProfileIds
private java.util.List<java.lang.String> getProfileIds(java.util.List<Profile> profiles)
-
getModelBuildingRequest
private ModelBuildingRequest getModelBuildingRequest(DefaultProjectBuilder.InternalConfig config)
-
build
public ProjectBuildingResult build(Artifact artifact, ProjectBuildingRequest request) throws ProjectBuildingException
Description copied from interface:ProjectBuilderBuilds a project descriptor for the specified artifact.- Specified by:
buildin interfaceProjectBuilder- Parameters:
artifact- The POM artifact to build the project from, must not benull.request- The project building request that holds further parameters, must not benull.- Returns:
- The result of the project building, never
null. - Throws:
ProjectBuildingException- If the project descriptor could not be successfully built.
-
build
public ProjectBuildingResult build(Artifact artifact, boolean allowStubModel, ProjectBuildingRequest request) throws ProjectBuildingException
Description copied from interface:ProjectBuilderBuilds a project descriptor for the specified artifact.- Specified by:
buildin interfaceProjectBuilder- Parameters:
artifact- The POM artifact to build the project from, must not benull.allowStubModel- A flag controlling the case of a missing POM artifact. Iftrueand the specified POM artifact does not exist, a simple stub model will be returned. Iffalse, an exception will be thrown.request- The project building request that holds further parameters, must not benull.- Returns:
- The result of the project building, never
null. - Throws:
ProjectBuildingException- If the project descriptor could not be successfully built.
-
createStubModelSource
private ModelSource createStubModelSource(Artifact artifact)
-
build
public java.util.List<ProjectBuildingResult> build(java.util.List<java.io.File> pomFiles, boolean recursive, ProjectBuildingRequest request) throws ProjectBuildingException
Description copied from interface:ProjectBuilderBuilds the projects for the specified POM files and optionally their children.- Specified by:
buildin interfaceProjectBuilder- Parameters:
pomFiles- The POM files to build, must not benull.recursive-trueto recursively build sub modules referenced by the POM files,falseto build only the specified POM files.request- The project builder configuration that provides further parameters, must not benull.- Returns:
- The results of the project builder where each result corresponds to one project that was built, never
null. - Throws:
ProjectBuildingException- If an error was encountered during building of any project.ProjectBuildingException.getResults()provides access to the details of the problems.
-
build
private boolean build(java.util.List<ProjectBuildingResult> results, java.util.List<DefaultProjectBuilder.InterimResult> interimResults, java.util.Map<java.lang.String,MavenProject> projectIndex, java.util.List<java.io.File> pomFiles, java.util.Set<java.io.File> aggregatorFiles, boolean isRoot, boolean recursive, DefaultProjectBuilder.InternalConfig config)
-
build
private boolean build(java.util.List<ProjectBuildingResult> results, java.util.List<DefaultProjectBuilder.InterimResult> interimResults, java.util.Map<java.lang.String,MavenProject> projectIndex, java.io.File pomFile, java.util.Set<java.io.File> aggregatorFiles, boolean isRoot, boolean recursive, DefaultProjectBuilder.InternalConfig config)
-
populateReactorModelPool
private void populateReactorModelPool(ReactorModelPool reactorModelPool, java.util.List<DefaultProjectBuilder.InterimResult> interimResults)
-
build
private boolean build(java.util.List<ProjectBuildingResult> results, java.util.List<MavenProject> projects, java.util.Map<java.lang.String,MavenProject> projectIndex, java.util.List<DefaultProjectBuilder.InterimResult> interimResults, ProjectBuildingRequest request, java.util.Map<java.io.File,java.lang.Boolean> profilesXmls, org.eclipse.aether.RepositorySystemSession session)
-
initProject
private void initProject(MavenProject project, java.util.Map<java.lang.String,MavenProject> projects, boolean buildParentIfNotExisting, ModelBuildingResult result, java.util.Map<java.io.File,java.lang.Boolean> profilesXmls, ProjectBuildingRequest projectBuildingRequest)
-
initParent
private void initParent(MavenProject project, java.util.Map<java.lang.String,MavenProject> projects, boolean buildParentIfNotExisting, ModelBuildingResult result, ProjectBuildingRequest projectBuildingRequest)
-
inheritedGroupId
private static java.lang.String inheritedGroupId(ModelBuildingResult result, int modelIndex)
-
inheritedVersion
private static java.lang.String inheritedVersion(ModelBuildingResult result, int modelIndex)
-
findProfilesXml
private java.lang.String findProfilesXml(ModelBuildingResult result, java.util.Map<java.io.File,java.lang.Boolean> profilesXmls)
-
getModelCache
private ReactorModelCache getModelCache()
-
-