@Component(role=ProjectBuilder.class) public class DefaultProjectBuilder extends java.lang.Object implements ProjectBuilder
Modifier and Type | Class and Description |
---|---|
(package private) static class |
DefaultProjectBuilder.InterimResult |
(package private) class |
DefaultProjectBuilder.InternalConfig
InternalConfig
|
Modifier and Type | Field and Description |
---|---|
private ProjectDependenciesResolver |
dependencyResolver |
private org.codehaus.plexus.logging.Logger |
logger |
private ModelBuilder |
modelBuilder |
private ModelProcessor |
modelProcessor |
private ProjectBuildingHelper |
projectBuildingHelper |
private org.eclipse.aether.impl.RemoteRepositoryManager |
repositoryManager |
private MavenRepositorySystem |
repositorySystem |
private org.eclipse.aether.RepositorySystem |
repoSystem |
Constructor and Description |
---|
DefaultProjectBuilder() |
Modifier and Type | Method and Description |
---|---|
ProjectBuildingResult |
build(Artifact artifact,
boolean allowStubModel,
ProjectBuildingRequest request)
Builds a project descriptor for the specified artifact.
|
ProjectBuildingResult |
build(Artifact artifact,
ProjectBuildingRequest request)
Builds a project descriptor for the specified artifact.
|
private ProjectBuildingResult |
build(java.io.File pomFile,
ModelSource modelSource,
DefaultProjectBuilder.InternalConfig config) |
ProjectBuildingResult |
build(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 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) |
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) |
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) |
ProjectBuildingResult |
build(ModelSource modelSource,
ProjectBuildingRequest request)
Builds a project descriptor for the specified model source.
|
private ModelSource |
createStubModelSource(Artifact artifact) |
private java.lang.String |
findProfilesXml(ModelBuildingResult result,
java.util.Map<java.io.File,java.lang.Boolean> profilesXmls) |
private ModelBuildingRequest |
getModelBuildingRequest(DefaultProjectBuilder.InternalConfig config) |
private java.util.List<java.lang.String> |
getProfileIds(java.util.List<Profile> profiles) |
private static java.lang.String |
inheritedGroupId(ModelBuildingResult result,
int modelIndex) |
private static java.lang.String |
inheritedVersion(ModelBuildingResult result,
int modelIndex) |
private void |
initProject(MavenProject project,
java.util.Map<java.lang.String,MavenProject> projects,
ModelBuildingResult result,
java.util.Map<java.io.File,java.lang.Boolean> profilesXmls,
ProjectBuildingRequest projectBuildingRequest) |
private void |
populateReactorModelPool(ReactorModelPool reactorModelPool,
java.util.List<DefaultProjectBuilder.InterimResult> interimResults) |
private DependencyResolutionResult |
resolveDependencies(MavenProject project,
org.eclipse.aether.RepositorySystemSession session) |
@Requirement private org.codehaus.plexus.logging.Logger logger
@Requirement private ModelBuilder modelBuilder
@Requirement private ModelProcessor modelProcessor
@Requirement private ProjectBuildingHelper projectBuildingHelper
@Requirement private MavenRepositorySystem repositorySystem
@Requirement private org.eclipse.aether.RepositorySystem repoSystem
@Requirement private org.eclipse.aether.impl.RemoteRepositoryManager repositoryManager
@Requirement private ProjectDependenciesResolver dependencyResolver
public ProjectBuildingResult build(java.io.File pomFile, ProjectBuildingRequest request) throws ProjectBuildingException
ProjectBuilder
build
in interface ProjectBuilder
pomFile
- The POM file to build the project from, must not be null
.request
- The project building request that holds further parameters, must not be null
.null
.ProjectBuildingException
- If the project descriptor could not be successfully built.public ProjectBuildingResult build(ModelSource modelSource, ProjectBuildingRequest request) throws ProjectBuildingException
ProjectBuilder
build
in interface ProjectBuilder
modelSource
- The source of the model to built the project descriptor from, must not be null
.request
- The project building request that holds further parameters, must not be null
.null
.ProjectBuildingException
- If the project descriptor could not be successfully built.ModelSource2
private ProjectBuildingResult build(java.io.File pomFile, ModelSource modelSource, DefaultProjectBuilder.InternalConfig config) throws ProjectBuildingException
ProjectBuildingException
private DependencyResolutionResult resolveDependencies(MavenProject project, org.eclipse.aether.RepositorySystemSession session)
private java.util.List<java.lang.String> getProfileIds(java.util.List<Profile> profiles)
private ModelBuildingRequest getModelBuildingRequest(DefaultProjectBuilder.InternalConfig config)
public ProjectBuildingResult build(Artifact artifact, ProjectBuildingRequest request) throws ProjectBuildingException
ProjectBuilder
build
in interface ProjectBuilder
artifact
- The POM artifact to build the project from, must not be null
.request
- The project building request that holds further parameters, must not be null
.null
.ProjectBuildingException
- If the project descriptor could not be successfully built.public ProjectBuildingResult build(Artifact artifact, boolean allowStubModel, ProjectBuildingRequest request) throws ProjectBuildingException
ProjectBuilder
build
in interface ProjectBuilder
artifact
- The POM artifact to build the project from, must not be null
.allowStubModel
- A flag controlling the case of a missing POM artifact. If true
and the specified
POM artifact does not exist, a simple stub model will be returned. If false
, an exception will
be thrown.request
- The project building request that holds further parameters, must not be null
.null
.ProjectBuildingException
- If the project descriptor could not be successfully built.private ModelSource createStubModelSource(Artifact artifact)
public java.util.List<ProjectBuildingResult> build(java.util.List<java.io.File> pomFiles, boolean recursive, ProjectBuildingRequest request) throws ProjectBuildingException
ProjectBuilder
build
in interface ProjectBuilder
pomFiles
- The POM files to build, must not be null
.recursive
- true
to recursively build sub modules referenced by the POM files, false
to
build only the specified POM files.request
- The project builder configuration that provides further parameters, must not be null
.null
.ProjectBuildingException
- If an error was encountered during building of any project.
ProjectBuildingException.getResults()
provides access to the details of the problems.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)
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)
private void populateReactorModelPool(ReactorModelPool reactorModelPool, java.util.List<DefaultProjectBuilder.InterimResult> interimResults)
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)
private void initProject(MavenProject project, java.util.Map<java.lang.String,MavenProject> projects, ModelBuildingResult result, java.util.Map<java.io.File,java.lang.Boolean> profilesXmls, ProjectBuildingRequest projectBuildingRequest)
private static java.lang.String inheritedGroupId(ModelBuildingResult result, int modelIndex)
private static java.lang.String inheritedVersion(ModelBuildingResult result, int modelIndex)
private java.lang.String findProfilesXml(ModelBuildingResult result, java.util.Map<java.io.File,java.lang.Boolean> profilesXmls)