This is an automated email from the ASF dual-hosted git repository. cstamas pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/maven.git
The following commit(s) were added to refs/heads/master by this push: new 4dfffaee5e Simplify and complete method implementation (#2075) 4dfffaee5e is described below commit 4dfffaee5e709be42bc25d596f13aaff1385898b Author: Tamas Cservenak <ta...@cservenak.net> AuthorDate: Fri Jan 31 10:56:15 2025 +0100 Simplify and complete method implementation (#2075) No issue as no functional change done. Merely simplifying FastTerminal and making JLine factory (seemingly) complete. --- .../java/org/apache/maven/jline/FastTerminal.java | 31 +++++++++++----------- .../maven/jline/JLineMessageBuilderFactory.java | 2 +- 2 files changed, 16 insertions(+), 17 deletions(-) diff --git a/impl/maven-jline/src/main/java/org/apache/maven/jline/FastTerminal.java b/impl/maven-jline/src/main/java/org/apache/maven/jline/FastTerminal.java index dbdbb06d4c..cae0af2a6a 100644 --- a/impl/maven-jline/src/main/java/org/apache/maven/jline/FastTerminal.java +++ b/impl/maven-jline/src/main/java/org/apache/maven/jline/FastTerminal.java @@ -24,9 +24,7 @@ import java.io.PrintWriter; import java.nio.charset.Charset; import java.util.concurrent.Callable; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.Future; +import java.util.concurrent.CompletableFuture; import java.util.function.Consumer; import java.util.function.IntConsumer; import java.util.function.IntSupplier; @@ -46,21 +44,22 @@ public class FastTerminal implements TerminalExt { - final Future<Terminal> terminal; + private final CompletableFuture<Terminal> terminal; public FastTerminal(Callable<Terminal> builder, Consumer<Terminal> consumer) { - ExecutorService executor = Executors.newSingleThreadExecutor(); - terminal = executor.submit(() -> { - try { - Terminal terminal = builder.call(); - consumer.accept(terminal); - return terminal; - } catch (Exception e) { - throw new MavenException(e); - } finally { - executor.shutdown(); - } - }); + this.terminal = new CompletableFuture<>(); + new Thread( + () -> { + try { + Terminal term = builder.call(); + consumer.accept(term); + terminal.complete(term); + } catch (Exception e) { + terminal.completeExceptionally(new MavenException(e)); + } + }, + "fast-terminal-thread") + .start(); } public TerminalExt getTerminal() { diff --git a/impl/maven-jline/src/main/java/org/apache/maven/jline/JLineMessageBuilderFactory.java b/impl/maven-jline/src/main/java/org/apache/maven/jline/JLineMessageBuilderFactory.java index 092f63a771..ae574fe267 100644 --- a/impl/maven-jline/src/main/java/org/apache/maven/jline/JLineMessageBuilderFactory.java +++ b/impl/maven-jline/src/main/java/org/apache/maven/jline/JLineMessageBuilderFactory.java @@ -54,7 +54,7 @@ public JLineMessageBuilderFactory() { @Override public boolean isColorEnabled() { - return false; + return MessageUtils.isColorEnabled(); } @Override