mirror of https://github.com/apache/maven.git
[MNG-7646] Do not parse the whole reactor unless required by command line options (#963)
This commit is contained in:
parent
38b447b85f
commit
f77de570b7
|
@ -242,6 +242,13 @@ public class DefaultMaven implements Maven {
|
||||||
return addExceptionToResult(result, e);
|
return addExceptionToResult(result, e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
WorkspaceReader reactorReader = container.lookup(WorkspaceReader.class, ReactorReader.HINT);
|
||||||
|
repoSession.setWorkspaceReader(reactorReader);
|
||||||
|
} catch (ComponentLookupException e) {
|
||||||
|
return addExceptionToResult(result, e);
|
||||||
|
}
|
||||||
|
|
||||||
eventCatapult.fire(ExecutionEvent.Type.ProjectDiscoveryStarted, session, null);
|
eventCatapult.fire(ExecutionEvent.Type.ProjectDiscoveryStarted, session, null);
|
||||||
|
|
||||||
Result<? extends ProjectDependencyGraph> graphResult = buildGraph(session);
|
Result<? extends ProjectDependencyGraph> graphResult = buildGraph(session);
|
||||||
|
@ -332,12 +339,13 @@ public class DefaultMaven implements Maven {
|
||||||
private void setupWorkspaceReader(MavenSession session, DefaultRepositorySystemSession repoSession)
|
private void setupWorkspaceReader(MavenSession session, DefaultRepositorySystemSession repoSession)
|
||||||
throws ComponentLookupException {
|
throws ComponentLookupException {
|
||||||
// Desired order of precedence for workspace readers before querying the local artifact repositories
|
// Desired order of precedence for workspace readers before querying the local artifact repositories
|
||||||
List<WorkspaceReader> workspaceReaders = new ArrayList<WorkspaceReader>();
|
List<WorkspaceReader> workspaceReaders = new ArrayList<>();
|
||||||
// 1) Reactor workspace reader
|
// 1) Reactor workspace reader
|
||||||
workspaceReaders.add(container.lookup(WorkspaceReader.class, ReactorReader.HINT));
|
WorkspaceReader reactorReader = container.lookup(WorkspaceReader.class, ReactorReader.HINT);
|
||||||
|
workspaceReaders.add(reactorReader);
|
||||||
// 2) Repository system session-scoped workspace reader
|
// 2) Repository system session-scoped workspace reader
|
||||||
WorkspaceReader repoWorkspaceReader = repoSession.getWorkspaceReader();
|
WorkspaceReader repoWorkspaceReader = repoSession.getWorkspaceReader();
|
||||||
if (repoWorkspaceReader != null) {
|
if (repoWorkspaceReader != null && repoWorkspaceReader != reactorReader) {
|
||||||
workspaceReaders.add(repoWorkspaceReader);
|
workspaceReaders.add(repoWorkspaceReader);
|
||||||
}
|
}
|
||||||
// 3) .. n) Project-scoped workspace readers
|
// 3) .. n) Project-scoped workspace readers
|
||||||
|
|
|
@ -351,9 +351,11 @@ public class DefaultGraphBuilder implements GraphBuilder {
|
||||||
}
|
}
|
||||||
|
|
||||||
// 2. Collect projects for all modules in the multi-module project.
|
// 2. Collect projects for all modules in the multi-module project.
|
||||||
List<MavenProject> projects = multiModuleCollectionStrategy.collectProjects(request);
|
if (request.getMakeBehavior() != null || !request.getProjectActivation().isEmpty()) {
|
||||||
if (!projects.isEmpty()) {
|
List<MavenProject> projects = multiModuleCollectionStrategy.collectProjects(request);
|
||||||
return projects;
|
if (!projects.isEmpty()) {
|
||||||
|
return projects;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 3. Collect projects for explicitly requested POM.
|
// 3. Collect projects for explicitly requested POM.
|
||||||
|
|
Loading…
Reference in New Issue