[yocto] [RFC refactor 17/21] Collect Bitbake error lines
Ioana Grigoropol
ioanax.grigoropol at intel.com
Wed Jun 5 10:00:18 PDT 2013
Signed-off-by: Ioana Grigoropol <ioanax.grigoropol at intel.com>
---
.../src/org/yocto/bc/bitbake/BBSession.java | 10 +++++++++
.../BBConfigurationInitializeOperation.java | 23 ++++++++++++++++++--
2 files changed, 31 insertions(+), 2 deletions(-)
diff --git a/plugins/org.yocto.bc.ui/src/org/yocto/bc/bitbake/BBSession.java b/plugins/org.yocto.bc.ui/src/org/yocto/bc/bitbake/BBSession.java
index 714b3ab..5a44710 100644
--- a/plugins/org.yocto.bc.ui/src/org/yocto/bc/bitbake/BBSession.java
+++ b/plugins/org.yocto.bc.ui/src/org/yocto/bc/bitbake/BBSession.java
@@ -467,6 +467,7 @@ public class BBSession implements IBBSessionListener, IModelElement, Map {
Stack blockStack = new Stack();
while ((line = reader.readLine()) != null) {
+ errorLines += line;
String trimmed = line.trim();
if (trimmed.length() == 0 || line.startsWith("#")) {
// weed out the blank and comment lines
@@ -769,4 +770,13 @@ public class BBSession implements IBBSessionListener, IModelElement, Map {
public ProjectInfo getProjectInfo() {
return pinfo;
}
+
+ public boolean hasErrorOccured() {
+ return errorOccured;
+ }
+
+ public String getErrorLines() {
+ return errorLines;
+ }
+
}
diff --git a/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/newproject/BBConfigurationInitializeOperation.java b/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/newproject/BBConfigurationInitializeOperation.java
index 20c001a..d761667 100644
--- a/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/newproject/BBConfigurationInitializeOperation.java
+++ b/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/newproject/BBConfigurationInitializeOperation.java
@@ -20,17 +20,22 @@ import org.yocto.bc.bitbake.BBSession;
import org.yocto.bc.bitbake.ProjectInfoHelper;
import org.yocto.bc.ui.Activator;
import org.yocto.bc.ui.model.ProjectInfo;
+import org.yocto.remote.utils.RemoteHelper;
public class BBConfigurationInitializeOperation implements IRunnableWithProgress {
private final ProjectInfo pinfo;
private final Writer writer;
+ private boolean errorOccured = false;
+ private String errorMessage = "";
public BBConfigurationInitializeOperation(ProjectInfo pinfo) {
this.pinfo = pinfo;
writer = null;
}
-
+ public boolean hasErrorOccured() {
+ return errorOccured;
+ }
public BBConfigurationInitializeOperation(ProjectInfo pinfo, Writer writer) {
this.pinfo = pinfo;
this.writer = writer;
@@ -39,11 +44,25 @@ public class BBConfigurationInitializeOperation implements IRunnableWithProgress
public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
BBSession session;
try {
+ System.out.println("Initialize bitbake session ...");
+ monitor.beginTask("Initialize bitbake session ...", RemoteHelper.TOTALWORKLOAD);
session = Activator.getBBSession(pinfo, writer, monitor);
session.initialize();
-
+ monitor.worked(90);
+ monitor.done();
+ errorOccured = session.hasErrorOccured();
+ errorMessage = session.getErrorLines();
+ if (!errorOccured) {
+ System.out.println("Bitbake session initialized successfully.");
+ errorMessage = "";
+ } else
+ System.out.println("An error occured and Bitbake session was not initialized.");
} catch (Exception e) {
throw new InvocationTargetException(e);
}
}
+
+ public String getErrorMessage() {
+ return errorMessage;
+ }
}
--
1.7.9.5
More information about the yocto
mailing list