cstamas opened a new pull request, #13888: URL: https://github.com/apache/maven/pull/13888
Maven only needs colored log output. JLine brought a full terminal stack (native libraries, a background setup thread, System.out/err replacement) for what is a handful of escape codes. - maven-jline: MessageUtils now only detects whether stdout is an ANSI-capable terminal (System.console(), Console.isTerminal() on Java 22+, TERM=dumb). JLineMessageBuilderFactory turns style specs such as "bold,f:red" into escape codes itself, and still honours maven.style.* / style.* overrides. - JAnsi compatibility classes (org.fusesource.jansi.*) no longer forward to JLine. AnsiConsole.systemInstall() only counts calls and never replaces System.out. Ansi.render() is reimplemented. - MavenCli: color is on in "auto" mode only when a terminal was detected, so embedded runs (#13357) stay plain without the dumb terminal workaround. The waits on terminal setup are removed; with no terminal installed later, the -l race (#12188) can't happen. - Distribution: drop jline-native libs and the -Dlibrary.jline.path and -Dorg.jline.* flags from mvn/mvn.cmd. - Remove FastTerminal, its test, and MavenCliLoggingTest. Behaviour changes: - On Windows, "auto" colors only in consoles known to handle ANSI (Windows Terminal, ConEmu, ANSICON, VS Code, or TERM set). In the old Windows console (conhost), use --color=always. - Git Bash/mintty is usually not detected as a terminal, so output is plain unless --color=always is given. - getTerminalWidth() always returns -1. Nothing in core uses it. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
