A BuildRequest
is a request to build a specific set of sources
on a single specific Builder
. Each Builder
runs the
BuildRequest
as soon as it can (i.e. when an associated
buildslave becomes free). BuildRequest
s are prioritized from
oldest to newest, so when a buildslave becomes free, the
Builder
with the oldest BuildRequest
is run.
The BuildRequest
contains the SourceStamp
specification.
The actual process of running the build (the series of Steps that will
be executed) is implemented by the Build
object. In this future
this might be changed, to have the Build
define what
gets built, and a separate BuildProcess
(provided by the
Builder) to define how it gets built.
BuildRequest
is created with optional Properties
. One
of these, owner
, is collected by the resultant Build
and
added to the set of interested users to which status
notifications will be sent, depending on the configuration for each
status object.
The BuildRequest
may be mergeable with other compatible
BuildRequest
s. Builds that are triggered by incoming Changes
will generally be mergeable. Builds that are triggered by user
requests are generally not, unless they are multiple requests to build
the latest sources of the same branch.