Builders take workspace resources and derive new resources or update existing resources.
A Java builder, for example, converts Java source files (.java files) into executable class files (.class files). This transform need not be one-to-one (one .java file can produce several .class files).
Builders are usually used as a mechanism for enforcing the constraints of some domain. For example, a web link builder could update links to files whose name/location changes.
This section explains the types of builds that can be done and the ways that builds are performed.