Sets a property if a resource is available at runtime. This resource can be a file, a directory, a class in the classpath, or a JVM system resource.
If the resource is present, the property value is set to true by
default, otherwise the property is not set. You can set the value to
something specific by specifying the value attribute.
Normally, this task is used to set properties that are useful to avoid target execution depending on system parameters.
| Attribute | Description | Required |
| property | The name of the property to set. | Yes |
| value | The value to set the property to. Defaults to "true". | No |
| classname | The class to look for in the classpath. | Yes |
| dir | The directory to look for. | |
| file | The file to look for. | |
| resource | The resource to look for in the JVM. | |
| classpath | The classpath to
use when looking up classname or resource. | No |
| classpathref | The classpath to use, given as a reference to a path defined elsewhere. | No |
Available's classpath attribute is a path-like structure and can also be set via a nested
<classpath> element.
<available classname="org.whatever.Myclass" property="Myclass.present"/>
sets the Myclass.present property to the value "true"
if the class org.whatever.Myclass is found in Ant's classpath.
<property name="jaxp.jar" value="./lib/jaxp11/jaxp.jar"/>
<available file="${jaxp.jar}" property="jaxp.jar.present"/>
sets the jaxp.jar.present property to the value "true"
if the file ./lib/jaxp11/jaxp.jar is found.
...in project ...
<property name="jaxp.jar" value="./lib/jaxp11/jaxp.jar"/>
<path id="jaxp" location="${jaxp.jar}"/>
...in target ...
<available classname="javax.xml.transform.Transformer" classpathref="jaxp" property="jaxp11.present"/>
sets the jaxp11.present property to the value "true"
if the class javax.xml.transform.Transformer is found in the classpath referenced by jaxp (in this case, ./lib/jaxp11/jaxp.jar).
<available property="have.extras" resource="extratasks.properties">
<classpath>
<pathelement location="/usr/local/ant/extra.jar/>
</classpath>
</available>
sets the have.extras property to the value "true"
if the resource-file extratasks.properties is found.
Copyright © 2000,2001 Apache Software Foundation. All rights Reserved.