blob: f014c7d3de136541887c1a81e8fe15eca8329d8a [file] [log] [blame]
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.ant.core" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
<appInfo>
<meta.schema plugin="org.eclipse.ant.core" id="antTasks" name="Ant Tasks"/>
</appInfo>
<documentation>
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.
</documentation>
</annotation>
<element name="extension">
<annotation>
<appInfo>
<meta.element />
</appInfo>
</annotation>
<complexType>
<sequence>
<element ref="antTask" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="point" type="string" use="required">
<annotation>
<documentation>
a fully qualified identifier of the target extension point
</documentation>
</annotation>
</attribute>
<attribute name="id" type="string">
<annotation>
<documentation>
an optional identifier of the extension instance
</documentation>
</annotation>
</attribute>
<attribute name="name" type="string">
<annotation>
<documentation>
an optional name of the extension instance
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="antTask">
<annotation>
<appInfo>
<meta.element labelAttribute="name"/>
</appInfo>
</annotation>
<complexType>
<attribute name="name" type="string" use="required">
<annotation>
<documentation>
name of the task to be defined
</documentation>
</annotation>
</attribute>
<attribute name="uri" type="string">
<annotation>
<documentation>
The uri that this definition should live in. Only used if using Ant newer than 1.6.
</documentation>
</annotation>
</attribute>
<attribute name="class" type="string" use="required">
<annotation>
<documentation>
the fully qualified name of a Java class implementing
the task. Generally this class must be a subclass of
&lt;code&gt;org.apache.tools.ant.Task&lt;/code&gt;.
</documentation>
<appInfo>
<meta.attribute kind="java" basedOn="org.apache.tools.ant.Task"/>
</appInfo>
</annotation>
</attribute>
<attribute name="library" type="string" use="required">
<annotation>
<documentation>
a path relative to the plug-in install location
for the library containing the task.
</documentation>
<appInfo>
<meta.attribute kind="resource"/>
</appInfo>
</annotation>
</attribute>
<attribute name="headless" type="boolean">
<annotation>
<documentation>
indicates whether this task is suitable for use in a &quot;headless&quot; Ant environment. If running headless and the attribute is &quot;false&quot;,
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.
</documentation>
</annotation>
</attribute>
<attribute name="eclipseRuntime" type="boolean">
<annotation>
<documentation>
indicates whether this task requires an Eclipse runtime (i.e. must be run in the same VM as Eclipse). The implied value is true, when not specified.
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<annotation>
<appInfo>
<meta.section type="examples"/>
</appInfo>
<documentation>
The following is an example of an Ant tasks extension point:
&lt;p&gt;
&lt;pre&gt;
&lt;extension point=&quot;org.eclipse.ant.core.antTasks&quot;&gt;
&lt;antTask name=&quot;coolTask&quot; class=&quot;com.example.CoolTask&quot; library=&quot;lib/antSupport.jar&quot;/&gt;
&lt;/extension&gt;
&lt;/pre&gt;
&lt;/p&gt;
In the above example the &lt;code&gt;antSupport.jar&lt;/code&gt; must be created using an Ant project builder. For more information about creating project builders and how they work, please refer to the following help topics: &lt;b&gt;Contributing tasks and types&lt;/b&gt;, &lt;b&gt;Ant buildfiles as project builders&lt;/b&gt; and &lt;b&gt;Creating a project builder Ant buildfile&lt;/b&gt;
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="implementation"/>
</appInfo>
<documentation>
The platform itself supplies a number of tasks including
eclipse.incrementalBuild and eclipse.refreshLocal.
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="copyright"/>
</appInfo>
<documentation>
Copyright (c) 2000, 2011 IBM Corporation and others.&lt;br&gt;
This program and the accompanying materials are made
available under the terms of the Eclipse Public License 2.0 which
accompanies this distribution, and is available at
&lt;a href=&quot;https://www.eclipse.org/legal/epl-2.0&quot;&gt;https://www.eclipse.org/legal/epl-v20.html&lt;/a&gt;/
SPDX-License-Identifier: EPL-2.0
</documentation>
</annotation>
</schema>