QuasarAppCI/BuildBotLib/buildbot.py

69 lines
2.0 KiB
Python
Raw Normal View History

2019-07-22 10:20:59 +03:00
from buildbot.plugins import util
import logging
import sys
import os
2019-12-26 13:48:06 +03:00
from BuildBotLib.buildBotIdentity import BuildBotIdentity
from BuildBotLib.buildBotServices import BuildBotServices
from BuildBotLib.buildBotWorkers import BuildBotWorkers
from BuildBotLib.buildBotDB import BuildBotDB
from BuildBotLib.buildBotShedulers import BuildBotShedulers
from BuildBotLib.buildBotChangeSource import BuildBotChangeSource
2019-07-22 10:20:59 +03:00
dir_path = os.path.dirname(os.path.realpath(__file__))
sys.path.append(dir_path)
2019-12-26 13:48:06 +03:00
2019-07-22 10:20:59 +03:00
class BuildBot:
masterConf = {}
2019-12-26 13:48:06 +03:00
workers = BuildBotWorkers()
services = BuildBotServices()
identity = BuildBotIdentity()
2019-07-22 10:20:59 +03:00
db = BuildBotDB()
2019-12-26 13:48:06 +03:00
shedulers = BuildBotShedulers()
sources = BuildBotChangeSource()
2019-07-22 10:20:59 +03:00
builders = []
2019-10-06 19:15:02 +03:00
# def importWithReload(self, name):
# module = importlib.import_module(name);
# return module;
2019-07-22 10:20:59 +03:00
def __init__(self):
2019-12-26 13:48:06 +03:00
self.masterConf = {}
2019-07-22 10:20:59 +03:00
self.masterConf['builders'] = []
self.masterConf['schedulers'] = []
self.masterConf['change_source'] = []
2019-12-26 13:48:06 +03:00
# WORKERS
self.masterConf.update(self.workers.getMasterConf())
2019-07-22 10:20:59 +03:00
2019-12-26 13:48:06 +03:00
# BUILDBOT SERVICES
self.masterConf.update(self.services.getMasterConf())
2019-07-22 10:20:59 +03:00
2019-12-26 13:48:06 +03:00
# PROJECT IDENTITY
self.masterConf.update(self.identity.getMasterConf())
2019-07-22 10:20:59 +03:00
2019-12-26 13:48:06 +03:00
# DB URL
self.masterConf.update(self.db.getMasterConf())
2019-07-22 10:20:59 +03:00
2019-12-26 13:48:06 +03:00
# change_source
self.masterConf.update(self.sources.getMasterConf())
2019-07-22 10:20:59 +03:00
def addBuilder(self, worker, factory):
self.masterConf['builders'].append(
util.BuilderConfig(
2019-12-26 13:48:06 +03:00
name=worker,
workernames=[worker],
factory=factory.getFactory()
2019-07-22 10:20:59 +03:00
)
)
2019-12-26 13:48:06 +03:00
self.shedulers.addScheduler(factory.getPropertyes(),
worker)
self.builders.append(worker)
2019-07-22 10:20:59 +03:00
def addService(self, service):
logging.error("addService not support!")
def getMaster(self):
2019-12-26 13:48:06 +03:00
self.masterConf.update(self.shedulers.initScheduler())
2019-07-22 10:20:59 +03:00
return self.masterConf