Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1715)

Unified Diff: scripts/master/buildbucket/status.py

Issue 2137583002: buildbucket: bypass Cloud Endpoints API server (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build
Patch Set: copyright in a tiny shell script Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « scripts/master/buildbucket/discovery_doc.json ('k') | scripts/master/buildbucket/update_discovery_doc.sh » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: scripts/master/buildbucket/status.py
diff --git a/scripts/master/buildbucket/status.py b/scripts/master/buildbucket/status.py
index a4924ece290f828da24d4375398c3cc1e1ff1553..7131a9a2563fb648dea51a7eaad5d451b23f494c 100644
--- a/scripts/master/buildbucket/status.py
+++ b/scripts/master/buildbucket/status.py
@@ -23,40 +23,29 @@ BUILD_STATUS_NAMES = {
class BuildBucketStatus(StatusReceiverMultiService):
"""Updates build status on buildbucket."""
- def __init__(self, integrator, buildbucket_service_factory, dry_run):
+ def __init__(self, integrator, buildbucket_service, dry_run):
"""Creates a new BuildBucketStatus.
Args:
integrator (BuildBucketIntegrator): integrator to notify about status
changes.
- buildbucket_service_factory (function): returns a DeferredResource as
- Deferred that will be used to access buildbucket service API.
+ buildbucket_service (DeferredResource): buildbucket API client.
dry_run (bool): if True, do not start integrator.
"""
StatusReceiverMultiService.__init__(self)
self.integrator = integrator
- self.buildbucket_service_factory = buildbucket_service_factory
+ self.buildbucket_service = buildbucket_service
self.dry_run = dry_run
self.integrator_starting = None
- @inlineCallbacks
- def _start_integrator(self):
- buildbucket_service = yield self.buildbucket_service_factory()
- buildbot = BuildbotGateway(self.parent)
- self.integrator.start(buildbot, buildbucket_service)
-
- def _run_when_started(self, fn, *args):
- assert self.integrator_starting
- d = self.integrator_starting.addCallback(lambda _: fn(*args))
- common.log_on_error(d)
-
def startService(self):
StatusReceiverMultiService.startService(self)
if self.dry_run:
return
- self.integrator_starting = self._start_integrator()
- common.log_on_error(self.integrator_starting, 'Could not start integrator')
- self._run_when_started(self.integrator.poll_builds)
+
+ buildbot = BuildbotGateway(self.parent)
+ self.integrator.start(buildbot, self.buildbucket_service)
+ self.integrator.poll_builds()
self.parent.getStatus().subscribe(self)
def stopService(self):
@@ -71,11 +60,11 @@ class BuildBucketStatus(StatusReceiverMultiService):
def buildStarted(self, builder_name, build):
if self.dry_run:
return
- self._run_when_started(self.integrator.on_build_started, build)
+ self.integrator.on_build_started(build)
def buildFinished(self, builder_name, build, result):
if self.dry_run:
return
assert result in BUILD_STATUS_NAMES
status = BUILD_STATUS_NAMES[result]
- self._run_when_started(self.integrator.on_build_finished, build, status)
+ self.integrator.on_build_finished(build, status)
« no previous file with comments | « scripts/master/buildbucket/discovery_doc.json ('k') | scripts/master/buildbucket/update_discovery_doc.sh » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698