import os

from twisted.application import service
from buildbot.master import BuildMaster

basedir = '.'
configfile = 'master.cfg'
rotateLength = 50000000
maxRotatedFiles = 20
umask = 0o022

if basedir == '.':
    basedir = os.path.abspath(os.path.dirname(__file__))

application = service.Application('buildmaster')
try:
  from twisted.python.logfile import LogFile
  from twisted.python.log import ILogObserver, FileLogObserver
  logfile = LogFile.fromFullPath("twistd.log", rotateLength=rotateLength,
                                 maxRotatedFiles=maxRotatedFiles)
  application.setComponent(ILogObserver, FileLogObserver(logfile).emit)
except ImportError:
  # probably not yet twisted 8.2.0 and beyond, can't set log yet
  pass
BuildMaster(basedir, configfile).setServiceParent(application)

