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 ead9d732fdfa..e8a87b21c909 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 @@ -20,6 +20,7 @@ import java.io.File; import java.nio.file.Path; +import java.util.ArrayList; import java.util.List; import java.util.Objects; @@ -199,44 +200,53 @@ private void logReactorSummary(MavenSession session) { List projects = session.getProjects(); - StringBuilder buffer = new StringBuilder(128); - String skippedMessage = builder().warning("SKIPPED").build(); String successMessage = builder().success("SUCCESS").build(); String failureMessage = builder().failure("FAILURE").build(); String unknownMessage = builder().warning("UNKNOWN").build(); - boolean lastWasSkipped = false; + List entries = new ArrayList<>(projects.size()); for (MavenProject project : projects) { BuildSummary buildSummary = result.getBuildSummary(project); String statusMessage; - boolean shouldSkip = result.hasExceptions(); - if (buildSummary == null) { - statusMessage = skippedMessage; - } else if (buildSummary instanceof BuildSuccess) { + int group; + if (buildSummary instanceof BuildSuccess) { statusMessage = successMessage; + group = 1; } else if (buildSummary instanceof BuildFailure) { statusMessage = failureMessage; - shouldSkip = false; + group = 2; + } else if (buildSummary == null) { + statusMessage = skippedMessage; + group = 0; } else { statusMessage = unknownMessage; + group = 0; } + entries.add(new ReactorSummaryEntry(project, buildSummary, group, statusMessage)); + } + + ReactorSummaryRequest request = new ReactorSummaryRequest(entries, new StringBuilder(128), isSingleVersion); - if (shouldSkip) { - lastWasSkipped = true; + logReactorSummaryGroup(request, 0); + logReactorSummaryGroup(request, 1); + logReactorSummaryGroup(request, 2); + } + + private void logReactorSummaryGroup(ReactorSummaryRequest request, int group) { + StringBuilder buffer = request.buffer(); + + for (ReactorSummaryEntry entry : request.entries()) { + if (entry.group() != group) { continue; } - if (lastWasSkipped) { - logger.info("..."); - lastWasSkipped = false; - } - buffer.append(project.getName()); + buffer.append(entry.project().getName()); buffer.append(' '); - if (!isSingleVersion) { - buffer.append(project.getVersion()); + if (!request.isSingleVersion()) { + buffer.append(entry.project().getVersion()); buffer.append(' '); } @@ -247,20 +257,26 @@ private void logReactorSummary(MavenSession session) { buffer.append(' '); } - buffer.append(statusMessage); - if (buildSummary != null) { - formatBuildTime(buffer, buildSummary); + buffer.append(entry.statusMessage()); + if (entry.buildSummary() != null) { + formatBuildTime(buffer, entry.buildSummary()); } - logger.info(buffer.toString()); + if (entry.buildSummary() instanceof BuildFailure) { + logger.error(buffer.toString()); + } else { + logger.info(buffer.toString()); + } buffer.setLength(0); } - - if (lastWasSkipped) { - logger.info("..."); - } } + private record ReactorSummaryRequest( + List entries, StringBuilder buffer, boolean isSingleVersion) {} + + private record ReactorSummaryEntry( + MavenProject project, BuildSummary buildSummary, int group, String statusMessage) {} + private void formatBuildTime(StringBuilder buffer, BuildSummary buildSummary) { buffer.append(" ["); String buildTimeDuration = formatDuration(buildSummary.getTime()); @@ -276,12 +292,17 @@ private void logResult(MavenSession session) { infoLine('-'); MessageBuilder buffer = builder(); - if (session.getResult().hasExceptions()) { + boolean failure = session.getResult().hasExceptions(); + if (failure) { buffer.failure("BUILD FAILURE"); } else { buffer.success("BUILD SUCCESS"); } - logger.info(buffer.toString()); + if (failure) { + logger.error(buffer.toString()); + } else { + logger.info(buffer.toString()); + } } private MessageBuilder builder() { diff --git a/compat/maven-embedder/src/test/java/org/apache/maven/cli/event/ExecutionEventLoggerTest.java b/compat/maven-embedder/src/test/java/org/apache/maven/cli/event/ExecutionEventLoggerTest.java index 1f7bd60aa662..17a72222784d 100644 --- a/compat/maven-embedder/src/test/java/org/apache/maven/cli/event/ExecutionEventLoggerTest.java +++ b/compat/maven-embedder/src/test/java/org/apache/maven/cli/event/ExecutionEventLoggerTest.java @@ -343,6 +343,97 @@ void testSessionEndedSuccessMultimodule() { inOrder.verify(logger).info("------------------------------------------------------------------------"); } + @Test + void testSessionEndedSuccessWithSkippedModules() { + // prepare + MavenProject project1 = generateMavenProject("Maven Project artifact1"); + MavenProject project2 = generateMavenProject("Maven Project artifact2"); + MavenProject project3 = generateMavenProject("Maven Project artifact3"); + + MavenExecutionResult executionResult = new DefaultMavenExecutionResult(); + executionResult.addBuildSummary(new BuildSuccess(project1, 1000)); + executionResult.addBuildSummary(new BuildSuccess(project3, 3000)); + + MavenExecutionRequest executionRequest = new DefaultMavenExecutionRequest(); + + ProjectDependencyGraph projectDependencyGraph = mock(ProjectDependencyGraph.class); + when(projectDependencyGraph.getSortedProjects()).thenReturn(Arrays.asList(project1, project2, project3)); + + MavenSession mavenSession = mock(MavenSession.class); + when(mavenSession.getResult()).thenReturn(executionResult); + when(mavenSession.getRequest()).thenReturn(executionRequest); + when(mavenSession.getProjects()).thenReturn(Arrays.asList(project1, project2, project3)); + when(mavenSession.getTopLevelProject()).thenReturn(project1); + when(mavenSession.getProjectDependencyGraph()).thenReturn(projectDependencyGraph); + + ExecutionEvent event = mock(ExecutionEvent.class); + when(event.getSession()).thenReturn(mavenSession); + + // execute + executionEventLogger.sessionEnded(event); + + // verify + InOrder inOrder = inOrder(logger); + inOrder.verify(logger).info("------------------------------------------------------------------------"); + inOrder.verify(logger).info("Reactor Summary for Maven Project artifact1 3.5.4-SNAPSHOT:"); + inOrder.verify(logger).info(""); + inOrder.verify(logger).info("Maven Project artifact2 ............................ SKIPPED"); + inOrder.verify(logger).info("Maven Project artifact1 ............................ SUCCESS [ 1.000 s]"); + inOrder.verify(logger).info("Maven Project artifact3 ............................ SUCCESS [ 3.000 s]"); + inOrder.verify(logger).info("------------------------------------------------------------------------"); + inOrder.verify(logger).info("BUILD SUCCESS"); + inOrder.verify(logger).info("------------------------------------------------------------------------"); + inOrder.verify(logger).info(eq("Total time: {}{}"), anyString(), anyString()); + inOrder.verify(logger).info(eq("Finished at: {}"), anyString()); + inOrder.verify(logger).info("------------------------------------------------------------------------"); + } + + @Test + void testSessionEndedFailureMixedWithSkippedModules() { + // prepare + MavenProject project1 = generateMavenProject("Maven Project artifact1"); + MavenProject project2 = generateMavenProject("Maven Project artifact2"); + MavenProject project3 = generateMavenProject("Maven Project artifact3"); + + MavenExecutionResult executionResult = new DefaultMavenExecutionResult(); + executionResult.addBuildSummary(new BuildSuccess(project1, 1000)); + executionResult.addBuildSummary(new BuildSuccess(project3, 3000)); + executionResult.addException(new Exception("Failure")); + + MavenExecutionRequest executionRequest = new DefaultMavenExecutionRequest(); + + ProjectDependencyGraph projectDependencyGraph = mock(ProjectDependencyGraph.class); + when(projectDependencyGraph.getSortedProjects()).thenReturn(Arrays.asList(project1, project2, project3)); + + MavenSession mavenSession = mock(MavenSession.class); + when(mavenSession.getResult()).thenReturn(executionResult); + when(mavenSession.getRequest()).thenReturn(executionRequest); + when(mavenSession.getProjects()).thenReturn(Arrays.asList(project1, project2, project3)); + when(mavenSession.getTopLevelProject()).thenReturn(project1); + when(mavenSession.getProjectDependencyGraph()).thenReturn(projectDependencyGraph); + + ExecutionEvent event = mock(ExecutionEvent.class); + when(event.getSession()).thenReturn(mavenSession); + + // execute + executionEventLogger.sessionEnded(event); + + // verify + InOrder inOrder = inOrder(logger); + inOrder.verify(logger).info("------------------------------------------------------------------------"); + inOrder.verify(logger).info("Reactor Summary for Maven Project artifact1 3.5.4-SNAPSHOT:"); + inOrder.verify(logger).info(""); + inOrder.verify(logger).info("Maven Project artifact2 ............................ SKIPPED"); + inOrder.verify(logger).info("Maven Project artifact1 ............................ SUCCESS [ 1.000 s]"); + inOrder.verify(logger).info("Maven Project artifact3 ............................ SUCCESS [ 3.000 s]"); + inOrder.verify(logger).info("------------------------------------------------------------------------"); + inOrder.verify(logger).error("BUILD FAILURE"); + inOrder.verify(logger).info("------------------------------------------------------------------------"); + inOrder.verify(logger).info(eq("Total time: {}{}"), anyString(), anyString()); + inOrder.verify(logger).info(eq("Finished at: {}"), anyString()); + inOrder.verify(logger).info("------------------------------------------------------------------------"); + } + @Test void testSessionEndedFailureMultimodule() { // prepare @@ -379,11 +470,11 @@ void testSessionEndedFailureMultimodule() { inOrder.verify(logger).info("------------------------------------------------------------------------"); inOrder.verify(logger).info("Reactor Summary for Maven Project artifact1 3.5.4-SNAPSHOT:"); inOrder.verify(logger).info(""); - inOrder.verify(logger).info("..."); - inOrder.verify(logger).info("Maven Project artifact2 ............................ FAILURE [ 2.000 s]"); - inOrder.verify(logger).info("..."); + inOrder.verify(logger).info("Maven Project artifact3 ............................ SKIPPED"); + inOrder.verify(logger).info("Maven Project artifact1 ............................ SUCCESS [ 1.000 s]"); + inOrder.verify(logger).error("Maven Project artifact2 ............................ FAILURE [ 2.000 s]"); inOrder.verify(logger).info("------------------------------------------------------------------------"); - inOrder.verify(logger).info("BUILD FAILURE"); + inOrder.verify(logger).error("BUILD FAILURE"); inOrder.verify(logger).info("------------------------------------------------------------------------"); inOrder.verify(logger).info(eq("Total time: {}{}"), anyString(), anyString()); inOrder.verify(logger).info(eq("Finished at: {}"), anyString()); @@ -434,13 +525,14 @@ void testSessionEndedFailureMultimoduleWithSeparatedFailures() { inOrder.verify(logger).info("------------------------------------------------------------------------"); inOrder.verify(logger).info("Reactor Summary for Maven Project artifact1 3.5.4-SNAPSHOT:"); inOrder.verify(logger).info(""); - inOrder.verify(logger).info("..."); - inOrder.verify(logger).info("Maven Project artifact2 ............................ FAILURE [ 2.000 s]"); - inOrder.verify(logger).info("..."); - inOrder.verify(logger).info("Maven Project artifact5 ............................ FAILURE [ 5.000 s]"); - inOrder.verify(logger).info("..."); + inOrder.verify(logger).info("Maven Project artifact6 ............................ SKIPPED"); + inOrder.verify(logger).info("Maven Project artifact1 ............................ SUCCESS [ 1.000 s]"); + inOrder.verify(logger).info("Maven Project artifact3 ............................ SUCCESS [ 3.000 s]"); + inOrder.verify(logger).info("Maven Project artifact4 ............................ SUCCESS [ 4.000 s]"); + inOrder.verify(logger).error("Maven Project artifact2 ............................ FAILURE [ 2.000 s]"); + inOrder.verify(logger).error("Maven Project artifact5 ............................ FAILURE [ 5.000 s]"); inOrder.verify(logger).info("------------------------------------------------------------------------"); - inOrder.verify(logger).info("BUILD FAILURE"); + inOrder.verify(logger).error("BUILD FAILURE"); inOrder.verify(logger).info("------------------------------------------------------------------------"); inOrder.verify(logger).info(eq("Total time: {}{}"), anyString(), anyString()); inOrder.verify(logger).info(eq("Finished at: {}"), anyString()); 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 b33cb1f6543e..bb8cefdfff34 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 @@ -25,6 +25,7 @@ import java.time.ZoneId; import java.time.ZonedDateTime; import java.time.temporal.ChronoUnit; +import java.util.ArrayList; import java.util.List; import java.util.Objects; @@ -204,44 +205,53 @@ private void logReactorSummary(MavenSession session) { List projects = session.getProjects(); - StringBuilder buffer = new StringBuilder(128); - String skippedMessage = builder().warning("SKIPPED").build(); String successMessage = builder().success("SUCCESS").build(); String failureMessage = builder().failure("FAILURE").build(); String unknownMessage = builder().warning("UNKNOWN").build(); - boolean lastWasSkipped = false; + List entries = new ArrayList<>(projects.size()); for (MavenProject project : projects) { BuildSummary buildSummary = result.getBuildSummary(project); String statusMessage; - boolean shouldSkip = result.hasExceptions(); - if (buildSummary == null) { - statusMessage = skippedMessage; - } else if (buildSummary instanceof BuildSuccess) { + int group; + if (buildSummary instanceof BuildSuccess) { statusMessage = successMessage; + group = 1; } else if (buildSummary instanceof BuildFailure) { statusMessage = failureMessage; - shouldSkip = false; + group = 2; + } else if (buildSummary == null) { + statusMessage = skippedMessage; + group = 0; } else { statusMessage = unknownMessage; + group = 0; } + entries.add(new ReactorSummaryEntry(project, buildSummary, group, statusMessage)); + } + + ReactorSummaryRequest request = new ReactorSummaryRequest(entries, new StringBuilder(128), isSingleVersion); - if (shouldSkip) { - lastWasSkipped = true; + logReactorSummaryGroup(request, 0); + logReactorSummaryGroup(request, 1); + logReactorSummaryGroup(request, 2); + } + + private void logReactorSummaryGroup(ReactorSummaryRequest request, int group) { + StringBuilder buffer = request.buffer(); + + for (ReactorSummaryEntry entry : request.entries()) { + if (entry.group() != group) { continue; } - if (lastWasSkipped) { - logger.info("..."); - lastWasSkipped = false; - } - buffer.append(project.getName()); + buffer.append(entry.project().getName()); buffer.append(' '); - if (!isSingleVersion) { - buffer.append(project.getVersion()); + if (!request.isSingleVersion()) { + buffer.append(entry.project().getVersion()); buffer.append(' '); } @@ -252,20 +262,26 @@ private void logReactorSummary(MavenSession session) { buffer.append(' '); } - buffer.append(statusMessage); - if (buildSummary != null) { - formatBuildTime(buffer, buildSummary); + buffer.append(entry.statusMessage()); + if (entry.buildSummary() != null) { + formatBuildTime(buffer, entry.buildSummary()); } - logger.info(buffer.toString()); + if (entry.buildSummary() instanceof BuildFailure) { + logger.error(buffer.toString()); + } else { + logger.info(buffer.toString()); + } buffer.setLength(0); } - - if (lastWasSkipped) { - logger.info("..."); - } } + private record ReactorSummaryRequest( + List entries, StringBuilder buffer, boolean isSingleVersion) {} + + private record ReactorSummaryEntry( + MavenProject project, BuildSummary buildSummary, int group, String statusMessage) {} + private void formatBuildTime(StringBuilder buffer, BuildSummary buildSummary) { buffer.append(" ["); String buildTimeDuration = formatDuration(buildSummary.getExecTime()); @@ -281,12 +297,17 @@ private void logResult(MavenSession session) { infoLine('-'); MessageBuilder buffer = builder(); - if (session.getResult().hasExceptions()) { + boolean failure = session.getResult().hasExceptions(); + if (failure) { buffer.failure("BUILD FAILURE"); } else { buffer.success("BUILD SUCCESS"); } - logger.info(buffer.toString()); + if (failure) { + logger.error(buffer.toString()); + } else { + logger.info(buffer.toString()); + } } private MessageBuilder builder() { diff --git a/impl/maven-cli/src/test/java/org/apache/maven/cling/event/ExecutionEventLoggerTest.java b/impl/maven-cli/src/test/java/org/apache/maven/cling/event/ExecutionEventLoggerTest.java index 4ef45d6b3556..bf863990283c 100644 --- a/impl/maven-cli/src/test/java/org/apache/maven/cling/event/ExecutionEventLoggerTest.java +++ b/impl/maven-cli/src/test/java/org/apache/maven/cling/event/ExecutionEventLoggerTest.java @@ -343,6 +343,97 @@ void testSessionEndedSuccessMultimodule() { inOrder.verify(logger).info("------------------------------------------------------------------------"); } + @Test + void testSessionEndedSuccessWithSkippedModules() { + // prepare + MavenProject project1 = generateMavenProject("Maven Project artifact1"); + MavenProject project2 = generateMavenProject("Maven Project artifact2"); + MavenProject project3 = generateMavenProject("Maven Project artifact3"); + + MavenExecutionResult executionResult = new DefaultMavenExecutionResult(); + executionResult.addBuildSummary(new BuildSuccess(project1, 1000)); + executionResult.addBuildSummary(new BuildSuccess(project3, 3000)); + + MavenExecutionRequest executionRequest = new DefaultMavenExecutionRequest(); + + ProjectDependencyGraph projectDependencyGraph = mock(ProjectDependencyGraph.class); + when(projectDependencyGraph.getSortedProjects()).thenReturn(Arrays.asList(project1, project2, project3)); + + MavenSession mavenSession = mock(MavenSession.class); + when(mavenSession.getResult()).thenReturn(executionResult); + when(mavenSession.getRequest()).thenReturn(executionRequest); + when(mavenSession.getProjects()).thenReturn(Arrays.asList(project1, project2, project3)); + when(mavenSession.getTopLevelProject()).thenReturn(project1); + when(mavenSession.getProjectDependencyGraph()).thenReturn(projectDependencyGraph); + + ExecutionEvent event = mock(ExecutionEvent.class); + when(event.getSession()).thenReturn(mavenSession); + + // execute + executionEventLogger.sessionEnded(event); + + // verify + InOrder inOrder = inOrder(logger); + inOrder.verify(logger).info("------------------------------------------------------------------------"); + inOrder.verify(logger).info("Reactor Summary for Maven Project artifact1 3.5.4-SNAPSHOT:"); + inOrder.verify(logger).info(""); + inOrder.verify(logger).info("Maven Project artifact2 ............................ SKIPPED"); + inOrder.verify(logger).info("Maven Project artifact1 ............................ SUCCESS [ 1.000 s]"); + inOrder.verify(logger).info("Maven Project artifact3 ............................ SUCCESS [ 3.000 s]"); + inOrder.verify(logger).info("------------------------------------------------------------------------"); + inOrder.verify(logger).info("BUILD SUCCESS"); + inOrder.verify(logger).info("------------------------------------------------------------------------"); + inOrder.verify(logger).info(eq("Total time: {}{}"), anyString(), anyString()); + inOrder.verify(logger).info(eq("Finished at: {}"), anyString()); + inOrder.verify(logger).info("------------------------------------------------------------------------"); + } + + @Test + void testSessionEndedFailureMixedWithSkippedModules() { + // prepare + MavenProject project1 = generateMavenProject("Maven Project artifact1"); + MavenProject project2 = generateMavenProject("Maven Project artifact2"); + MavenProject project3 = generateMavenProject("Maven Project artifact3"); + + MavenExecutionResult executionResult = new DefaultMavenExecutionResult(); + executionResult.addBuildSummary(new BuildSuccess(project1, 1000)); + executionResult.addBuildSummary(new BuildSuccess(project3, 3000)); + executionResult.addException(new Exception("Failure")); + + MavenExecutionRequest executionRequest = new DefaultMavenExecutionRequest(); + + ProjectDependencyGraph projectDependencyGraph = mock(ProjectDependencyGraph.class); + when(projectDependencyGraph.getSortedProjects()).thenReturn(Arrays.asList(project1, project2, project3)); + + MavenSession mavenSession = mock(MavenSession.class); + when(mavenSession.getResult()).thenReturn(executionResult); + when(mavenSession.getRequest()).thenReturn(executionRequest); + when(mavenSession.getProjects()).thenReturn(Arrays.asList(project1, project2, project3)); + when(mavenSession.getTopLevelProject()).thenReturn(project1); + when(mavenSession.getProjectDependencyGraph()).thenReturn(projectDependencyGraph); + + ExecutionEvent event = mock(ExecutionEvent.class); + when(event.getSession()).thenReturn(mavenSession); + + // execute + executionEventLogger.sessionEnded(event); + + // verify + InOrder inOrder = inOrder(logger); + inOrder.verify(logger).info("------------------------------------------------------------------------"); + inOrder.verify(logger).info("Reactor Summary for Maven Project artifact1 3.5.4-SNAPSHOT:"); + inOrder.verify(logger).info(""); + inOrder.verify(logger).info("Maven Project artifact2 ............................ SKIPPED"); + inOrder.verify(logger).info("Maven Project artifact1 ............................ SUCCESS [ 1.000 s]"); + inOrder.verify(logger).info("Maven Project artifact3 ............................ SUCCESS [ 3.000 s]"); + inOrder.verify(logger).info("------------------------------------------------------------------------"); + inOrder.verify(logger).error("BUILD FAILURE"); + inOrder.verify(logger).info("------------------------------------------------------------------------"); + inOrder.verify(logger).info(eq("Total time: {}{}"), anyString(), anyString()); + inOrder.verify(logger).info(eq("Finished at: {}"), anyString()); + inOrder.verify(logger).info("------------------------------------------------------------------------"); + } + @Test void testSessionEndedFailureMultimodule() { // prepare @@ -379,11 +470,11 @@ void testSessionEndedFailureMultimodule() { inOrder.verify(logger).info("------------------------------------------------------------------------"); inOrder.verify(logger).info("Reactor Summary for Maven Project artifact1 3.5.4-SNAPSHOT:"); inOrder.verify(logger).info(""); - inOrder.verify(logger).info("..."); - inOrder.verify(logger).info("Maven Project artifact2 ............................ FAILURE [ 2.000 s]"); - inOrder.verify(logger).info("..."); + inOrder.verify(logger).info("Maven Project artifact3 ............................ SKIPPED"); + inOrder.verify(logger).info("Maven Project artifact1 ............................ SUCCESS [ 1.000 s]"); + inOrder.verify(logger).error("Maven Project artifact2 ............................ FAILURE [ 2.000 s]"); inOrder.verify(logger).info("------------------------------------------------------------------------"); - inOrder.verify(logger).info("BUILD FAILURE"); + inOrder.verify(logger).error("BUILD FAILURE"); inOrder.verify(logger).info("------------------------------------------------------------------------"); inOrder.verify(logger).info(eq("Total time: {}{}"), anyString(), anyString()); inOrder.verify(logger).info(eq("Finished at: {}"), anyString()); @@ -434,13 +525,14 @@ void testSessionEndedFailureMultimoduleWithSeparatedFailures() { inOrder.verify(logger).info("------------------------------------------------------------------------"); inOrder.verify(logger).info("Reactor Summary for Maven Project artifact1 3.5.4-SNAPSHOT:"); inOrder.verify(logger).info(""); - inOrder.verify(logger).info("..."); - inOrder.verify(logger).info("Maven Project artifact2 ............................ FAILURE [ 2.000 s]"); - inOrder.verify(logger).info("..."); - inOrder.verify(logger).info("Maven Project artifact5 ............................ FAILURE [ 5.000 s]"); - inOrder.verify(logger).info("..."); + inOrder.verify(logger).info("Maven Project artifact6 ............................ SKIPPED"); + inOrder.verify(logger).info("Maven Project artifact1 ............................ SUCCESS [ 1.000 s]"); + inOrder.verify(logger).info("Maven Project artifact3 ............................ SUCCESS [ 3.000 s]"); + inOrder.verify(logger).info("Maven Project artifact4 ............................ SUCCESS [ 4.000 s]"); + inOrder.verify(logger).error("Maven Project artifact2 ............................ FAILURE [ 2.000 s]"); + inOrder.verify(logger).error("Maven Project artifact5 ............................ FAILURE [ 5.000 s]"); inOrder.verify(logger).info("------------------------------------------------------------------------"); - inOrder.verify(logger).info("BUILD FAILURE"); + inOrder.verify(logger).error("BUILD FAILURE"); inOrder.verify(logger).info("------------------------------------------------------------------------"); inOrder.verify(logger).info(eq("Total time: {}{}"), anyString(), anyString()); inOrder.verify(logger).info(eq("Finished at: {}"), anyString()); diff --git a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng7967ArtifactHandlerLanguageTest.java b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng7967ArtifactHandlerLanguageTest.java index fd59efa1d612..77f951438109 100644 --- a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng7967ArtifactHandlerLanguageTest.java +++ b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng7967ArtifactHandlerLanguageTest.java @@ -57,7 +57,7 @@ void javadocIsExecutedAndFailed() throws Exception { verifyTextNotInLog(logs, "[INFO] Not executing Javadoc as the project is not a Java classpath-capable package"); // javadoc invocation should actually fail the build - verifyTextInLog(logs, "[INFO] BUILD FAILURE"); + verifyTextInLog(logs, "[ERROR] BUILD FAILURE"); // javadoc invocation should actually fail the build verifyTextInLog(logs, "[ERROR] Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin");