A build is a process that derives new resources from existing ones, updates existing resources, or both.
In the Workbench, different builders are invoked for different types of projects. For example, when a build is triggered for a Java project, a Java builder converts each Java source file (.java files) into one or more executable class files (.class files). Builders usually enforce the constraints of some domain. For example, a Web link builder could update links to files whose name/location changes.
There are two kinds of builds:
An incremental build leverages a previously built state and applies the transforms of the configured builders to the resources that have changed since the previous state was computed (that is, since the last build).
A clean build discards any problems and previously built state. The next build after a clean will transform all resources according to the domain rules of the configured builders.
Incremental and clean builds can be done over a specific set of projects or the workspace as a whole. Specific files and folders cannot be built. There are two ways that builds can be performed: