- 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 <[email protected]>
---
.../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
[email protected]
https://lists.yoctoproject.org/listinfo/yocto