# Ant Types

###### Identifier:

org.eclipse.ant.core.antTypes

###### Description:

Allows plug-ins to define arbitrary Ant datatypes for use by the Ant infrastructure. The standard Ant infrastructure allows for the addition of arbitrary datatypes. Unfortunately, it is unlikely that the Ant Core plug-in would have the classes required by these datatypes 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 datatype name onto a class. The Ant plug-in can then request that the declaring plug-in load the specified class.

###### Configuration Markup:

<!ELEMENT extension (antType*)>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED>

- point - a fully qualified identifier of the target extension point
- id - an optional identifier of the extension instance
- name - an optional name of the extension instance

<!ELEMENT antType EMPTY>

<!ATTLIST antType

name CDATA #REQUIRED

uri CDATA #IMPLIED

class CDATA #REQUIRED

library CDATA #REQUIRED

headless (true | false)

eclipseRuntime (true | false) >

- name - name of the type to be defined
- uri - The uri that this definition should live in. Only used if using Ant newer than 1.6.
- class - the fully qualified name of a Java class implementing the datatype. Generally this class must be a subclass of `org.apache.tools.ant.types.DataType`.
- library - a path relative to the plug-in install location for the library containing the type.
- headless - indicates whether this type is suitable for use in a "headless" Ant environment. If running headless and the attribute is `false`, the type 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.
- eclipseRuntime - indicates whether this type requires an Eclipse runtime (i.e. must be run in the same VM as Eclipse). The implied value is `true`, when not specified.

###### Examples:

The following is an example of an Ant types extension point:

       <extension point="org.eclipse.ant.core.antTypes">
          <antType name="coolType" class="com.example.CoolType" library="lib/antSupport.jar"/>
       </extension>

Copyright (c) 2000, 2006 IBM Corporation and others.
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 http://www.eclipse.org/legal/epl-v10.html