Hi Christian,

when I introduced the maven-project-utils I had a library in mind with helpful MavenProject related methods for multiple plugins. For that reason I didn't make it part of the Maven distribution.
With this commit the library suddenly is required.
Instead I think you should use plain JAnsi or we should extract the logging part from the library.

thanks,
Robert


On Mon, 20 Jun 2016 01:15:05 +0200, <schu...@apache.org> wrote:

[MNG-3507] use AnsiUtils API to use colors consistently

Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/402ce4c3
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/402ce4c3
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/402ce4c3

Branch: refs/heads/MNG-6006
Commit: 402ce4c3cd1e970d2d4186aa6fc3e10c612241fb
Parents: 162c740
Author: Hervé Boutemy <hbout...@apache.org>
Authored: Mon Jun 20 00:35:17 2016 +0200
Committer: Hervé Boutemy <hbout...@apache.org>
Committed: Mon Jun 20 00:35:41 2016 +0200

----------------------------------------------------------------------
 maven-core/pom.xml                              | 10 +++-
 .../lifecycle/LifecycleExecutionException.java  | 19 ++++----
 maven-embedder/pom.xml                          |  4 +-
 .../org/apache/maven/cli/CLIReportingUtils.java |  4 +-
 .../java/org/apache/maven/cli/MavenCli.java     | 21 ++++----
.../maven/cli/event/ExecutionEventLogger.java | 50 ++++++++++----------
 .../cli/logging/impl/gossip/ColorRenderer.java  | 26 +++++-----
 pom.xml                                         |  6 +--
 8 files changed, 72 insertions(+), 68 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/402ce4c3/maven-core/pom.xml
----------------------------------------------------------------------
diff --git a/maven-core/pom.xml b/maven-core/pom.xml
index cc648be..f03eead 100644
--- a/maven-core/pom.xml
+++ b/maven-core/pom.xml
@@ -85,8 +85,14 @@ under the License.
       <artifactId>aether-util</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.fusesource.jansi</groupId>
-      <artifactId>jansi</artifactId>
+      <groupId>org.apache.maven.shared</groupId>
+      <artifactId>maven-project-utils</artifactId>
+      <exclusions>
+        <exclusion>
+          <groupId>org.apache.maven</groupId>
+          <artifactId>maven-core</artifactId>
+        </exclusion>
+      </exclusions>
     </dependency>
     <!-- Plexus -->
     <dependency>

http://git-wip-us.apache.org/repos/asf/maven/blob/402ce4c3/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutionException.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutionException.java b/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutionException.java
index fd4bca0..5645abd 100644
--- a/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutionException.java +++ b/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutionException.java
@@ -19,11 +19,11 @@ package org.apache.maven.lifecycle;
  * under the License.
  */
-import static org.fusesource.jansi.Ansi.ansi;
+import static org.apache.maven.shared.project.utils.AnsiUtils.ansi;
import org.apache.maven.plugin.MojoExecution;
 import org.apache.maven.project.MavenProject;
-import org.fusesource.jansi.Ansi;
+import org.apache.maven.shared.project.utils.AnsiUtils;
/**
  * @author <a href="mailto:ja...@maven.org";>Jason van Zyl</a>
@@ -78,26 +78,27 @@ public class LifecycleExecutionException
private static String createMessage( MojoExecution execution, MavenProject project, Throwable cause )
     {
-        Ansi buffer = ansi( /*256*/ );
+        AnsiUtils buffer = ansi( 256 );
-        buffer.a( "Failed to execute goal" ).reset();
+        buffer.a( "Failed to execute goal" );
        if ( execution != null )
         {
- buffer.a( ' ' ).a( execution.getGroupId() ).a( ':' ).fgGreen().a( execution.getArtifactId() ); - buffer.a( ':' ).a( execution.getVersion() ).a( ':' ).a( execution.getGoal() ).reset(); - buffer.bold().a( " (" ).a( execution.getExecutionId() ).a( ')' ).reset();
+            buffer.a( ' ' ).a( execution.getGroupId() ).a( ':' );
+            buffer.mojo().a( execution.getArtifactId() ).a( ':' );
+ buffer.a( execution.getVersion() ).a( ':' ).a( execution.getGoal() ).reset(); + buffer.strong().a( " (" ).a( execution.getExecutionId() ).a( ')' ).reset();
         }
        if ( project != null )
         {
             buffer.a( " on project " );
-            buffer.fgCyan().a( project.getArtifactId() ).reset();
+            buffer.project( project.getArtifactId() );
         }
        if ( cause != null )
         {
- buffer.a( ": " ).bold().fgRed().a( cause.getMessage() ).reset();
+            buffer.a( ": " ).failure( cause.getMessage() );
         }
        return buffer.toString();

http://git-wip-us.apache.org/repos/asf/maven/blob/402ce4c3/maven-embedder/pom.xml
----------------------------------------------------------------------
diff --git a/maven-embedder/pom.xml b/maven-embedder/pom.xml
index eb72f93..7e4032f 100644
--- a/maven-embedder/pom.xml
+++ b/maven-embedder/pom.xml
@@ -80,8 +80,8 @@ under the License.
       <artifactId>plexus-cipher</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.fusesource.jansi</groupId>
-      <artifactId>jansi</artifactId>
+      <groupId>org.apache.maven.shared</groupId>
+      <artifactId>maven-project-utils</artifactId>
     </dependency>
     <dependency>
       <groupId>org.slf4j</groupId>

http://git-wip-us.apache.org/repos/asf/maven/blob/402ce4c3/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java
----------------------------------------------------------------------
diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java b/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java
index 18e43ef..aa28b27 100644
--- a/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java +++ b/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java
@@ -19,7 +19,7 @@ package org.apache.maven.cli;
  * under the License.
  */
-import static org.fusesource.jansi.Ansi.ansi;
+import static org.apache.maven.shared.project.utils.AnsiUtils.ansi;
import java.io.IOException;
 import java.io.InputStream;
@@ -57,7 +57,7 @@ public final class CLIReportingUtils
         final String ls = System.getProperty( "line.separator" );
         Properties properties = getBuildProperties();
         StringBuilder version = new StringBuilder( 256 );
- version.append( ansi().bold().a( createMavenVersionString( properties ) ).reset() ).append( ls ); + version.append( ansi().strong( createMavenVersionString( properties ) ) ).append( ls );
         version.append( reduce(
properties.getProperty( "distributionShortName" ) + " home: " + System.getProperty( "maven.home", "<unknown Maven "

http://git-wip-us.apache.org/repos/asf/maven/blob/402ce4c3/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
----------------------------------------------------------------------
diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java b/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
index b07fdc9..fd0a81a 100644
--- a/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
+++ b/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
@@ -19,7 +19,7 @@ package org.apache.maven.cli;
  * under the License.
  */
-import static org.fusesource.jansi.Ansi.ansi;
+import static org.apache.maven.shared.project.utils.AnsiUtils.ansi;
import java.io.BufferedInputStream;
 import java.io.Console;
@@ -91,6 +91,7 @@ import org.apache.maven.model.profile.ProfileSelector;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.properties.internal.EnvironmentUtils;
 import org.apache.maven.properties.internal.SystemProperties;
+import org.apache.maven.shared.project.utils.AnsiUtils;
import org.apache.maven.toolchain.building.DefaultToolchainsBuildingRequest;
 import org.apache.maven.toolchain.building.ToolchainsBuilder;
 import org.apache.maven.toolchain.building.ToolchainsBuildingResult;
@@ -110,8 +111,6 @@ import com.google.common.base.Charsets;
 import com.google.common.io.Files;
 import com.google.inject.AbstractModule;
 import org.eclipse.aether.transfer.TransferListener;
-import org.fusesource.jansi.Ansi;
-import org.fusesource.jansi.AnsiConsole;
 import org.slf4j.ILoggerFactory;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -212,9 +211,9 @@ public class MavenCli
     {
         MavenCli cli = new MavenCli();
-        AnsiConsole.systemInstall();
+        AnsiUtils.systemInstall();
         int result = cli.doMain( new CliRequest( args, classWorld ) );
-        AnsiConsole.systemUninstall();
+        AnsiUtils.systemUninstall();
        return result;
     }
@@ -476,7 +475,7 @@ public class MavenCli
        if ( cliRequest.commandLine.hasOption( CLIManager.BATCH_MODE ) )
         {
-            Ansi.setEnabled( false );
+            AnsiUtils.setEnabled( false );
         }
        if ( cliRequest.commandLine.hasOption( CLIManager.LOG_FILE ) )
@@ -484,7 +483,7 @@ public class MavenCli
File logFile = new File( cliRequest.commandLine.getOptionValue( CLIManager.LOG_FILE ) ); logFile = resolveFile( logFile, cliRequest.workingDirectory );
-            Ansi.setEnabled( false );
+            AnsiUtils.setEnabled( false );
            // redirect stdout and stderr to file
             try
@@ -1021,11 +1020,11 @@ public class MavenCli
             if ( !cliRequest.showErrors )
             {
slf4jLogger.error( "To see the full stack trace of the errors, re-run Maven with the "
-                    + ansi().bold().a( "-e" ).reset() + " switch." );
+                    + ansi().strong( "-e" ) + " switch." );
             }
             if ( !slf4jLogger.isDebugEnabled() )
             {
- slf4jLogger.error( "Re-run Maven using the " + ansi().bold().a( "-X" ).reset() + slf4jLogger.error( "Re-run Maven using the " + ansi().strong( "-X" )
                     + " switch to enable full debug logging." );
             }
@@ -1037,7 +1036,7 @@ public class MavenCli
for ( Map.Entry<String, String> entry : references.entrySet() )
                 {
- slf4jLogger.error( ansi().bold().a( entry.getValue() ).reset() + " " + entry.getKey() ); + slf4jLogger.error( ansi().strong( entry.getValue() ) + " " + entry.getKey() );
                 }
             }
@@ -1045,7 +1044,7 @@ public class MavenCli
             {
                 slf4jLogger.error( "" );
slf4jLogger.error( "After correcting the problems, you can resume the build with the command" ); - slf4jLogger.error( ansi().bold().a( " mvn <goals> -rf :" ) + slf4jLogger.error( ansi().strong().a( " mvn <goals> -rf :" ) .a( project.getArtifactId() ).reset().toString() );
             }

http://git-wip-us.apache.org/repos/asf/maven/blob/402ce4c3/maven-embedder/src/main/java/org/apache/maven/cli/event/ExecutionEventLogger.java
----------------------------------------------------------------------
diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/event/ExecutionEventLogger.java b/maven-embedder/src/main/java/org/apache/maven/cli/event/ExecutionEventLogger.java
index ee57121..9b3bad4 100644
--- a/maven-embedder/src/main/java/org/apache/maven/cli/event/ExecutionEventLogger.java +++ b/maven-embedder/src/main/java/org/apache/maven/cli/event/ExecutionEventLogger.java
@@ -21,7 +21,7 @@ package org.apache.maven.cli.event;
import static org.apache.maven.cli.CLIReportingUtils.formatDuration;
 import static org.apache.maven.cli.CLIReportingUtils.formatTimestamp;
-import static org.fusesource.jansi.Ansi.ansi;
+import static org.apache.maven.shared.project.utils.AnsiUtils.ansi;
import org.apache.commons.lang3.Validate;
 import org.apache.maven.execution.AbstractExecutionListener;
@@ -34,8 +34,8 @@ import org.apache.maven.execution.MavenSession;
 import org.apache.maven.plugin.MojoExecution;
 import org.apache.maven.plugin.descriptor.MojoDescriptor;
 import org.apache.maven.project.MavenProject;
+import org.apache.maven.shared.project.utils.AnsiUtils;
 import org.codehaus.plexus.util.StringUtils;
-import org.fusesource.jansi.Ansi;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -83,7 +83,7 @@ public class ExecutionEventLogger
    private void infoMain( String msg )
     {
-        logger.info( ansi().bold().a( msg ).reset().toString() );
+        logger.info( ansi().strong( msg ).toString() );
     }
    @Override
@@ -161,11 +161,11 @@ public class ExecutionEventLogger
            if ( buildSummary == null )
             {
- buffer.append( ansi().bold().fgYellow().a( "SKIPPED" ).reset() );
+                buffer.append( ansi().warning( "SKIPPED" ) );
             }
             else if ( buildSummary instanceof BuildSuccess )
             {
- buffer.append( ansi().bold().fgGreen().a( "SUCCESS" ).reset() );
+                buffer.append( ansi().success( "SUCCESS" ) );
                 buffer.append( " [" );
String buildTimeDuration = formatDuration( buildSummary.getTime() ); int padSize = MAX_PADDED_BUILD_TIME_DURATION_LENGTH - buildTimeDuration.length();
@@ -178,7 +178,7 @@ public class ExecutionEventLogger
             }
             else if ( buildSummary instanceof BuildFailure )
             {
- buffer.append( ansi().bold().fgRed().a( "FAILURE" ).reset() );
+                buffer.append( ansi().failure( "FAILURE" ) );
                 buffer.append( " [" );
String buildTimeDuration = formatDuration( buildSummary.getTime() ); int padSize = MAX_PADDED_BUILD_TIME_DURATION_LENGTH - buildTimeDuration.length();
@@ -197,17 +197,17 @@ public class ExecutionEventLogger
     private void logResult( MavenSession session )
     {
         infoLine( '-' );
-        Ansi ansi = ansi().bold();
+        AnsiUtils ansi = ansi();
        if ( session.getResult().hasExceptions() )
         {
-            ansi.fgRed().a( "BUILD FAILURE" );
+            ansi.failure( "BUILD FAILURE" );
         }
         else
         {
-            ansi.fgGreen().a( "BUILD SUCCESS" );
+            ansi.success( "BUILD SUCCESS" );
         }
-        logger.info( ansi.reset().toString() );
+        logger.info( ansi.toString() );
     }
    private void logStats( MavenSession session )
@@ -282,10 +282,10 @@ public class ExecutionEventLogger
         {
             logger.info( "" );
-            Ansi ansi = ansi().bold().a( "--- " ).reset();
+            AnsiUtils ansi = ansi().strong( "--- " );
             append( ansi, event.getMojoExecution() );
             append( ansi, event.getProject() );
-            ansi.bold().a( " ---" ).reset();
+            ansi.strong( " ---" );
            logger.info( ansi.toString() );
         }
@@ -302,12 +302,12 @@ public class ExecutionEventLogger
         {
             logger.info( "" );
-            Ansi ansi = ansi().bold().a( ">>> " ).reset();
+            AnsiUtils ansi = ansi().strong( ">>> " );
             append( ansi, event.getMojoExecution() );
-            ansi.bold().a( " > " ).reset();
+            ansi.strong( " > " );
appendForkInfo( ansi, event.getMojoExecution().getMojoDescriptor() );
             append( ansi, event.getProject() );
-            ansi.bold().a( " >>>" ).reset();
+            ansi.strong( " >>>" );
            logger.info( ansi.toString() );
         }
@@ -326,30 +326,30 @@ public class ExecutionEventLogger
         {
             logger.info( "" );
-            Ansi ansi = ansi().bold().a( "<<< " ).reset();
+            AnsiUtils ansi = ansi().strong( "<<< " );
             append( ansi, event.getMojoExecution() );
-            ansi.bold().a( " < " ).reset();
+            ansi.strong( " < " );
appendForkInfo( ansi, event.getMojoExecution().getMojoDescriptor() );
             append( ansi, event.getProject() );
-            ansi.bold().a( " <<<" ).reset();
+            ansi.strong( " <<<" );
            logger.info( ansi.toString() );
         }
     }
-    private void append( Ansi ansi, MojoExecution me )
+    private void append( AnsiUtils ansi, MojoExecution me )
     {
- ansi.fgGreen().a( me.getArtifactId() ).a( ':' ).a( me.getVersion() ); + ansi.mojo().a( me.getArtifactId() ).a( ':' ).a( me.getVersion() );
         ansi.a( ':' ).a( me.getGoal() ).reset();
         if ( me.getExecutionId() != null )
         {
- ansi.bold().a( " (" ).a( me.getExecutionId() ).a( ')' ).reset();
+            ansi.strong( " (" ).a( me.getExecutionId() ).a( ')' );
         }
     }
-    private void appendForkInfo( Ansi ansi, MojoDescriptor md )
+    private void appendForkInfo( AnsiUtils ansi, MojoDescriptor md )
     {
-        ansi.bold();
+        ansi.strong();
         if ( StringUtils.isNotEmpty( md.getExecutePhase() ) )
         {
             // forked phase
@@ -370,9 +370,9 @@ public class ExecutionEventLogger
         ansi.reset();
     }
-    private void append( Ansi ansi, MavenProject project )
+    private void append( AnsiUtils ansi, MavenProject project )
     {
-        ansi.a( " @ " ).fgCyan().a( project.getArtifactId() ).reset();
+        ansi.a( " @ " ).project( project.getArtifactId() );
     }
    @Override

http://git-wip-us.apache.org/repos/asf/maven/blob/402ce4c3/maven-embedder/src/main/java/org/apache/maven/cli/logging/impl/gossip/ColorRenderer.java
----------------------------------------------------------------------
diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/logging/impl/gossip/ColorRenderer.java b/maven-embedder/src/main/java/org/apache/maven/cli/logging/impl/gossip/ColorRenderer.java
index 52e0489..ba0c20a 100644
--- a/maven-embedder/src/main/java/org/apache/maven/cli/logging/impl/gossip/ColorRenderer.java +++ b/maven-embedder/src/main/java/org/apache/maven/cli/logging/impl/gossip/ColorRenderer.java
@@ -19,7 +19,7 @@ package org.apache.maven.cli.logging.impl.gossip;
  * under the License.
  */
-import static org.fusesource.jansi.Ansi.ansi;
+import static org.apache.maven.shared.project.utils.AnsiUtils.ansi;
import com.planet57.gossip.Event;
 import com.planet57.gossip.Level;
@@ -46,20 +46,20 @@ extends com.planet57.gossip.render.PatternRenderer
         {
             case TRACE:
             case DEBUG:
- buff.append( ansi().bold().fgCyan().a( level.name() ).reset() );
+                buff.append( ansi().debug().a( level.name() ).reset() );
                 break;
            case INFO:
- buff.append( ansi().bold().fgBlue().a( level.name() ).reset() );
+                buff.append( ansi().info().a( level.name() ).reset() );
                 break;
            case WARN:
                 // Maven uses WARNING instead of WARN
- buff.append( ansi().bold().fgYellow().a( WARNING ).reset() );
+                buff.append( ansi().warning().a( WARNING ).reset() );
                 break;
            case ERROR:
- buff.append( ansi().bold().fgRed().a( level.name() ).reset() );
+                buff.append( ansi().error().a( level.name() ).reset() );
                 break;
            default:
@@ -72,7 +72,7 @@ extends com.planet57.gossip.render.PatternRenderer
     {
         StringBuilder tmp = new StringBuilder();
         super.renderName( event, tmp, shortName );
-        buff.append( ansi().fgGreen().a( tmp ).reset() );
+        buff.append( ansi().success( tmp ) );
     }
@@ -88,11 +88,11 @@ extends com.planet57.gossip.render.PatternRenderer
             return;
         }
- buff.append( ansi().bold().fgRed().a( cause.getClass().getName() ).reset() );
+        buff.append( ansi().failure( cause.getClass().getName() ) );
         if ( cause.getMessage() != null )
         {
             buff.append( ": " );
- buff.append( ansi().bold().fgRed().a( cause.getMessage() ).reset() );
+            buff.append( ansi().failure( cause.getMessage() ) );
         }
         renderNewLine( buff );
@@ -101,21 +101,19 @@ extends com.planet57.gossip.render.PatternRenderer
             for ( StackTraceElement e : cause.getStackTrace() )
             {
                 buff.append( "    " );
-                buff.append( ansi().bold().a( "at" ).reset().a( " " )
- .a( e.getClassName() ).a( "." ).a( e.getMethodName() ) ); - buff.append( ansi().a( " (" ).bold().a( getLocation( e ) ).reset().a( ")" ) ); + buff.append( ansi().strong( "at" ).a( " " ).a( e.getClassName() ).a( "." ).a( e.getMethodName() ) ); + buff.append( ansi().a( " (" ).strong( getLocation( e ) ).a( ")" ) );
                 renderNewLine( buff );
             }
            cause = cause.getCause();
             if ( cause != null )
             {
- buff.append( ansi().bold().a( "Caused by" ).reset().a( ": " )
-                        .a( cause.getClass().getName() ) );
+ buff.append( ansi().strong( "Caused by" ).a( ": " ).a( cause.getClass().getName() ) );
                 if ( cause.getMessage() != null )
                 {
                     buff.append( ": " );
- buff.append( ansi().bold().fgRed().a( cause.getMessage() ).reset() );
+                    buff.append( ansi().failure( cause.getMessage() ) );
                 }
                 renderNewLine( buff );
             }

http://git-wip-us.apache.org/repos/asf/maven/blob/402ce4c3/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 6698f94..2547ed5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -276,9 +276,9 @@ under the License.
         <version>${plexusInterpolationVersion}</version>
       </dependency>
       <dependency>
-        <groupId>org.fusesource.jansi</groupId>
-        <artifactId>jansi</artifactId>
-        <version>1.13</version>
+        <groupId>org.apache.maven.shared</groupId>
+        <artifactId>maven-project-utils</artifactId>
+        <version>1.0.0-SNAPSHOT</version>
       </dependency>
       <dependency>
         <groupId>org.slf4j</groupId>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org

Reply via email to