| <!doctype html public "-//w3c//dtd html 4.0 transitional//en"> |
| <html> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> |
| <meta name="GENERATOR" content="Mozilla/4.75 [en] (Windows NT 5.0; U) [Netscape]"> |
| <title>Incremental Project Builders</title> |
| </head> |
| <body link="#0000FF" vlink="#800080"> |
| |
| <center> |
| <h1> |
| Incremental Project Builders</h1></center> |
| <b><i>Identifier: </i></b>org.eclipse.core.resources.builders |
| <p><b><i>Description: </i></b>The workspace supports the notion of an incremental |
| project builder (or "builder" for short"). The job of a builder is |
| to process a set of resource changes (supplied as a resource delta). |
| For example, a Java builder would recompile changed Java files and produce |
| new class files. |
| <p>Builders are configured on a per-project basis and run automatically |
| when resources within their project are changed. As such, builders |
| should be fast and scale with respect to the amount of change rather than |
| the number of resources in the project. This typically implies that |
| builders are able to incrementally update their "built state". |
| <p>The builders extension-point allows builder writers to register their |
| builder implementation under a symbolic name that is then used from within |
| the workspace to find and run builders. The symbolic name is the id of |
| the builder extension. When defining a builder extension, users are |
| encouraged to include a human-readable value for the "name" attribute which |
| indentifies their builder and potentially may be presented to users. |
| <p><b><i>Configuration Markup:</i></b> |
| <p><tt> <!ELEMENT builder run?></tt> |
| <br><tt> <!ATTLIST builder</tt> |
| <br><tt> hasNature CDATA |
| #IMPLIED</tt> |
| <br><tt> ></tt> |
| <ul> |
| <li> |
| <b>hasNature-</b> "<tt>true</tt>" or "<tt>false</tt>" indicating whether |
| this builder is owned by a project nature. If "<tt>true</tt>" and |
| no corresponding nature is found, this builder will not run but will remain |
| in the project's build spec. If this attribute is not specified, |
| it is assumed to be "<tt>false</tt>".</li> |
| </ul> |
| <tt> <!ELEMENT run parameter*> <!ATTLIST |
| run</tt> |
| <br><tt> class |
| CDATA #REQUIRED</tt> |
| <br><tt> ></tt> |
| <ul> |
| <li> |
| <b>class -</b> the fully-qualified name of a subclass of <tt>org.eclipse.core.resources.IncrementalProjectBuilder</tt>.</li> |
| </ul> |
| <tt> <!ELEMENT parameter EMPTY></tt> |
| <br><tt> <!ATTLIST parameter</tt> |
| <br><tt> name |
| CDATA #REQUIRED</tt> |
| <br><tt> value |
| CDATA #REQUIRED</tt> |
| <br><tt> ></tt> |
| <ul> |
| <li> |
| <b>name</b> - the name of this parameter made available to instances of |
| the specified builder class</li> |
| |
| <li> |
| <b>value</b> - an arbitrary value associated with the given name and made |
| available to instances of the specified builder class</li> |
| </ul> |
| <b><i>Examples:</i></b> |
| <p>Following is an example of a builder configuration: |
| <p><tt> <extension id="coolbuilder" name="Cool Builder" |
| point="org.eclipse.core.resources.builders"></tt> |
| <br><tt> <builder hasNature="false"></tt> |
| <br><tt> <run class="com.xyz.builders.Cool"></tt> |
| <br><tt> |
| <parameter name="optimize" value="true"/></tt> |
| <br><tt> |
| <parameter name="comment" value="Produced by the Cool Builder"/></tt> |
| <br><tt> </run></tt> |
| <br><tt> </builder></tt> |
| <br><tt> </extension></tt> |
| <p>If this extension was defined in a plug-in with id "com.xyz.coolplugin", |
| the fully qualified name of this builder would be "com.xyz.coolplugin.coolbuilder". |
| <p><b><i>API Information</i>: </b>The value of the <tt>class</tt> attribute |
| must represent a subclass of <tt>org.eclipse.core.resources.IncrementalProjectBuilder</tt>. |
| <p><b><i>Supplied Implementation:</i></b> The platform itself does not |
| have any predefined builders. Particular product installs may include builders |
| as required. |
| <p><a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corp. 2000, 2002. All Rights Reserved." BORDER=0 height=12 width=195></a> |
| </body> |
| </html> |