diff --git a/pom.xml b/pom.xml
index 8bac12fe..e1e61338 100644
--- a/pom.xml
+++ b/pom.xml
@@ -74,9 +74,9 @@
- org.fusesource.jansi
+ org.jline
jansi
- 2.4.2
+ 3.30.8
true
diff --git a/src/main/java/org/apache/maven/shared/utils/logging/AnsiMessageBuilder.java b/src/main/java/org/apache/maven/shared/utils/logging/AnsiMessageBuilder.java
index ddb9ab79..dca564d6 100644
--- a/src/main/java/org/apache/maven/shared/utils/logging/AnsiMessageBuilder.java
+++ b/src/main/java/org/apache/maven/shared/utils/logging/AnsiMessageBuilder.java
@@ -18,7 +18,7 @@
*/
package org.apache.maven.shared.utils.logging;
-import org.fusesource.jansi.Ansi;
+import org.jline.jansi.Ansi;
/**
* Message builder implementation that supports ANSI colors through
diff --git a/src/main/java/org/apache/maven/shared/utils/logging/MessageUtils.java b/src/main/java/org/apache/maven/shared/utils/logging/MessageUtils.java
index 7c32cac6..19cc4147 100644
--- a/src/main/java/org/apache/maven/shared/utils/logging/MessageUtils.java
+++ b/src/main/java/org/apache/maven/shared/utils/logging/MessageUtils.java
@@ -18,9 +18,9 @@
*/
package org.apache.maven.shared.utils.logging;
-import org.fusesource.jansi.Ansi;
-import org.fusesource.jansi.AnsiConsole;
-import org.fusesource.jansi.AnsiMode;
+import org.jline.jansi.Ansi;
+import org.jline.jansi.AnsiConsole;
+import org.jline.jansi.AnsiMode;
/**
* Colored message utils, to manage colors consistently across plugins (only if Maven version is at least 3.5.0).
@@ -44,7 +44,7 @@ public class MessageUtils {
boolean jansi = true;
try {
// Jansi is provided by Maven core since 3.5.0
- Class.forName("org.fusesource.jansi.Ansi");
+ Class.forName("org.jline.jansi.Ansi");
} catch (ClassNotFoundException cnfe) {
jansi = false;
}
diff --git a/src/main/java/org/apache/maven/shared/utils/logging/Style.java b/src/main/java/org/apache/maven/shared/utils/logging/Style.java
index 536c482a..3d7c11db 100644
--- a/src/main/java/org/apache/maven/shared/utils/logging/Style.java
+++ b/src/main/java/org/apache/maven/shared/utils/logging/Style.java
@@ -20,8 +20,8 @@
import java.util.Locale;
-import org.fusesource.jansi.Ansi;
-import org.fusesource.jansi.Ansi.Color;
+import org.jline.jansi.Ansi;
+import org.jline.jansi.Ansi.Color;
/**
* Configurable message styles.
diff --git a/src/test/java/org/apache/maven/shared/utils/logging/MessageUtilsTest.java b/src/test/java/org/apache/maven/shared/utils/logging/MessageUtilsTest.java
index 3eb6e832..90b79244 100644
--- a/src/test/java/org/apache/maven/shared/utils/logging/MessageUtilsTest.java
+++ b/src/test/java/org/apache/maven/shared/utils/logging/MessageUtilsTest.java
@@ -20,14 +20,15 @@
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
+import java.lang.reflect.Field;
import java.nio.charset.StandardCharsets;
-import org.fusesource.jansi.AnsiColors;
-import org.fusesource.jansi.AnsiConsole;
-import org.fusesource.jansi.AnsiMode;
-import org.fusesource.jansi.AnsiPrintStream;
-import org.fusesource.jansi.AnsiType;
-import org.fusesource.jansi.io.AnsiOutputStream;
+import org.jline.jansi.AnsiColors;
+import org.jline.jansi.AnsiConsole;
+import org.jline.jansi.AnsiMode;
+import org.jline.jansi.AnsiPrintStream;
+import org.jline.jansi.AnsiType;
+import org.jline.jansi.io.AnsiOutputStream;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -56,7 +57,6 @@ public void testSystem() {
}
@Test
- @SuppressWarnings("deprecation")
public void testTerminalWidth() {
AnsiOutputStream.WidthSupplier width = () -> 33;
AnsiOutputStream aos = new AnsiOutputStream(
@@ -72,9 +72,11 @@ public void testTerminalWidth() {
false);
try {
AnsiConsole.systemInstall();
- AnsiConsole.out = new AnsiPrintStream(aos, true);
+ Field outField = AnsiConsole.class.getDeclaredField("out");
+ outField.setAccessible(true);
+ outField.set(null, new AnsiPrintStream(aos, true));
assertEquals(33, MessageUtils.getTerminalWidth());
- } catch (LinkageError e) {
+ } catch (LinkageError | ReflectiveOperationException e) {
// assumeNoException("JAnsi not supported for this platform", e);
} finally {
try {