You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2016/06/11 16:35:25 UTC

svn commit: r1747912 - in /maven/plugins/trunk/maven-invoker-plugin: ./ src/main/java/org/apache/maven/plugin/invoker/

Author: hboutemy
Date: Sat Jun 11 16:35:25 2016
New Revision: 1747912

URL: http://svn.apache.org/viewvc?rev=1747912&view=rev
Log:
[MINVOKER-205] added color to invoker messages

Modified:
    maven/plugins/trunk/maven-invoker-plugin/pom.xml
    maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/AbstractInvokerMojo.java
    maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/InvokerSession.java
    maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/VerifyMojo.java

Modified: maven/plugins/trunk/maven-invoker-plugin/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-invoker-plugin/pom.xml?rev=1747912&r1=1747911&r2=1747912&view=diff
==============================================================================
--- maven/plugins/trunk/maven-invoker-plugin/pom.xml (original)
+++ maven/plugins/trunk/maven-invoker-plugin/pom.xml Sat Jun 11 16:35:25 2016
@@ -209,6 +209,11 @@ under the License.
         </exclusion>
       </exclusions>
     </dependency>
+    <dependency>
+      <groupId>org.fusesource.jansi</groupId>
+      <artifactId>jansi</artifactId>
+      <version>1.12</version>
+    </dependency>
 
     <dependency>
       <groupId>junit</groupId>
@@ -320,5 +325,19 @@ under the License.
 
       </build>
     </profile>
+    <profile>
+      <id>dev</id>
+      <build>
+        <pluginManagement>
+          <plugins>
+            <plugin>
+              <groupId>org.apache.maven.plugins</groupId>
+              <artifactId>maven-invoker-plugin</artifactId>
+              <version>${project.version}</version>
+            </plugin>
+          </plugins>
+        </pluginManagement>
+      </build>
+    </profile>
   </profiles>
 </project>

Modified: maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/AbstractInvokerMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/AbstractInvokerMojo.java?rev=1747912&r1=1747911&r2=1747912&view=diff
==============================================================================
--- maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/AbstractInvokerMojo.java (original)
+++ maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/AbstractInvokerMojo.java Sat Jun 11 16:35:25 2016
@@ -19,6 +19,8 @@ package org.apache.maven.plugin.invoker;
  * under the License.
  */
 
+import static org.fusesource.jansi.Ansi.ansi;
+
 import java.io.BufferedReader;
 import java.io.BufferedWriter;
 import java.io.File;
@@ -98,6 +100,7 @@ import org.codehaus.plexus.util.cli.Comm
 import org.codehaus.plexus.util.cli.CommandLineUtils;
 import org.codehaus.plexus.util.cli.Commandline;
 import org.codehaus.plexus.util.cli.StreamConsumer;
+import org.fusesource.jansi.AnsiConsole;
 
 /**
  * Provides common code for mojos invoking sub builds.
@@ -1247,6 +1250,8 @@ public abstract class AbstractInvokerMoj
 
         try
         {
+            AnsiConsole.systemInstall(); // prepare JAnsi if not run with Maven 3.4+
+
             if ( runWithParallelThreads > 1 )
             {
                 getLog().info( "use parallelThreads " + runWithParallelThreads );
@@ -1299,6 +1304,7 @@ public abstract class AbstractInvokerMoj
             {
                 mergedSettingsFile.delete();
             }
+            AnsiConsole.systemUninstall();
         }
     }
 
@@ -1406,7 +1412,7 @@ public abstract class AbstractInvokerMoj
             basedir = pomFile.getParentFile();
         }
 
-        getLog().info( "Building: " + buildJob.getProject() );
+        getLog().info( ansi().a( "Building: " ).bold().a( buildJob.getProject() ).reset().toString() );
 
         File interpolatedPomFile = null;
         if ( pomFile != null )
@@ -1454,7 +1460,8 @@ public abstract class AbstractInvokerMoj
 
                     if ( !suppressSummaries )
                     {
-                        getLog().info( "..SUCCESS " + formatTime( buildJob.getTime() ) );
+                        getLog().info( ".." + ansi().bold().fgGreen().a( "SUCCESS " ).reset()
+                            + formatTime( buildJob.getTime() ) );
                     }
                 }
                 else
@@ -1463,7 +1470,8 @@ public abstract class AbstractInvokerMoj
 
                     if ( !suppressSummaries )
                     {
-                        getLog().info( "..SKIPPED " + formatTime( buildJob.getTime() ) );
+                        getLog().info( ".." + ansi().bold().fgYellow().a( "SKIPPED " ).reset()
+                            + formatTime( buildJob.getTime() ) );
                     }
                 }
             }
@@ -1495,7 +1503,8 @@ public abstract class AbstractInvokerMoj
 
                 if ( !suppressSummaries )
                 {
-                    getLog().info( "..SKIPPED due to " + message.toString() );
+                    getLog().info( ".." + ansi().bold().fgYellow().a( "SKIPPED " ).reset() + " due to "
+                        + message.toString() );
                 }
 
                 // Abuse failureMessage, the field in the report which should contain the reason for skipping
@@ -1510,7 +1519,7 @@ public abstract class AbstractInvokerMoj
 
             if ( !suppressSummaries )
             {
-                getLog().info( "..ERROR " + formatTime( buildJob.getTime() ) );
+                getLog().info( ".." + ansi().bold().fgRed().a( "ERROR " ).reset() + formatTime( buildJob.getTime() ) );
                 getLog().info( "  " + e.getMessage() );
             }
         }
@@ -1521,7 +1530,7 @@ public abstract class AbstractInvokerMoj
 
             if ( !suppressSummaries )
             {
-                getLog().info( "..FAILED " + formatTime( buildJob.getTime() ) );
+                getLog().info( ".." + ansi().bold().fgRed().a( "FAILED " ).reset() + formatTime( buildJob.getTime() ) );
                 getLog().info( "  " + e.getMessage() );
             }
         }

Modified: maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/InvokerSession.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/InvokerSession.java?rev=1747912&r1=1747911&r2=1747912&view=diff
==============================================================================
--- maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/InvokerSession.java (original)
+++ maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/InvokerSession.java Sat Jun 11 16:35:25 2016
@@ -19,6 +19,8 @@ package org.apache.maven.plugin.invoker;
  * under the License.
  */
 
+import static org.fusesource.jansi.Ansi.ansi;
+
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
@@ -196,7 +198,7 @@ class InvokerSession
     {
         updateStats();
 
-        String separator = "-------------------------------------------------";
+        String separator = ansi().bold().a( "-------------------------------------------------" ).reset().toString();
 
         logger.info( separator );
         logger.info( "Build Summary:" );

Modified: maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/VerifyMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/VerifyMojo.java?rev=1747912&r1=1747911&r2=1747912&view=diff
==============================================================================
--- maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/VerifyMojo.java (original)
+++ maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/VerifyMojo.java Sat Jun 11 16:35:25 2016
@@ -28,6 +28,7 @@ import org.apache.maven.plugins.annotati
 import org.apache.maven.plugins.annotations.Parameter;
 import org.codehaus.plexus.util.ReaderFactory;
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+import org.fusesource.jansi.AnsiConsole;
 
 import java.io.File;
 import java.io.IOException;
@@ -131,7 +132,15 @@ public class VerifyMojo
 
         if ( !suppressSummaries )
         {
-            invokerSession.logSummary( getLog(), ignoreFailures );
+            try
+            {
+                AnsiConsole.systemInstall(); // prepare JAnsi if not run with Maven 3.4+
+                invokerSession.logSummary( getLog(), ignoreFailures );
+            }
+            finally
+            {
+                AnsiConsole.systemUninstall();
+            }
         }
 
         invokerSession.handleFailures( getLog(), ignoreFailures );