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 {
