[yocto] [AB PATCH 11/27] trigger.py: Allow wait and nowait triggers
Elizabeth Flanagan
elizabeth.flanagan at intel.com
Wed Mar 5 10:23:02 PST 2014
From: Richard Purdie <richard.purdie at linuxfoundation.org>
This is from RP. It's a little hacky, but gets around our broken parser.
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan at intel.com>
Author: Richard Purdie <richard.purdie at linuxfoundation.org>
---
.../buildbot-0.8.8-py2.7.egg/buildbot/steps/trigger.py | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/steps/trigger.py b/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/steps/trigger.py
index a375df6..f23f708 100644
--- a/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/steps/trigger.py
+++ b/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/steps/trigger.py
@@ -31,7 +31,7 @@ class Trigger(LoggingBuildStep):
def __init__(self, schedulerNames=[], sourceStamp = None, sourceStamps = None,
updateSourceStamp=None, alwaysUseLatest=False,
waitForFinish=False, set_properties={},
- copy_properties=[], **kwargs):
+ copy_properties=[], noWait=[], **kwargs):
if not schedulerNames:
config.error(
"You must specify a scheduler to trigger")
@@ -46,6 +46,7 @@ class Trigger(LoggingBuildStep):
"You can't specify both alwaysUseLatest and updateSourceStamp"
)
self.schedulerNames = schedulerNames
+ self.noWait = noWait
self.sourceStamps = sourceStamps or []
if sourceStamp:
self.sourceStamps.append(sourceStamp)
@@ -146,12 +147,22 @@ class Trigger(LoggingBuildStep):
ss_for_trigger = self.prepareSourcestampListForTrigger()
dl = []
+ nowait = []
triggered_names = []
for sch in triggered_schedulers:
- dl.append(sch.trigger(ss_for_trigger, set_props=props_to_set))
+ if sch.name in self.noWait:
+ import time
+ time.sleep(5)
+ nowait.append(sch.trigger(ss_for_trigger, set_props=props_to_set))
+ else:
+ dl.append(sch.trigger(ss_for_trigger, set_props=props_to_set))
triggered_names.append(sch.name)
self.step_status.setText(['triggered'] + triggered_names)
+ for d in nowait:
+ d.addErrback(log.err,
+ '(ignored) while invoking Triggerable schedulers:')
+
if self.waitForFinish:
rclist = yield defer.DeferredList(dl, consumeErrors=1)
else:
--
1.8.1.2
More information about the yocto
mailing list