Skip to content

Commit 649053c

Browse files
authored
Warn about duplicated dependencies with different versions (#190)
1 parent 37a5bf0 commit 649053c

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

plugins/dependency-checker/src/main/java/com/freenow/sauron/plugins/elasticsearch/DependenciesModel.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.freenow.sauron.plugins.elasticsearch;
22

33
import com.fasterxml.jackson.annotation.JsonAnyGetter;
4+
import com.fasterxml.jackson.annotation.JsonIgnore;
45
import com.fasterxml.jackson.annotation.JsonInclude;
56
import com.fasterxml.jackson.core.JsonProcessingException;
67
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -10,6 +11,7 @@
1011
import com.freenow.sauron.plugins.NormalizeDependencyVersion;
1112
import com.freenow.sauron.plugins.ProjectType;
1213
import lombok.Data;
14+
import lombok.extern.slf4j.Slf4j;
1315
import org.cyclonedx.model.Component;
1416
import org.cyclonedx.model.LicenseChoice;
1517

@@ -19,12 +21,14 @@
1921
import java.util.HashSet;
2022
import java.util.List;
2123
import java.util.Map;
24+
import java.util.Objects;
2225
import java.util.Optional;
2326
import java.util.Set;
2427
import java.util.stream.Collectors;
2528

2629
import static ch.qos.logback.core.CoreConstants.EMPTY_STRING;
2730

31+
@Slf4j
2832
@Data
2933
public class DependenciesModel
3034
{
@@ -62,6 +66,8 @@ public Map<String, Object> getDependencies() {
6266
@Data
6367
private static class Dependency
6468
{
69+
@JsonIgnore
70+
private final String name;
6571
private final String version;
6672
private final String normalizedVersion;
6773
private final String license;
@@ -115,11 +121,18 @@ public static DependenciesModel from(DataSet dataSet, List<Component> dependenci
115121
String license = licenses.stream().findFirst().flatMap(l -> Optional.ofNullable(l.getId())).orElse(EMPTY_STRING);
116122

117123
return new Dependency(
124+
determineKey(projectType, dependency),
118125
version,
119126
normalizedVersion,
120127
license,
121128
licenses
122129
);
130+
},
131+
(dependency1, dependency2) -> {
132+
if (!Objects.equals(dependency1, dependency2)) {
133+
log.warn("Inconsistent duplicated dependency found: {}, {}", dependency1, dependency2);
134+
}
135+
return dependency1;
123136
}
124137
))
125138
);

0 commit comments

Comments
 (0)