summaryrefslogtreecommitdiffstats
path: root/lib/bb/cooker.py
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2009-07-23 19:33:18 +0100
committerRichard Purdie <rpurdie@linux.intel.com>2009-07-23 19:34:16 +0100
commit40ef9511101d81dfd6439f888469b4f86abfdd16 (patch)
tree615748f317eade750bc605af97892c50454a7bcb /lib/bb/cooker.py
parent05129b857915ac93254469aa3c5e0207e234d922 (diff)
downloadbitbake-40ef9511101d81dfd6439f888469b4f86abfdd16.tar.gz
cooker: Fix cooker parser for case where there are no recipes
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'lib/bb/cooker.py')
-rw-r--r--lib/bb/cooker.py60
1 files changed, 31 insertions, 29 deletions
diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py
index f29765783..3c232a6ac 100644
--- a/lib/bb/cooker.py
+++ b/lib/bb/cooker.py
@@ -925,38 +925,40 @@ class CookerParser:
def parse_next(self):
print "Pointer %d" % self.pointer
- f = self.filelist[self.pointer]
- cooker = self.cooker
- try:
- fromCache, skip = cooker.bb_cache.loadData(f, cooker.configuration.data, cooker.status)
- if skip:
- self.skipped += 1
- bb.msg.debug(2, bb.msg.domain.Collection, "skipping %s" % f)
- cooker.bb_cache.skip(f)
- elif fromCache: self.cached += 1
- else: self.parsed += 1
+ if self.pointer < len(self.filelist):
+ f = self.filelist[self.pointer]
+ cooker = self.cooker
- except IOError, e:
- self.error += 1
- cooker.bb_cache.remove(f)
- bb.msg.error(bb.msg.domain.Collection, "opening %s: %s" % (f, e))
- pass
- except KeyboardInterrupt:
- cooker.bb_cache.remove(f)
- cooker.bb_cache.sync()
- raise
- except Exception, e:
- self.error += 1
- cooker.bb_cache.remove(f)
- bb.msg.error(bb.msg.domain.Collection, "%s while parsing %s" % (e, f))
- except:
- cooker.bb_cache.remove(f)
- raise
- finally:
- bb.event.fire(bb.event.ParseProgress(cooker.configuration.event_data, self.cached, self.parsed, self.skipped, self.masked, self.error, self.total))
+ try:
+ fromCache, skip = cooker.bb_cache.loadData(f, cooker.configuration.data, cooker.status)
+ if skip:
+ self.skipped += 1
+ bb.msg.debug(2, bb.msg.domain.Collection, "skipping %s" % f)
+ cooker.bb_cache.skip(f)
+ elif fromCache: self.cached += 1
+ else: self.parsed += 1
+
+ except IOError, e:
+ self.error += 1
+ cooker.bb_cache.remove(f)
+ bb.msg.error(bb.msg.domain.Collection, "opening %s: %s" % (f, e))
+ pass
+ except KeyboardInterrupt:
+ cooker.bb_cache.remove(f)
+ cooker.bb_cache.sync()
+ raise
+ except Exception, e:
+ self.error += 1
+ cooker.bb_cache.remove(f)
+ bb.msg.error(bb.msg.domain.Collection, "%s while parsing %s" % (e, f))
+ except:
+ cooker.bb_cache.remove(f)
+ raise
+ finally:
+ bb.event.fire(bb.event.ParseProgress(cooker.configuration.event_data, self.cached, self.parsed, self.skipped, self.masked, self.error, self.total))
- self.pointer += 1
+ self.pointer += 1
if self.pointer >= self.total:
cooker.bb_cache.sync()