[maven] add colored output when executing config goal. Resolves #327

This commit is contained in:
Andres Almiray
2021-08-02 23:24:00 +02:00
parent 7fb739378a
commit bd9cd808f8
5 changed files with 64 additions and 2 deletions

View File

@@ -45,6 +45,7 @@ junitVersion = 5.7.2
hamcrestVersion = 2.2 hamcrestVersion = 2.2
mailApiVersion = 1.6.7 mailApiVersion = 1.6.7
mavenVersion = 3.6.0 mavenVersion = 3.6.0
mavenSharedVersion = 3.3.4
mustacheVersion = 0.9.10 mustacheVersion = 0.9.10
picocliVersion = 4.6.1 picocliVersion = 4.6.1
plexusVersion = 3.1.0 plexusVersion = 3.1.0

View File

@@ -39,6 +39,7 @@ dependencies {
api project(':jreleaser-config-json') api project(':jreleaser-config-json')
implementation "org.apache.maven:maven-plugin-api:$mavenVersion" implementation "org.apache.maven:maven-plugin-api:$mavenVersion"
implementation "org.apache.maven.shared:maven-shared-utils:$mavenSharedVersion"
compileOnly "org.apache.maven:maven-core:$mavenVersion" compileOnly "org.apache.maven:maven-core:$mavenVersion"
compileOnly "org.apache.maven.plugin-tools:maven-plugin-annotations:$mavenVersion" compileOnly "org.apache.maven.plugin-tools:maven-plugin-annotations:$mavenVersion"

View File

@@ -21,10 +21,12 @@ import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.shared.utils.logging.MessageUtils;
import org.jreleaser.maven.plugin.internal.JReleaserModelPrinter; import org.jreleaser.maven.plugin.internal.JReleaserModelPrinter;
import org.jreleaser.model.JReleaserContext; import org.jreleaser.model.JReleaserContext;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.io.StringWriter;
/** /**
* Display current configuration. * Display current configuration.

View File

@@ -17,9 +17,11 @@
*/ */
package org.jreleaser.maven.plugin.internal; package org.jreleaser.maven.plugin.internal;
import java.io.PrintWriter; import java.io.PrintWriter;
import static org.apache.maven.shared.utils.logging.MessageUtils.buffer;
import static org.apache.maven.shared.utils.logging.MessageUtils.isColorEnabled;
/** /**
* @author Andres Almiray * @author Andres Almiray
* @since 0.1.0 * @since 0.1.0
@@ -31,6 +33,61 @@ public class JReleaserModelPrinter extends org.jreleaser.model.JReleaserModelPri
@Override @Override
protected String color(String color, String input) { protected String color(String color, String input) {
return input; switch (color) {
case "cyan":
return cyan(input);
case "blue":
return blue(input);
case "yellow":
return yellow(input);
case "red":
return red(input);
case "green":
return green(input);
case "magenta":
return magenta(input);
case "black":
return black(input);
case "white":
return white(input);
default:
return input;
}
}
private String black(CharSequence s) {
return buffer().a(!isColorEnabled() ? s : "\u001B[30m" + s + "\u001b[0m").toString();
}
private String red(CharSequence s) {
return buffer().a(!isColorEnabled() ? s : "\u001B[31m" + s + "\u001b[0m").toString();
}
private String green(CharSequence s) {
return buffer().a(!isColorEnabled() ? s : "\u001B[32m" + s + "\u001b[0m").toString();
}
private String yellow(CharSequence s) {
return buffer().a(!isColorEnabled() ? s : "\u001B[33m" + s + "\u001b[0m").toString();
}
private String blue(CharSequence s) {
return buffer().a(!isColorEnabled() ? s : "\u001B[34m" + s + "\u001b[0m").toString();
}
private String magenta(CharSequence s) {
return buffer().a(!isColorEnabled() ? s : "\u001B[35m" + s + "\u001b[0m").toString();
}
private String cyan(CharSequence s) {
return buffer().a(!isColorEnabled() ? s : "\u001B[36m" + s + "\u001b[0m").toString();
}
private String white(CharSequence s) {
return buffer().a(!isColorEnabled() ? s : "\u001B[37m" + s + "\u001b[0m").toString();
}
private String erase(CharSequence s) {
return buffer().a(!isColorEnabled() ? s : "\u001b[2K" + s).toString();
} }
} }

View File

@@ -60,6 +60,7 @@ enforce {
rule(enforcer.rules.ForceDependencies) { r -> rule(enforcer.rules.ForceDependencies) { r ->
r.dependencies.addAll "org.apache.maven:maven-artifact:$mavenVersion", r.dependencies.addAll "org.apache.maven:maven-artifact:$mavenVersion",
"org.apache.maven.shared:maven-shared-utils:$mavenSharedVersion",
"org.codehaus.plexus:plexus-utils:$plexusVersion", "org.codehaus.plexus:plexus-utils:$plexusVersion",
"org.codehaus.plexus:plexus-component-annotations:1.7.1", "org.codehaus.plexus:plexus-component-annotations:1.7.1",
"com.fasterxml.jackson.core:jackson-core:$jacksonVersion", "com.fasterxml.jackson.core:jackson-core:$jacksonVersion",