[Buildbot-devel] when is a Source class not a revision control system?

Brian Warner warner-buildbot at lothar.com
Sat Dec 8 20:48:21 UTC 2007


On Tue, 27 Nov 2007 16:59:33 -0800
"Robert Helmer" <robert at roberthelmer.com> wrote:

> cvs co client.mk
> make -f client.mk MOZ_CO_PROJECT=browser

...

> I've been calling this class ClientMk, but it occurs to me that other
> projects might need this as well (such as Ant, Maven, etc.) so maybe
> it can be made more generic. Is there a place in Buildbot for a more
> generic class (CustomSource or something?) which is able to use a
> version control system to check out an initial file, which is then
> responsible for driving the checkout?
> 
> Alternatively would a ClientMk class be acceptable in Buildbot
> proper? It should enable any Mozilla-based project (of which there
> are quite a few now) to use this and could serve as a template for
> others.

At the very least, let's add a page to the wiki for "useful BuildSteps", and
include this one in the "source checkout" category.

If there are enough projects that could use it (and if you can make it
versatile enough to handle them.. I have no idea what sort of parameters
you'd want to have on it), then let's put it in the buildbot proper. I
support buildbot/steps/source.py is a reasonable place to start with.. or if
this "client.mk" convention has a name (mozillabuild?), then we could put in
in some other buildbot/steps/XXX.py file.

(I'm guessing that you control the version of the project as a whole by
controlling the version of the client.mk that you start with? I remember
doing similar things with 'seed' files that referenced explicit version
numbers of other CVS-control source files many years ago, like tagging but
transposed to keep from adding a bazillion tags to every single source file).

cheers,
 -Brian




More information about the devel mailing list