From c8b3fbddf3ab2ec9c8eb8c9e18b36cd3831ead61 Mon Sep 17 00:00:00 2001 From: Henrik Albers Kronborg Date: Tue, 25 Aug 2020 07:52:16 +0200 Subject: [PATCH] [MINVOKER-269] add 'quiet' flag Allow for using the -q (--quiet) flag in Maven invocations --- .../invoker/DefaultInvocationRequest.java | 19 +++++++++++++++++++ .../shared/invoker/InvocationRequest.java | 17 +++++++++++++++++ .../invoker/MavenCommandLineBuilder.java | 5 +++++ .../invoker/MavenCommandLineBuilderTest.java | 9 +++++++++ 4 files changed, 50 insertions(+) diff --git a/src/main/java/org/apache/maven/shared/invoker/DefaultInvocationRequest.java b/src/main/java/org/apache/maven/shared/invoker/DefaultInvocationRequest.java index 0b71906..c2b0bf4 100644 --- a/src/main/java/org/apache/maven/shared/invoker/DefaultInvocationRequest.java +++ b/src/main/java/org/apache/maven/shared/invoker/DefaultInvocationRequest.java @@ -105,6 +105,8 @@ public class DefaultInvocationRequest private int timeoutInSeconds = NO_TIMEOUT; + private boolean quiet; + public File getBaseDirectory() { return basedir; @@ -597,4 +599,21 @@ public void setTimeoutInSeconds( int timeoutInSeconds ) { this.timeoutInSeconds = timeoutInSeconds; } + + /** + * {@inheritDoc} + */ + public boolean isQuiet() + { + return quiet; + } + + /** + * {@inheritDoc} + */ + public InvocationRequest setQuiet( boolean quiet ) + { + this.quiet = quiet; + return this; + } } diff --git a/src/main/java/org/apache/maven/shared/invoker/InvocationRequest.java b/src/main/java/org/apache/maven/shared/invoker/InvocationRequest.java index d867331..2136e10 100644 --- a/src/main/java/org/apache/maven/shared/invoker/InvocationRequest.java +++ b/src/main/java/org/apache/maven/shared/invoker/InvocationRequest.java @@ -310,6 +310,14 @@ public interface InvocationRequest */ String getThreads(); + /** + * Gets the quiet mode of the Maven invocation. By default, Maven is executed in normal mode. + * + * @return true if Maven should be executed in quiet mode, false if normal mode should + * be used. + */ + boolean isQuiet(); + // ---------------------------------------------------------------------- // Reactor Failure Mode // ---------------------------------------------------------------------- @@ -717,6 +725,15 @@ enum CheckSumPolicy */ InvocationRequest setBuilder( String id ); + /** + * Sets the quiet mode of the Maven invocation. Equivalent of {@code -q} and {@code --quiet} + * + * @param quiet true if Maven should be executed in quiet mode, false if the normal mode + * should be used. + * @return This invocation request. + */ + InvocationRequest setQuiet( boolean quiet ); + /** * Get the current set builder strategy id equivalent of {@code --builder id}. Note. This is available since * Maven 3.2.1 diff --git a/src/main/java/org/apache/maven/shared/invoker/MavenCommandLineBuilder.java b/src/main/java/org/apache/maven/shared/invoker/MavenCommandLineBuilder.java index 57021a0..896848b 100644 --- a/src/main/java/org/apache/maven/shared/invoker/MavenCommandLineBuilder.java +++ b/src/main/java/org/apache/maven/shared/invoker/MavenCommandLineBuilder.java @@ -505,6 +505,11 @@ else if ( CheckSumPolicy.Warn.equals( checksumPolicy ) ) { cli.createArg().setValue( request.getBuilder() ); } + + if ( request.isQuiet() ) + { + cli.createArg().setValue( "-q" ); + } } protected void setThreads( InvocationRequest request, Commandline cli ) diff --git a/src/test/java/org/apache/maven/shared/invoker/MavenCommandLineBuilderTest.java b/src/test/java/org/apache/maven/shared/invoker/MavenCommandLineBuilderTest.java index f9e29bb..fb49c7f 100644 --- a/src/test/java/org/apache/maven/shared/invoker/MavenCommandLineBuilderTest.java +++ b/src/test/java/org/apache/maven/shared/invoker/MavenCommandLineBuilderTest.java @@ -316,6 +316,15 @@ public void testShouldSetErrorFlagFromRequest() assertArgumentsPresent( cli, Collections.singleton( "-e" ) ); } + @Test + public void testShouldSetQuietFlagFromRequest() + { + + tcb.setFlags( newRequest().setQuiet( true ), cli ); + + assertArgumentsPresent( cli, Collections.singleton( "-q" )); + } + @Test public void testDebugOptionShouldMaskShowErrorsOption() {