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

cstamas pushed a commit to branch jline
in repository https://gitbox.apache.org/repos/asf/maven-shared-utils.git

commit c7ae728754636f7dee2d1313086a392bfe07670d
Author: Tamas Cservenak <[email protected]>
AuthorDate: Wed Mar 11 11:40:00 2026 +0100

    Move off from deprecated library
    
    And move onto org.jline:jansi instead that
    is actively maintained.
---
 pom.xml                                              |  4 ++--
 .../shared/utils/logging/AnsiMessageBuilder.java     |  2 +-
 .../maven/shared/utils/logging/MessageUtils.java     |  8 ++++----
 .../org/apache/maven/shared/utils/logging/Style.java |  4 ++--
 .../maven/shared/utils/logging/MessageUtilsTest.java | 20 +++++++++++---------
 5 files changed, 20 insertions(+), 18 deletions(-)

diff --git a/pom.xml b/pom.xml
index 8bac12f..e1e6133 100644
--- a/pom.xml
+++ b/pom.xml
@@ -74,9 +74,9 @@
     </dependency>
 
     <dependency>
-      <groupId>org.fusesource.jansi</groupId>
+      <groupId>org.jline</groupId>
       <artifactId>jansi</artifactId>
-      <version>2.4.2</version>
+      <version>3.30.8</version>
       <optional>true</optional>
     </dependency>
     <dependency>
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 ddb9ab7..dca564d 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 7c32cac..19cc414 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 536c482..3d7c11d 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 @@ package org.apache.maven.shared.utils.logging;
 
 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 3eb6e83..90b7924 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 @@ package org.apache.maven.shared.utils.logging;
 
 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 class MessageUtilsTest {
     }
 
     @Test
-    @SuppressWarnings("deprecation")
     public void testTerminalWidth() {
         AnsiOutputStream.WidthSupplier width = () -> 33;
         AnsiOutputStream aos = new AnsiOutputStream(
@@ -72,9 +72,11 @@ public class MessageUtilsTest {
                 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 {

Reply via email to