You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sj...@apache.org on 2022/02/26 13:49:23 UTC

[maven-invoker] 01/01: [MSHARED-1018] Allow for using the -ntp , --no-transfer-progress flag in Maven invocations

This is an automated email from the ASF dual-hosted git repository.

sjaranowski pushed a commit to branch MSHARED-1018
in repository https://gitbox.apache.org/repos/asf/maven-invoker.git

commit 9579f6e233e83c755f11cc87d1deaf465e80fa3f
Author: Slawomir Jaranowski <s....@gmail.com>
AuthorDate: Sat Feb 26 14:48:26 2022 +0100

    [MSHARED-1018] Allow for using the -ntp ,--no-transfer-progress flag in Maven invocations
---
 .../maven/shared/invoker/DefaultInvocationRequest.java   | 15 +++++++++++++++
 .../apache/maven/shared/invoker/InvocationRequest.java   | 16 ++++++++++++++++
 .../maven/shared/invoker/MavenCommandLineBuilder.java    |  5 +++++
 src/site/apt/index.apt.vm                                |  4 ++++
 .../shared/invoker/MavenCommandLineBuilderTest.java      |  7 +++++++
 5 files changed, 47 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 0f6d516..5f990fc 100644
--- a/src/main/java/org/apache/maven/shared/invoker/DefaultInvocationRequest.java
+++ b/src/main/java/org/apache/maven/shared/invoker/DefaultInvocationRequest.java
@@ -111,6 +111,8 @@ public class DefaultInvocationRequest
 
     private File mavenExecutable;
 
+    private boolean noTransferProgress;
+
     /**
      * <p>getBaseDirectory.</p>
      *
@@ -729,6 +731,19 @@ public class DefaultInvocationRequest
         return this;
     }
 
+    @Override
+    public boolean isNoTransferProgress()
+    {
+        return noTransferProgress;
+    }
+
+    @Override
+    public InvocationRequest setNoTransferProgress( boolean noTransferProgress )
+    {
+        this.noTransferProgress = noTransferProgress;
+        return this;
+    }
+
     /**
      * {@inheritDoc}
      */
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 6a12935..53ea260 100644
--- a/src/main/java/org/apache/maven/shared/invoker/InvocationRequest.java
+++ b/src/main/java/org/apache/maven/shared/invoker/InvocationRequest.java
@@ -319,6 +319,14 @@ public interface InvocationRequest
      */
     boolean isQuiet();
 
+    /**
+     * Get the value of the {@code no-transfer-progress} argument.
+     *
+     * @return {@code true} if the argument {@code no-transfer-progress} was specified, otherwise {@code false}
+     * @since 3.2.0
+     */
+    boolean isNoTransferProgress();
+
     // ----------------------------------------------------------------------
     // Reactor Failure Mode
     // ----------------------------------------------------------------------
@@ -737,6 +745,14 @@ public interface InvocationRequest
     InvocationRequest setQuiet( boolean quiet );
 
     /**
+     * Enable no transfer progress mode. Equivalent of {@code -ntp} or {@code --no-transfer-progress}
+     * @param noTransferProgress enable no transfer progress mode
+     * @return This invocation request.
+     * @since 3.2.0
+     */
+    InvocationRequest setNoTransferProgress( boolean noTransferProgress );
+
+    /**
      * Get the current set builder strategy id equivalent of {@code --builder id}. <b>Note. This is available since
      * Maven 3.2.1</b>
      *
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 69e4b13..ada410c 100644
--- a/src/main/java/org/apache/maven/shared/invoker/MavenCommandLineBuilder.java
+++ b/src/main/java/org/apache/maven/shared/invoker/MavenCommandLineBuilder.java
@@ -528,6 +528,11 @@ public class MavenCommandLineBuilder
         {
             cli.createArg().setValue( "-q" );
         }
+
+        if ( request.isNoTransferProgress() )
+        {
+            cli.createArg().setValue( "-ntp" );
+        }
     }
 
     /**
diff --git a/src/site/apt/index.apt.vm b/src/site/apt/index.apt.vm
index 5403602..2589c61 100644
--- a/src/site/apt/index.apt.vm
+++ b/src/site/apt/index.apt.vm
@@ -78,8 +78,12 @@ ${project.name}
     * Update-Snapshots Flag
     
     * Debug Flag (show debug-level output)
+
+    * Quiet Flag (only show errors)
     
     * Show-Errors Flag (show exception stacktraces, but not full debug output)
+
+    * No-Transfer-Progress Flag (Do not display transfer progress when downloading or uploading)
     
     * Inherit-Shell-Environment Flag (inherit envars from the shell used to
       start the current JVM)
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 eee14a9..a499551 100644
--- a/src/test/java/org/apache/maven/shared/invoker/MavenCommandLineBuilderTest.java
+++ b/src/test/java/org/apache/maven/shared/invoker/MavenCommandLineBuilderTest.java
@@ -486,6 +486,13 @@ public class MavenCommandLineBuilderTest
     }
 
     @Test
+    public void testShouldSetNoTransferProgressFlagFromRequest()
+    {
+        mclb.setFlags( newRequest().setNoTransferProgress( true ), cli );
+        assertArgumentsPresent( cli, Collections.singleton( "-ntp" ));
+    }
+
+    @Test
     public void testShouldSpecifyFileOptionUsingNonStandardPomFileLocation()
         throws Exception
     {