|
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