<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.ant.core">
<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">
      <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;
      </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, 2006 IBM Corporation and others.&lt;br&gt;
All rights reserved. This program and the accompanying materials are made 
available under the terms of the Eclipse Public License v1.0 which 
accompanies this distribution, and is available at 
&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
      </documentation>
   </annotation>

</schema>
