diff options
-rw-r--r-- | bitbake/doc/manual/usermanual.xml | 4 | ||||
-rw-r--r-- | bitbake/lib/bb/event.py | 8 |
2 files changed, 7 insertions, 5 deletions
diff --git a/bitbake/doc/manual/usermanual.xml b/bitbake/doc/manual/usermanual.xml index 6424a7ebd9..bd44a69e3f 100644 --- a/bitbake/doc/manual/usermanual.xml +++ b/bitbake/doc/manual/usermanual.xml | |||
@@ -215,13 +215,11 @@ addtask printdate before do_build</screen></para> | |||
215 | <para>BitBake allows to install event handlers. Events are triggered at certain points during operation, such as, the beginning of operation against a given .bb, the start of a given task, task failure, task success, et cetera. The intent was to make it easy to do things like email notifications on build failure.</para> | 215 | <para>BitBake allows to install event handlers. Events are triggered at certain points during operation, such as, the beginning of operation against a given .bb, the start of a given task, task failure, task success, et cetera. The intent was to make it easy to do things like email notifications on build failure.</para> |
216 | <para><screen>addhandler myclass_eventhandler | 216 | <para><screen>addhandler myclass_eventhandler |
217 | python myclass_eventhandler() { | 217 | python myclass_eventhandler() { |
218 | from bb.event import NotHandled, getName | 218 | from bb.event import getName |
219 | from bb import data | 219 | from bb import data |
220 | 220 | ||
221 | print "The name of the Event is %s" % getName(e) | 221 | print "The name of the Event is %s" % getName(e) |
222 | print "The file we run for is %s" % data.getVar('FILE', e.data, True) | 222 | print "The file we run for is %s" % data.getVar('FILE', e.data, True) |
223 | |||
224 | return NotHandled | ||
225 | } | 223 | } |
226 | </screen></para><para> | 224 | </screen></para><para> |
227 | This event handler gets called every time an event is triggered. A global variable <varname>e</varname> is defined. <varname>e</varname>.data contains an instance of bb.data. With the getName(<varname>e</varname>) | 225 | This event handler gets called every time an event is triggered. A global variable <varname>e</varname> is defined. <varname>e</varname>.data contains an instance of bb.data. With the getName(<varname>e</varname>) |
diff --git a/bitbake/lib/bb/event.py b/bitbake/lib/bb/event.py index f49f71cf71..c1c6a36c9d 100644 --- a/bitbake/lib/bb/event.py +++ b/bitbake/lib/bb/event.py | |||
@@ -23,6 +23,7 @@ BitBake build tools. | |||
23 | # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | 23 | # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
24 | 24 | ||
25 | import os, re, sys | 25 | import os, re, sys |
26 | import warnings | ||
26 | import bb.utils | 27 | import bb.utils |
27 | import pickle | 28 | import pickle |
28 | 29 | ||
@@ -38,7 +39,7 @@ class Event: | |||
38 | self.pid = worker_pid | 39 | self.pid = worker_pid |
39 | 40 | ||
40 | NotHandled = 0 | 41 | NotHandled = 0 |
41 | Handled = 1 | 42 | Handled = 1 |
42 | 43 | ||
43 | Registered = 10 | 44 | Registered = 10 |
44 | AlreadyRegistered = 14 | 45 | AlreadyRegistered = 14 |
@@ -59,7 +60,10 @@ def fire_class_handlers(event, d): | |||
59 | if type(h).__name__ == "code": | 60 | if type(h).__name__ == "code": |
60 | locals = {"e": event} | 61 | locals = {"e": event} |
61 | bb.utils.simple_exec(h, locals) | 62 | bb.utils.simple_exec(h, locals) |
62 | bb.utils.better_eval("tmpHandler(e)", locals) | 63 | ret = bb.utils.better_eval("tmpHandler(e)", locals) |
64 | if ret is not None: | ||
65 | warnings.warn("Using Handled/NotHandled in event handlers is deprecated", | ||
66 | DeprecationWarning, stacklevel = 2) | ||
63 | else: | 67 | else: |
64 | h(event) | 68 | h(event) |
65 | del event.data | 69 | del event.data |