[Buildbot-devel] subclasses clarification
Brian Warner
warner-buildbot at lothar.com
Sun Sep 24 02:21:27 UTC 2006
"Leibowitz, Michael" <michael.leibowitz at intel.com> writes:
> If I need to make a subclass for a specialization, where is the
> appropriate place to define my subclass? It would be ideal if I could
> put it someplace that was not in the buildbot source, such as
> master.cfg. Is this possible/preferred? Thanks.
You can do it in master.cfg, but you can also write these subclasses in a
separate file and then import them. I've done the following several times:
master.cfg:
from config_helper import MySubclass
c['builders'] = ...
...
config_helper.py:
from buildbot.steps.shell import ShellCommand
class MySubclass(ShellCommand):
command = ['stuff', 'here']
...
If you do this, keep in mind that reloading the buildmaster's config file
(with 'buildbot sighup DIR', or the debugclient's Reload Config button) will
not re-read the config_helper.py module. This is because python caches the
contents of that module. You can add this to your master.cfg:
import config_helper
reload(config_helper)
MySubclass = config_helper.MySubclass
but then any Builders which use MySubclass will *always* be restarted, even
if config_helper.py doesn't change, since at that point the class object is
always changing.
cheers,
-Brian
More information about the devel
mailing list