]> code.ossystems Code Review - openembedded-core.git/commitdiff
cooker: merge cookerState and cookerAction
authorChris Larson <chris_larson@mentor.com>
Wed, 8 Dec 2010 19:30:33 +0000 (14:30 -0500)
committerRichard Purdie <rpurdie@linux.intel.com>
Tue, 4 Jan 2011 14:46:47 +0000 (14:46 +0000)
(Bitbake rev: c7c8945ef7ca9465312e630b7fa5f0a87ac8b6c7)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
bitbake/lib/bb/command.py
bitbake/lib/bb/cooker.py

index 9a8d689e2a709d9ce4d7155b09859dcbb5fdf5e1..654ede0e855545649a57961abe1201b0c56bf805 100644 (file)
@@ -81,7 +81,8 @@ class Command:
                 (command, options) = self.currentAsyncCommand
                 commandmethod = getattr(CommandsAsync, command)
                 needcache = getattr( commandmethod, "needcache" )
-                if needcache and self.cooker.cookerState != bb.cooker.cookerParsed:
+                if (needcache and self.cooker.state in
+                    (bb.cooker.state.initial, bb.cooker.state.parsing)):
                     self.cooker.updateCache()
                     return True
                 else:
@@ -123,13 +124,13 @@ class CommandsSync:
         """
         Trigger cooker 'shutdown' mode
         """
-        command.cooker.cookerAction = bb.cooker.cookerShutdown
+        command.cooker.state = bb.cooker.state.shutdown
 
     def stateStop(self, command, params):
         """
         Stop the cooker
         """
-        command.cooker.cookerAction = bb.cooker.cookerStop
+        command.cooker.state = bb.cooker.state.stop
 
     def getCmdLineAction(self, command, params):
         """
index bf896e942871340368f9387a3f39a2f64bec9dff..9f4afbb59e21c63a682b7b78e9b3b14aab8e5892 100644 (file)
@@ -51,16 +51,8 @@ class NothingToBuild(Exception):
     Exception raised when there is nothing to build
     """
 
-
-# Different states cooker can be in
-cookerClean = 1
-cookerParsing = 2
-cookerParsed = 3
-
-# Different action states the cooker can be in
-cookerRun = 1           # Cooker is running normally
-cookerShutdown = 2      # Active tasks should be brought to a controlled stop
-cookerStop = 3          # Stop, now!
+class state:
+    initial, parsing, running, shutdown, stop = range(5)
 
 #============================================================================#
 # BBCooker
@@ -112,8 +104,7 @@ class BBCooker:
                 termios.tcsetattr(fd, termios.TCSANOW, tcattr)
 
         self.command = bb.command.Command(self)
-        self.cookerState = cookerClean
-        self.cookerAction = cookerRun
+        self.state = state.initial
 
     def parseConfiguration(self):
 
@@ -681,9 +672,9 @@ class BBCooker:
 
         def buildFileIdle(server, rq, abort):
 
-            if abort or self.cookerAction == cookerStop:
+            if abort or self.state == state.stop:
                 rq.finish_runqueue(True)
-            elif self.cookerAction == cookerShutdown:
+            elif self.state == state.shutdown:
                 rq.finish_runqueue(False)
             failures = 0
             try:
@@ -718,9 +709,9 @@ class BBCooker:
         targets = self.checkPackages(targets)
 
         def buildTargetsIdle(server, rq, abort):
-            if abort or self.cookerAction == cookerStop:
+            if abort or self.state == state.stop:
                 rq.finish_runqueue(True)
-            elif self.cookerAction == cookerShutdown:
+            elif self.state == state.shutdown:
                 rq.finish_runqueue(False)
             failures = 0
             try:
@@ -763,12 +754,10 @@ class BBCooker:
         self.server.register_idle_function(buildTargetsIdle, rq)
 
     def updateCache(self):
-
-        if self.cookerState == cookerParsed:
+        if self.state == state.running:
             return
 
-        if self.cookerState != cookerParsing:
-
+        if self.state != state.parsing:
             self.parseConfiguration ()
 
             # Import Psyco if available and not disabled
@@ -798,12 +787,12 @@ class BBCooker:
             bb.data.renameVar("__depends", "__base_depends", self.configuration.data)
 
             self.parser = CookerParser(self, filelist, masked)
-            self.cookerState = cookerParsing
+            self.state = state.parsing
 
         if not self.parser.parse_next():
             collectlog.debug(1, "parsing complete")
             self.buildDepgraph()
-            self.cookerState = cookerParsed
+            self.state = state.running
             return None
 
         return True