|
20 | 20 |
|
21 | 21 | import java.io.IOException;
|
22 | 22 | import java.io.Reader;
|
23 |
| -import java.util.ArrayList; |
24 | 23 | import java.util.Collections;
|
| 24 | +import java.util.HashSet; |
25 | 25 | import java.util.Iterator;
|
26 | 26 | import java.util.LinkedHashSet;
|
27 | 27 | import java.util.List;
|
28 | 28 | import java.util.Set;
|
| 29 | +import java.util.stream.Collectors; |
29 | 30 |
|
30 |
| -import org.apache.commons.collections4.CollectionUtils; |
31 | 31 | import org.apache.maven.model.Dependency;
|
32 | 32 | import org.apache.maven.model.Model;
|
33 | 33 | import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
|
@@ -131,14 +131,11 @@ private void createMessage(
|
131 | 131 | }
|
132 | 132 |
|
133 | 133 | private Set<String> findDuplicateDependencies(List<Dependency> modelDependencies) {
|
134 |
| - List<String> modelDependencies2 = new ArrayList<>(); |
135 |
| - for (Dependency dep : modelDependencies) { |
136 |
| - modelDependencies2.add(dep.getManagementKey()); |
137 |
| - } |
138 |
| - |
139 |
| - // @formatter:off |
140 |
| - return new LinkedHashSet<>( |
141 |
| - CollectionUtils.disjunction(modelDependencies2, new LinkedHashSet<>(modelDependencies2))); |
142 |
| - // @formatter:on |
| 134 | + List<String> modelDependencies2 = |
| 135 | + modelDependencies.stream().map(Dependency::getManagementKey).collect(Collectors.toList()); |
| 136 | + // remove one instance of each element from the list |
| 137 | + modelDependencies2.removeIf(new HashSet<>(modelDependencies2)::remove); |
| 138 | + // keep a single instance of each duplicate |
| 139 | + return new LinkedHashSet<>(modelDependencies2); |
143 | 140 | }
|
144 | 141 | }
|
0 commit comments