diff --git a/client/src/main/java/org/jboss/fuse/mvnd/client/DefaultClient.java b/client/src/main/java/org/jboss/fuse/mvnd/client/DefaultClient.java index 3dd276f7..b4f82e9b 100644 --- a/client/src/main/java/org/jboss/fuse/mvnd/client/DefaultClient.java +++ b/client/src/main/java/org/jboss/fuse/mvnd/client/DefaultClient.java @@ -35,8 +35,6 @@ import org.jboss.fuse.mvnd.common.Message.BuildStarted; import org.jboss.fuse.mvnd.common.OsUtils; import org.jboss.fuse.mvnd.common.logging.ClientOutput; import org.jboss.fuse.mvnd.common.logging.TerminalOutput; -import org.jline.terminal.Terminal; -import org.jline.terminal.impl.AbstractPosixTerminal; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -129,13 +127,7 @@ public class DefaultClient implements Client { .reset().toString(); output.accept(null, v); // Print terminal information - Terminal terminal = output.getTerminal(); - StringBuilder sb = new StringBuilder(); - sb.append("Terminal: ").append(terminal != null ? terminal.getClass().getName() : null); - if (terminal instanceof AbstractPosixTerminal) { - sb.append(" with pty ").append(((AbstractPosixTerminal) terminal).getPty().getClass().getName()); - } - output.accept(null, sb.toString()); + output.describeTerminal(); /* * Do not return, rather pass -v to the server so that the client module does not need to depend on any * Maven artifacts diff --git a/common/src/main/java/org/jboss/fuse/mvnd/common/logging/ClientOutput.java b/common/src/main/java/org/jboss/fuse/mvnd/common/logging/ClientOutput.java index c654a91e..daba4c7d 100644 --- a/common/src/main/java/org/jboss/fuse/mvnd/common/logging/ClientOutput.java +++ b/common/src/main/java/org/jboss/fuse/mvnd/common/logging/ClientOutput.java @@ -15,15 +15,11 @@ */ package org.jboss.fuse.mvnd.common.logging; -import org.jline.terminal.Terminal; - /** * A sink for various kinds of events sent by the daemon. */ public interface ClientOutput extends AutoCloseable { - Terminal getTerminal(); - void startBuild(String name, int projects, int cores); void projectStateChanged(String projectId, String display); @@ -41,4 +37,6 @@ public interface ClientOutput extends AutoCloseable { void display(String projectId, String message); String prompt(String projectId, String message, boolean password); + + void describeTerminal(); } diff --git a/common/src/main/java/org/jboss/fuse/mvnd/common/logging/TerminalOutput.java b/common/src/main/java/org/jboss/fuse/mvnd/common/logging/TerminalOutput.java index 014aac36..6a6dccc4 100644 --- a/common/src/main/java/org/jboss/fuse/mvnd/common/logging/TerminalOutput.java +++ b/common/src/main/java/org/jboss/fuse/mvnd/common/logging/TerminalOutput.java @@ -40,6 +40,7 @@ import java.util.stream.Collectors; import org.jline.terminal.Size; import org.jline.terminal.Terminal; import org.jline.terminal.TerminalBuilder; +import org.jline.terminal.impl.AbstractPosixTerminal; import org.jline.utils.AttributedString; import org.jline.utils.AttributedStringBuilder; import org.jline.utils.AttributedStyle; @@ -138,10 +139,6 @@ public class TerminalOutput implements ClientOutput { this.reader = r; } - public Terminal getTerminal() { - return terminal; - } - public void startBuild(String name, int projects, int cores) { this.name = name; this.totalProjects = projects; @@ -238,6 +235,16 @@ public class TerminalOutput implements ClientOutput { return response; } + @Override + public void describeTerminal() { + StringBuilder sb = new StringBuilder(); + sb.append("Terminal: ").append(terminal != null ? terminal.getClass().getName() : null); + if (terminal instanceof AbstractPosixTerminal) { + sb.append(" with pty ").append(((AbstractPosixTerminal) terminal).getPty().getClass().getName()); + } + this.accept(null, sb.toString()); + } + void readInputLoop() { try { while (!closing) {