[Buildbot-devel] supporting buildbot for android

Anantvijay K anantvijayk.ml at gmail.com
Mon Jul 13 10:05:40 UTC 2009

Hi Dustin, all,

Going forward with the previous communications, i've wriiten two classes for
supporting android:
1. Repo - master side
2. RespoSlave - slave side

For now i have written both the classes in the master.cfg, since this is to
verify whether the approach works. It still has lots of code from the Git

I'm facing some issue when i try to use my source step Repo(........).
The master's log says:
"Traceback (most recent call last):
Failure: buildbot.slave.bot.UnknownCommand"

Implementation details:

*1. Repo - master side*

from buildbot.steps.source import Source
from buildbot.process.buildstep import LoggedRemoteCommand

class Repo(Source):
    name = "repo"

    def __init__(self, repourl, branch="master", revision="HEAD", **kwargs):
        Source.__init__(self, **kwargs)
        self.addFactoryArguments(repourl=repourl, branch=branch, ........)

    def computeSourceRevision(self, changes):

    def startVC(self, branch, revision, patch):
       * cmd = LoggedRemoteCommand("repoInit", self.args)

*2. RepoSlave - slave side*

from buildbot.slave.commands import SourceBase
from buildbot.slave.registry import registerSlaveCommand

class RepoSlave(SourceBase):
    name = "repo operation"
    """ everything else is kept as it is in git class, just for testing

*registerSlaveCommand("repoInit", RepoSlave, "1")*


How do i debug it???

On Thu, Jul 9, 2009 at 7:01 PM, Dustin J. Mitchell <dustin at zmanda.com>wrote:

> On Thu, Jul 9, 2009 at 3:16 AM, Anantvijay K<anantvijayk.ml at gmail.com>
> wrote:
> > Looking through the source found out the following:
> > 1. buildbot/steps/source.py
> >     It has a class named "Git" derived from a class called "Source"
> > 2. buildbot/slave/commands.py
> >     It also has a class named "Git" derived from a class called
> > "SourceBase". Later registers the command.
> You've found the two places (master-side and slave-side) that you'll
> need to modify.  They communicate via an RPC mechanism called PB which
> invokes remote_foo methods on the slave side via callRemote() calls on
> the master.
> > So i've to modify both the classes?? Is there a howto/steps for
> supporting a
> > new VCS. Can u help me out with the steps to support android. It would be
> > better if i could get a checklist saying modify/write this, this, and
> > this...
> You'll need to read through how those classes work, and think about
> the differences between the android system and git, and how to reflect
> those in Python code.  Hopefully the differences are fairly minor.
> This is *Twisted* Python, so you'll also need to read up on
> programming with Deferreds rather than the usual threaded-application
> model.
> Dustin
> --
> Open Source Storage Engineer
> http://www.zmanda.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://buildbot.net/pipermail/devel/attachments/20090713/8664b7a7/attachment.html>

More information about the devel mailing list