RFR: 8351435: Change JLine Console implementation back to opt-in

Jaikiran Pai jpai at openjdk.org
Wed Mar 12 07:16:01 UTC 2025


On Tue, 11 Mar 2025 18:32:10 GMT, Naoto Sato <naoto at openjdk.org> wrote:

> JDK has been using JLine based Console implementation, in JDK20 as opt-in, then in JDK22 as the default. While it has been providing rich functionality for Console, it is increasingly difficult to maintain as a Console implementation. In light of the on-ramp feature (https://bugs.openjdk.org/browse/JDK-8344699), which proposes switching `java.lang.IO` class to use `System.in` and `System.out` instead of Console, reverting the default Console implementation to JDK's built-in one in the java.base module is considered desirable. Some tests are modified along with this change, among them test/jdk/java/io/Console/ConsolePromptTest.java changes were contributed by @lahodaj (thanks!)

test/jdk/java/io/Console/ConsolePromptTest.java line 77:

> 75:         var expect = Paths.get("/usr/bin/expect");
> 76:         if (!Files.exists(expect) || !Files.isExecutable(expect)) {
> 77:             System.out.println("'expect' command not found. Test ignored.");

Hello Naoto, I think throwing a `jtreg.SkippedException` might be better here so that it's clear that the test was skipped. There have been recent reporting improvements too which make it easier to notice such skipped tests.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/23993#discussion_r1990775475


More information about the core-libs-dev mailing list