The project recipe
******************

Supported options
=================

The recipe supports the following options:

    Lists the projects the buildbot deal with (one project=one column) The
    values must be a section name in the configuration file.  Then each of this
    section must contain:
    
slave-names

  A list of slaves name to use for the project.

base-url

  Base url for the repository.

branch

  Last part of the url. Default to 'trunk'. Not used if you provide a base url
  ended with 'trunk'.

email-notification-sender

  An email to send mail with.

email-notification-recipients

  A set of lines with emails to send mail to.

build-sequence

  The sequence of shell
  commands to build the project.
  Defaults to:
  
  - bin/python boostrap.py
  - bin/buildout

test-sequence

  The sequence of shell commands that are run to test the project.
  Defaults to 'bin/test'
    
The buildbot will use base-url/project/branch to get the full url to
be retrieved for the checkout.

Example usage
=============

We'll start by creating a buildout that uses the recipe::

    >>> write('buildout.cfg',
    ... """
    ... [buildout]
    ... parts = my.package
    ... 
    ... [my.package]
    ... recipe = collective.buildbot:project
    ... slave-names = slave1
    ... base-url = http://example.com/svn/ 
    ...
    ... """)

This will test the package located at `http://example.com/svn/my.package/trunk`

Running the buildout gives us::

    >>> print system(buildout)
    Installing my.package.
    Generated config '/sample-buildout/parts/projects/my.package.cfg'.

This will generate a config file for each project::

    >>> cat(join('parts', 'projects', 'my.package.cfg'))
    [project]
    ...
    name = my.package
    ...
    slave-names = slave1
    ...
    branch = my.package/trunk
    base-url = http://example.com/svn/
    <BLANKLINE>

Email notification::

    >>> write('buildout.cfg',
    ... """
    ... [buildout]
    ... parts = my.package
    ... 
    ... [my.package]
    ... recipe = collective.buildbot:project
    ... slave-names = slave1
    ... email-notification-sender = foo@bar.com
    ... email-notification-recipient =
    ...     bar@foo.com
    ...     buildbot@foo.com
    ... base-url = http://example.com/svn/ 
    ...
    ... """)

The projects recipe
*******************

Supported options
=================

Options are the same than the project except one.

projects

  A list of projects name.

  
