from buildbot.status import html, mail, words, client from twisted.web.rewrite import RewriterResource class MyWaterfall(html.Waterfall): def setup(self): html.Waterfall.setup(self) rootResource = self.site.resource def rewriteXSL(request): if request.postpath and (request.postpath[-1].endswith('.xsl') or (request.postpath[0] == 'results' and (request.postpath[-1].endswith('.css') or request.postpath[-1].endswith('.js')) )): request.postpath = ['results', request.postpath[-1]] request.path = '/' + '/'.join(request.prepath + request.postpath) self.site.resource = RewriterResource(rootResource, rewriteXSL) waterfall = MyWaterfall(http_port=8010, css="buildbot.css", results_directory="/home/buildresults/results/", allowForce=False) allBuildsEmail = mail.MailNotifier(fromaddr="buildbot@webkit.org", extraRecipients=["mark+webkit-builds@bdash.net.nz"], sendToInterestedUsers=False) breakageEmail = mail.MailNotifier(fromaddr="buildbot@webkit.org", extraRecipients=["mark+webkit-builds@bdash.net.nz"], lookup=mail.Domain("opensource.apple.com"), mode="breakage") IRC = words.IRC(host="irc.freenode.net", nick="webkit-build", channels=["#webkit-build"], announceAllBuilds=True) PBClient = client.PBListener("tcp:9988", "statusClient", "clientpw") def getStatusListeners(): return [waterfall, allBuildsEmail, breakageEmail, IRC, PBClient]