blob: fb02ed0ad141450cd728f8663262274375f2841f [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html lang="en">
<HEAD>
<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2011. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="../book.css" CHARSET="ISO-8859-1" TYPE="text/css">
<title>Builds</title>
<script language="JavaScript" src="PLUGINS_ROOT/org.eclipse.help/livehelp.js" type="text/javascript"> </script>
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1 CLASS="Head">
Builds</H1>
<p CLASS="Head">
A <i>build</i> is a process that derives new resources from existing ones, updates existing resources, or both.&nbsp;</p>
<p CLASS="Head">
In the Workbench,&nbsp;different <i>builders</i> 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.</p>
<p>There are two kinds of builds:&nbsp;</p>
<ul>
<li>
<p>An <i>incremental build</i> 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).</p></li>
<li>
<p>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.</p></li>
</ul>
<p>Incremental and clean builds can be done over a specific set of projects or
the workspace as a whole.&nbsp;Specific files and folders cannot be built. There are two ways that builds can be performed:</p>
<ul>
<li> Automatic builds are performed as resources are saved. Automatic builds
are always incremental and always operate over the entire workspace. You can
configure your preferences
(<a class="command-link" href='javascript:executeCommand("org.eclipse.ui.window.preferences(preferencePageId=org.eclipse.ui.preferencePages.Workspace)")'>
<img src="PLUGINS_ROOT/org.eclipse.help/command_link.svg" alt="command link">
<b>General &gt; Workspace</b></a>) to
perform builds automatically on resource modification.&nbsp;</li>
<li>
Manual builds are initiated when you explicitly select a menu item or press the
equivalent shortcut key. Manual builds can be either clean or incremental and can operate over collections of projects
or the entire workspace.</li>
</ul>
<p><img border="0" src="../images/ngrelc.png" alt="Related concepts" >
<br><a href="concepts-exttools.htm">External tools</a>
</p>
<p><img border="0" src="../images/ngrelt.png" alt="Related tasks" >
<br><a href="../tasks/tasks-73.htm">Building resources</a>
<br><a href="../tasks/tasks-75.htm">Performing builds manually</a>
<br><a href="../tasks/tasks-16.htm">Performing builds automatically</a>
<br><a href="../tasks/tasks-17.htm">Saving resources automatically before a manual build</a><a href="../tasks/tasks-14.htm"><br>
Changing build order</a></p>
</BODY>
</HTML>