#! /usr/bin/python

from buildbot import master
from buildbot.process import factory, step
from buildbot.status import html, client
from buildbot.changes.pb import PBChangeSource
s = factory.s

BuildmasterConfig = c = {}

c['bots'] = [["bot1", "sekrit"]]

c['sources'] = []
c['sources'].append(PBChangeSource(prefix="trunk"))
c['builders'] = []

if 1:
    steps = [
        s(step.CVS,
          cvsroot="/usr/home/warner/stuff/Projects/BuildBot/demo/Repository",
          cvsmodule="hello",
          mode="clobber",
          checkoutDelay=6,
          alwaysUseLatest=True,
          ),
        s(step.Configure),
        s(step.Compile),
        s(step.Test, command=["make", "check"]),
        ]
    b1 = {"name": "cvs-hello",
          "slavename": "bot1",
          "builddir": "cvs-hello",
          "factory": factory.BuildFactory(steps),
          }
    c['builders'].append(b1)

if 1:
    svnrep="file:///usr/home/warner/stuff/Projects/BuildBot/demo/SVN-Repository"
    steps = [
        s(step.SVN,
          svnurl=svnrep+"/hello",
          mode="update",
          ),
        s(step.Configure),
        s(step.Compile),
        s(step.Test, command=["make", "check"]),
        ]
    b1 = {"name": "svn-hello",
          "slavename": "bot1",
          "builddir": "svn-hello",
          "factory": factory.BuildFactory(steps),
          }
    c['builders'].append(b1)

if 1:
    steps = [
        s(step.Darcs,
          repourl="http://localhost/~warner/hello-darcs",
          mode="copy",
          ),
        s(step.Configure, command=["/bin/sh", "./configure"]),
        s(step.Compile),
        s(step.Test, command=["make", "check"]),
        ]
    b1 = {"name": "darcs-hello",
          "slavename": "bot1",
          "builddir": "darcs-hello",
          "factory": factory.BuildFactory(steps),
          }
    c['builders'].append(b1)

if 1:
    steps = [
        s(step.Arch,
          url="http://localhost/~warner/hello-arch",
          version="gnu-hello--release--2.1.1",
          mode="copy",
          ),
        s(step.Configure),
        s(step.Compile),
        s(step.Test, command=["make", "check"]),
        ]
    b1 = {"name": "arch-hello",
          "slavename": "bot1",
          "builddir": "arch-hello",
          "factory": factory.BuildFactory(steps),
          }
    c['builders'].append(b1)


c['projectName'] = "Hello"
c['projectURL'] = "http://www.hello.example.com"
c['buildbotURL'] = "http://localhost:8080"

c['slavePortnum'] = 8007
c['debugPassword'] = "asdf"
c['manhole'] = master.Manhole(9900, "username", "password")

c['status'] = [html.Waterfall(http_port=8080),
               client.PBListener(port=8008),
               ]

