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

Reply via email to