in maven-plugin/src/main/java/com/spotify/missinglink/maven/CheckMojo.java [268:365]
private Collection<Conflict> filterConflicts(
Collection<Conflict> conflicts, Set<ConflictCategory> categoriesToInclude) {
if (!categoriesToInclude.isEmpty()) {
getLog()
.debug(
"Only including conflicts from categories: "
+ Joiner.on(", ").join(categoriesToInclude));
conflicts =
filterConflictsBy(
conflicts,
c -> categoriesToInclude.contains(c.category()),
num ->
num
+ " conflicts removed based on includeCategories="
+ Joiner.on(", ").join(includeCategories)
+ ". "
+ "Run plugin again without the 'includeCategories' parameter to see "
+ "all conflicts that were found.");
}
if (!ignoreSourcePackages.isEmpty()) {
getLog().debug("Ignoring source packages: " + Joiner.on(", ").join(ignoreSourcePackages));
final Predicate<Conflict> predicate =
conflict -> !packageIsFiltered(ignoreSourcePackages, conflict.dependency().fromClass());
conflicts =
filterConflictsBy(
conflicts,
predicate,
num ->
num
+ " conflicts found in ignored source packages. "
+ "Run plugin again without the 'ignoreSourcePackages' parameter to see "
+ "all conflicts that were found.");
} else if (!targetSourcePackages.isEmpty()) {
getLog()
.debug(
"Checking for conflicts in source packages: "
+ Joiner.on(", ").join(targetSourcePackages));
final Predicate<Conflict> predicate =
conflict -> packageIsFiltered(targetSourcePackages, conflict.dependency().fromClass());
conflicts =
filterConflictsBy(
conflicts,
predicate,
num ->
num
+ " conflicts found in targeted source packages. "
+ "Run plugin again without the 'targetSourcePackages' parameter to see "
+ "all conflicts that were found.");
}
if (!ignoreDestinationPackages.isEmpty()) {
getLog()
.debug(
"Ignoring destination packages: " + Joiner.on(", ").join(ignoreDestinationPackages));
final Predicate<Conflict> predicate =
conflict ->
!packageIsFiltered(ignoreDestinationPackages, conflict.dependency().targetClass());
conflicts =
filterConflictsBy(
conflicts,
predicate,
num ->
num
+ " conflicts found in ignored destination packages. "
+ "Run plugin again without the 'ignoreDestinationPackages' parameter to see "
+ "all conflicts that were found.");
} else if (!targetDestinationPackages.isEmpty()) {
getLog()
.debug(
"Checking for conflicts in destination packages: "
+ Joiner.on(", ").join(targetDestinationPackages));
final Predicate<Conflict> predicate =
conflict ->
packageIsFiltered(targetDestinationPackages, conflict.dependency().targetClass());
conflicts =
filterConflictsBy(
conflicts,
predicate,
num ->
num
+ " conflicts found in allowed targeted packages. "
+ "Run plugin again without the 'targetDestinationPackages' parameter to see "
+ "all conflicts that were found.");
}
return conflicts;
}