diff --git a/client/src/main/java/org/jboss/fuse/mvnd/client/DaemonConnector.java b/client/src/main/java/org/jboss/fuse/mvnd/client/DaemonConnector.java index eda16477..1e80f4b0 100644 --- a/client/src/main/java/org/jboss/fuse/mvnd/client/DaemonConnector.java +++ b/client/src/main/java/org/jboss/fuse/mvnd/client/DaemonConnector.java @@ -33,6 +33,7 @@ import java.util.Map; import java.util.Optional; import java.util.UUID; import java.util.concurrent.TimeUnit; +import java.util.function.Consumer; import java.util.function.Predicate; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -96,7 +97,7 @@ public class DaemonConnector { return null; } - public DaemonClientConnection connect(DaemonCompatibilitySpec constraint) { + public DaemonClientConnection connect(DaemonCompatibilitySpec constraint, Consumer logger) { Map> idleBusy = registry.getAll().stream() .collect(Collectors.groupingBy(di -> di.getState() == DaemonState.Idle)); @@ -116,11 +117,12 @@ public class DaemonConnector { } // No compatible daemons available - start a new daemon - handleStopEvents(idleDaemons, busyDaemons); + String message = handleStopEvents(idleDaemons, busyDaemons); + logger.accept(message); return startDaemon(constraint); } - private void handleStopEvents(Collection idleDaemons, Collection busyDaemons) { + private String handleStopEvents(Collection idleDaemons, Collection busyDaemons) { final List stopEvents = registry.getStopEvents(); // Clean up old stop events @@ -144,7 +146,7 @@ public class DaemonConnector { stopEvent.getUid(), stopEvent.getTimestamp(), stopEvent.getReason()); } - System.out.println(generate(busyDaemons.size(), idleDaemons.size(), recentStopEvents.size())); + return generate(busyDaemons.size(), idleDaemons.size(), recentStopEvents.size()); } public static String generate(final int numBusy, final int numIncompatible, final int numStopped) { 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 432804fd..7b0d7dca 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 @@ -184,7 +184,8 @@ public class DefaultClient implements Client { final DaemonConnector connector = new DaemonConnector(layout, registry, buildProperties, new MessageSerializer()); List opts = new ArrayList<>(); - DaemonClientConnection daemon = connector.connect(new DaemonCompatibilitySpec(javaHome, opts)); + DaemonClientConnection daemon = connector.connect(new DaemonCompatibilitySpec(javaHome, opts), + s -> output.accept(null, s)); daemon.dispatch(new Message.BuildRequest( args, 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 14fe4832..42510105 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 @@ -324,8 +324,6 @@ public class TerminalOutput implements ClientOutput { asb.append("... (cores: ").append(String.valueOf(usedCores)).append(")") .append(dstr).append(pstr); lines.add(asb.toAttributedString()); - } else { - lines.add(new AttributedString("Building...")); } int remLogLines = dispLines - projects.size(); for (Project prj : projects.values()) {