Using Set<>() for contains()

This closes #998
This commit is contained in:
Andrey Bruykhov 2023-02-13 22:46:54 +03:00 committed by Michael Osipov
parent 366e3f5f86
commit 528cea3ad9
2 changed files with 7 additions and 10 deletions

View File

@ -29,6 +29,7 @@ import java.util.LinkedHashMap;
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 @@ public class DefaultMaven implements Maven {
private void setupWorkspaceReader(MavenSession session, DefaultRepositorySystemSession repoSession)
throws ComponentLookupException {
// Desired order of precedence for workspace readers before querying the local artifact repositories
List<WorkspaceReader> workspaceReaders = new ArrayList<WorkspaceReader>();
Set<WorkspaceReader> 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 @@ public class DefaultMaven implements Maven {
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));
}

View File

@ -58,8 +58,10 @@ import static java.util.stream.Collectors.toMap;
class ReactorReader implements MavenWorkspaceReader {
public static final String HINT = "reactor";
private static final Collection<String> 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<String> 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<String, MavenProject> projectsByGAV;