blob: 1346c076530f888a34607e6c7b0cd943a388dcaf [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<STYLE type="text/css">
div.dtd-fragment {
width: 100%;
border: none;
background-color: #eee;
}
</STYLE>
</HEAD>
<HTML>
<BODY>
<H1><CENTER>Ant Tasks</CENTER></H1>
<b><i>Identifier: </i></b>org.eclipse.ant.core.antTasks<p>
<b><i>Description: </i></b>Allows plug-ins to define arbitrary Ant tasks for use
by the Ant infrastructure. The standard Ant infrastructure
allows for the addition of arbitrary tasks.
Unfortunately, it is unlikely that the Ant Core plug-in
would have the classes required by these tasks on its
classpath (or that of any of its prerequisites).
To address this, clients should define an extension
which plugs into this extension-point and maps a
task name onto a class. The Ant plug-in can then
request that the declaring plug-in load the specified class.<p><b><i>Configuration Markup:</i></b><p>
<p><samp><font color="#800000">&nbsp;&nbsp; &lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.antTask">antTask</a>*)&gt;</font></samp>
<br><br><samp><font color="#800000">&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
<br><samp>&nbsp;&nbsp; &gt;</font></samp>
<ul>
<li><b>point</b> - a fully qualified identifier of the target extension point</li>
<li><b>id</b> - an optional identifier of the extension instance</li>
<li><b>name</b> - an optional name of the extension instance</li>
</ul>
<p><samp><font color="#800000">&nbsp;&nbsp; &lt;!ELEMENT <a name="e.antTask">antTask</a> EMPTY&gt;</font></samp>
<br><br><samp><font color="#800000">&nbsp;&nbsp; &lt;!ATTLIST antTask</samp>
<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;library&nbsp;&nbsp;CDATA #REQUIRED</samp>
<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;headless&nbsp;CDATA #IMPLIED</samp>
<br><samp>&nbsp;&nbsp; &gt;</font></samp>
<ul>
<li><b>name</b> - name of the task to be defined</li>
<li><b>class</b> - the fully qualified name of a Java class implementing
the task. Generally this class must be a subclass of
<samp>org.apache.tools.ant.Task</samp>.</li>
<li><b>library</b> - a path relative to the plug-in install location
for the library containing the task.</li>
<li><b>headless</b> - indicates whether this task is suitable for use in a "headless" Ant environment. If running headless and the attribute is "false",
the task will not be loaded or defined. As well, the plugin class loader will not be added as a parent classloader to the Ant classloader.
The implied value is true, when not specified.</li>
</ul>
<b><i>Examples: </i></b>The following is an example of an Ant tasks extension point:
<p>
<pre>
<font color="#000080">&lt;extension point=<font color="#008000">&quot;org.eclipse.ant.core.antTasks&quot;</font>&gt;</font>
<font color="#000080">&lt;antTask name=<font color="#008000">&quot;coolTask&quot;</font> class=<font color="#008000">&quot;com.example.CoolTask&quot;</font>/&gt;</font>
<font color="#000080">&lt;/extension&gt;</font>
</pre>
</p><p>
<b><i>Supplied Implementation: </i></b>The platform itself supplies a number of tasks including
eclipse.incrementalBuild and eclipse.refreshLocal.<p>
<font size="-1" color="#336699">
<a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corp. 2000, 2003. All Rights Reserved." BORDER=0 height=14 width=324></a><p>
</font>
</BODY>
</HTML>