From c944076b44eb34539b05b8ee01972b5bc85fdb2d Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Fri, 18 Sep 2026 11:28:32 +0000 Subject: [PATCH] Fixes #13135: address review on reactor summary (UNKNOWN group, local StringBuilder) Port review findings from #13173 to master: - Move StringBuilder out of ReactorSummaryRequest record and allocate locally in logReactorSummaryGroup, eliminating mutable state from the data-holder. - Assign group=2 to the UNKNOWN BuildSummary branch so any future BuildSummary subclass is logged at error level last, not silently grouped with SKIPPED modules. --- .../org/apache/maven/cli/event/ExecutionEventLogger.java | 9 ++++----- .../apache/maven/cling/event/ExecutionEventLogger.java | 9 ++++----- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/compat/maven-embedder/src/main/java/org/apache/maven/cli/event/ExecutionEventLogger.java b/compat/maven-embedder/src/main/java/org/apache/maven/cli/event/ExecutionEventLogger.java index e8a87b21c909..4217d776d19d 100644 --- a/compat/maven-embedder/src/main/java/org/apache/maven/cli/event/ExecutionEventLogger.java +++ b/compat/maven-embedder/src/main/java/org/apache/maven/cli/event/ExecutionEventLogger.java @@ -222,12 +222,12 @@ private void logReactorSummary(MavenSession session) { group = 0; } else { statusMessage = unknownMessage; - group = 0; + group = 2; } entries.add(new ReactorSummaryEntry(project, buildSummary, group, statusMessage)); } - ReactorSummaryRequest request = new ReactorSummaryRequest(entries, new StringBuilder(128), isSingleVersion); + ReactorSummaryRequest request = new ReactorSummaryRequest(entries, isSingleVersion); logReactorSummaryGroup(request, 0); logReactorSummaryGroup(request, 1); @@ -235,7 +235,7 @@ private void logReactorSummary(MavenSession session) { } private void logReactorSummaryGroup(ReactorSummaryRequest request, int group) { - StringBuilder buffer = request.buffer(); + StringBuilder buffer = new StringBuilder(128); for (ReactorSummaryEntry entry : request.entries()) { if (entry.group() != group) { @@ -271,8 +271,7 @@ private void logReactorSummaryGroup(ReactorSummaryRequest request, int group) { } } - private record ReactorSummaryRequest( - List entries, StringBuilder buffer, boolean isSingleVersion) {} + private record ReactorSummaryRequest(List entries, boolean isSingleVersion) {} private record ReactorSummaryEntry( MavenProject project, BuildSummary buildSummary, int group, String statusMessage) {} diff --git a/impl/maven-cli/src/main/java/org/apache/maven/cling/event/ExecutionEventLogger.java b/impl/maven-cli/src/main/java/org/apache/maven/cling/event/ExecutionEventLogger.java index bb8cefdfff34..1168ddc5039d 100644 --- a/impl/maven-cli/src/main/java/org/apache/maven/cling/event/ExecutionEventLogger.java +++ b/impl/maven-cli/src/main/java/org/apache/maven/cling/event/ExecutionEventLogger.java @@ -227,12 +227,12 @@ private void logReactorSummary(MavenSession session) { group = 0; } else { statusMessage = unknownMessage; - group = 0; + group = 2; } entries.add(new ReactorSummaryEntry(project, buildSummary, group, statusMessage)); } - ReactorSummaryRequest request = new ReactorSummaryRequest(entries, new StringBuilder(128), isSingleVersion); + ReactorSummaryRequest request = new ReactorSummaryRequest(entries, isSingleVersion); logReactorSummaryGroup(request, 0); logReactorSummaryGroup(request, 1); @@ -240,7 +240,7 @@ private void logReactorSummary(MavenSession session) { } private void logReactorSummaryGroup(ReactorSummaryRequest request, int group) { - StringBuilder buffer = request.buffer(); + StringBuilder buffer = new StringBuilder(128); for (ReactorSummaryEntry entry : request.entries()) { if (entry.group() != group) { @@ -276,8 +276,7 @@ private void logReactorSummaryGroup(ReactorSummaryRequest request, int group) { } } - private record ReactorSummaryRequest( - List entries, StringBuilder buffer, boolean isSingleVersion) {} + private record ReactorSummaryRequest(List entries, boolean isSingleVersion) {} private record ReactorSummaryEntry( MavenProject project, BuildSummary buildSummary, int group, String statusMessage) {}