From 528cea3ad95887fd465dad23e496f6e41dbeb7ab Mon Sep 17 00:00:00 2001 From: Andrey Bruykhov Date: Mon, 13 Feb 2023 22:46:54 +0300 Subject: [PATCH] Using Set<>() for contains() This closes #998 --- .../src/main/java/org/apache/maven/DefaultMaven.java | 11 +++-------- .../src/main/java/org/apache/maven/ReactorReader.java | 6 ++++-- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/maven-core/src/main/java/org/apache/maven/DefaultMaven.java b/maven-core/src/main/java/org/apache/maven/DefaultMaven.java index 0e019d181290..f4e3559b52b1 100644 --- a/maven-core/src/main/java/org/apache/maven/DefaultMaven.java +++ b/maven-core/src/main/java/org/apache/maven/DefaultMaven.java @@ -29,6 +29,7 @@ import java.util.LinkedHashSet; import java.util.List; import java.util.Map; +import java.util.Set; import org.apache.maven.artifact.ArtifactUtils; import org.apache.maven.execution.DefaultMavenExecutionResult; @@ -280,7 +281,7 @@ private MavenExecutionResult doExecute( private void setupWorkspaceReader(MavenSession session, DefaultRepositorySystemSession repoSession) throws ComponentLookupException { // Desired order of precedence for workspace readers before querying the local artifact repositories - List workspaceReaders = new ArrayList(); + Set workspaceReaders = new LinkedHashSet<>(); // 1) Reactor workspace reader workspaceReaders.add(container.lookup(WorkspaceReader.class, ReactorReader.HINT)); // 2) Repository system session-scoped workspace reader @@ -289,13 +290,7 @@ private void setupWorkspaceReader(MavenSession session, DefaultRepositorySystemS workspaceReaders.add(repoWorkspaceReader); } // 3) .. n) Project-scoped workspace readers - for (WorkspaceReader workspaceReader : - getProjectScopedExtensionComponents(session.getProjects(), WorkspaceReader.class)) { - if (workspaceReaders.contains(workspaceReader)) { - continue; - } - workspaceReaders.add(workspaceReader); - } + workspaceReaders.addAll(getProjectScopedExtensionComponents(session.getProjects(), WorkspaceReader.class)); repoSession.setWorkspaceReader(MavenChainedWorkspaceReader.of(workspaceReaders)); } diff --git a/maven-core/src/main/java/org/apache/maven/ReactorReader.java b/maven-core/src/main/java/org/apache/maven/ReactorReader.java index d7be04a9950b..2a3ac7dfcab5 100644 --- a/maven-core/src/main/java/org/apache/maven/ReactorReader.java +++ b/maven-core/src/main/java/org/apache/maven/ReactorReader.java @@ -58,8 +58,10 @@ class ReactorReader implements MavenWorkspaceReader { public static final String HINT = "reactor"; - private static final Collection COMPILE_PHASE_TYPES = - Arrays.asList("jar", "ejb-client", "war", "rar", "ejb3", "par", "sar", "wsr", "har", "app-client"); + public static final String PROJECT_LOCAL_REPO = "project-local-repo"; + + private static final Collection COMPILE_PHASE_TYPES = new HashSet<>( + Arrays.asList("jar", "ejb-client", "war", "rar", "ejb3", "par", "sar", "wsr", "har", "app-client")); private final MavenSession session; private final Map projectsByGAV;