Ant - Property Task


Ant build files are written in XML, which does not allow declaring variables as you do in your favorite programming language. However, as you may have imagined, it would be useful if Ant allowed declaring variables such as project name, project source directory, etc.

Ant uses the property element which allows you to specify properties. This allows the properties to be changed from one build to another or from one environment to another.

By default, Ant provides the following pre-defined properties that can be used in the build file:

Properties Description
ant.file The full location of the build file.
ant.version The version of the Apache Ant installation.
basedir The basedir of the build, as specified in the basedir attribute of the project element. The version of the JDK that is used by Ant. The name of the project, as specified in the name atrribute of the project element.
ant.project.default-target The default target of the current project.
ant.project.invoked-targets Comma separated list of the targets that were invoked in the current project.
ant.core.lib The full location of the Ant jar file.
ant.home The home directory of Ant installation.
ant.library.dir The home directory for Ant library files - typically ANT_HOME/lib folder.

Ant also makes the system properties (Example: file.separator) available to the build file.

In addition to the above, the user can define additional properties using the property element. The following example shows how to define a property called sitename:

<?xml version="1.0"?>
<project name="Hello World Project" default="info">

   <property name="sitename" value=""/>
   <target name="info">
      <echo>Apache Ant version is ${ant.version} - You are at ${sitename} </echo>

Running Ant on the above build file produces the following output:

Buildfile: C:\build.xml

info: [echo] Apache Ant version is Apache Ant(TM) version 1.8.2  
      compiled on December 20 2010 - You are at

Total time: 0 seconds