From fe95b0f932ccd4c8b2af35ca0febc2c34b93c29f Mon Sep 17 00:00:00 2001 From: mrizzi Date: Fri, 7 Apr 2017 09:37:49 +0200 Subject: [PATCH] Console progress output on the same line --- .../jboss/windup/bootstrap/ConsoleProgressMonitor.java | 9 ++++++++- .../jboss/windup/exec/DefaultRuleLifecycleListener.java | 6 +++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/bootstrap/src/main/java/org/jboss/windup/bootstrap/ConsoleProgressMonitor.java b/bootstrap/src/main/java/org/jboss/windup/bootstrap/ConsoleProgressMonitor.java index 41e9489dd0..b96cc32e60 100644 --- a/bootstrap/src/main/java/org/jboss/windup/bootstrap/ConsoleProgressMonitor.java +++ b/bootstrap/src/main/java/org/jboss/windup/bootstrap/ConsoleProgressMonitor.java @@ -56,7 +56,14 @@ public void setTaskName(String name) public void subTask(String subTask) { String message = String.format("[%d/%d] %s", currentWork, totalWork, subTask); - System.out.println(message); + if (subTask.endsWith("\r")) + { + System.out.print(message); + } + else + { + System.out.println("\r" + message); + } LOG.info(message); } diff --git a/exec/impl/src/main/java/org/jboss/windup/exec/DefaultRuleLifecycleListener.java b/exec/impl/src/main/java/org/jboss/windup/exec/DefaultRuleLifecycleListener.java index 8fda196113..570a01deac 100644 --- a/exec/impl/src/main/java/org/jboss/windup/exec/DefaultRuleLifecycleListener.java +++ b/exec/impl/src/main/java/org/jboss/windup/exec/DefaultRuleLifecycleListener.java @@ -67,8 +67,12 @@ public boolean ruleEvaluationProgress(GraphRewrite event, String name, int curre // don't redisplay it if nothing has changed if (!newProgressMessage.equals(lastRuleProgressMessage)) { + if (lastRuleProgressMessage != null && lastRuleProgressMessage.length() > newProgressMessage.length()) + { + newProgressMessage = String.format("%1$-" + lastRuleProgressMessage.length() + "s", newProgressMessage); + } lastRuleProgressMessage = newProgressMessage; - progressMonitor.subTask(newProgressMessage); + progressMonitor.subTask(newProgressMessage + "\r"); } return progressMonitor.isCancelled(); }