From 64ab26b987710c2e696d505c8f4b41571696ee56 Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Mon, 26 Oct 2020 14:56:49 +0100 Subject: [PATCH 1/2] Add terminal information when displaying the version --- .../org/jboss/fuse/mvnd/client/DefaultClient.java | 11 +++++++++++ .../jboss/fuse/mvnd/common/logging/ClientOutput.java | 4 ++++ .../fuse/mvnd/common/logging/TerminalOutput.java | 4 ++++ 3 files changed, 19 insertions(+) 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 bb7c4f16b..413eac9a5 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 @@ -39,6 +39,8 @@ 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; @@ -121,6 +123,7 @@ public ExecutionResult execute(ClientOutput output, List argv) { // Print version if needed if (version || showVersion || debug) { + // Print mvnd version final String nativeSuffix = Environment.isNative() ? " (native)" : ""; final String v = Ansi.ansi().bold().a( "Maven Daemon " @@ -130,6 +133,14 @@ public ExecutionResult execute(ClientOutput output, List argv) { + nativeSuffix) .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()); /* * 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 0bcf4325a..fd17b83f9 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,11 +15,15 @@ */ 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); 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 574676022..5e342b1eb 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 @@ -117,6 +117,10 @@ public TerminalOutput(Path logFile) throws IOException { this.reader = r; } + public Terminal getTerminal() { + return terminal; + } + public void startBuild(String name, int projects, int cores) { this.name = name; this.totalProjects = projects; From 433d4144e3476e51b9bb07ac7122035c0949243d Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Mon, 26 Oct 2020 15:30:53 +0100 Subject: [PATCH 2/2] Upgrade to jansi 2.0, fix windows output --- client/pom.xml | 1 + pom.xml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/client/pom.xml b/client/pom.xml index c17086ef2..7e160d56e 100644 --- a/client/pom.xml +++ b/client/pom.xml @@ -121,6 +121,7 @@ --allow-incomplete-classpath -H:IncludeResources=org/jboss/fuse/mvnd/.* -H:IncludeResources=org/jline/utils/.* + -H:IncludeResources=org/fusesource/jansi/jansi.properties diff --git a/pom.xml b/pom.xml index ceb112fea..6fc3dd258 100644 --- a/pom.xml +++ b/pom.xml @@ -40,7 +40,7 @@ 20.2.0 3.0.0 1.0 - 3.12.1 + 3.17.0 5.6.0 1.2.3 3.6.3