- in the particular case of creating a new bitbake project by cloning, the whole process is started from the context of the project wizard which is in charge of updating the monitor of the command - since the transfer is redirected to the RemoteHelper, somehow along the way the reference of the wizard monitor is lost and the messages are not displayed correctly - in order to fix this, the parsing is done locally inside the appropiate context & using a customization of the abstract OutputProcessor
Signed-off-by: Ioana Grigoropol <ioanax.grigoro...@intel.com> --- .../bc/remote/utils/YoctoRunnableWithProgress.java | 31 +++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/YoctoRunnableWithProgress.java b/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/YoctoRunnableWithProgress.java index 7eb7172..4005554 100644 --- a/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/YoctoRunnableWithProgress.java +++ b/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/YoctoRunnableWithProgress.java @@ -80,7 +80,36 @@ public class YoctoRunnableWithProgress implements IRunnableWithProgress { e.printStackTrace(); } } + class YoctoRunnableOutputProcessor extends OutputProcessor{ + public YoctoRunnableOutputProcessor(IProgressMonitor monitor, + IHostShell hostShell, CommandResponseHandler cmdHandler, + String task) { + super(monitor, hostShell, cmdHandler, task); + } + @Override + protected boolean isErrChStop(char ch) { + return (ch == '\n' || ch == '\r'); + } + + @Override + protected boolean isOutChStop(char ch) { + return (ch == '\n'); + } + + @Override + protected void processOutputBufferLine(char ch, String str) { + processBuffer.addOutputLine(str); + } + + @Override + protected void processErrorBufferLine(char ch, String str) { + processBuffer.addOutputLine(str); + if (ch == '\r') + reportProgress(str); + } + + } class YoctoThread implements Runnable{ private IHost connection; @@ -98,7 +127,7 @@ public class YoctoRunnableWithProgress implements IRunnableWithProgress { public void run() { try { hostShell = RemoteHelper.runCommandRemote(this.connection, command, monitor); - command.setProcessBuffer(RemoteHelper.processOutput(monitor, hostShell, cmdHandler)); + command.setProcessBuffer(new YoctoRunnableOutputProcessor(monitor, hostShell, cmdHandler, taskName).processOutput()); } catch (CoreException e) { e.printStackTrace(); } catch (Exception e) { -- 1.7.9.5 _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto