Skip to content

Commit

Permalink
Show only one problem for a given package if not in verbose mode
Browse files Browse the repository at this point in the history
(cherry picked from commit a3868f8)
  • Loading branch information
laeubi committed Jan 23, 2025
1 parent 111def2 commit 20a7092
Showing 1 changed file with 9 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -244,12 +244,13 @@ public void execute() throws MojoExecutionException, MojoFailureException {
}
}
}
dependencyProblems.add(new DependencyVersionProblem(String.format(
dependencyProblems.add(new DependencyVersionProblem(packageName + "_" + version, String
.format(
"Import-Package `%s %s` (compiled against `%s` provided by `%s %s`) includes `%s` (provided by `%s`) but this version is missing the method `%s#%s`",
packageName, packageVersion,
matchedPackageVersion.orElse(org.eclipse.equinox.p2.metadata.Version.emptyVersion)
.toString(),
unit.getId(), unit.getVersion(), v.getVersion(), v.getProvider(), mthd.className(),
unit.getId(), unit.getVersion(), version, v.getProvider(), mthd.className(),
getMethodRef(mthd)), references.get(mthd), provided));
ok = false;
packageWithError.add(packageName);
Expand All @@ -276,7 +277,12 @@ public void execute() throws MojoExecutionException, MojoFailureException {
applyLowerBounds(packageWithError, lowestPackageVersion);
}
MarkdownBuilder results = new MarkdownBuilder(reportFileName);
Set<String> keys = new HashSet<>();
for (DependencyVersionProblem problem : dependencyProblems) {
if (!verbose && !keys.add(problem.key())) {
// we have already reported one problem in this category
continue;
}
Collection<String> references = problem.references();
String message;
if (references == null || references.isEmpty()) {
Expand Down Expand Up @@ -399,7 +405,7 @@ private JrtClasses getJRTClassResolver() {
return new JrtClasses(null);
}

private static record DependencyVersionProblem(String message, Collection<String> references,
private static record DependencyVersionProblem(String key, String message, Collection<String> references,
List<MethodSignature> provided) {

}
Expand Down

0 comments on commit 20a7092

Please sign in to comment.