ANT Property Task



Using pre-defined properties :

Below are some pre-defined properties that can be used in the build file directly

Properties Description
ant.file Full location of the build file.
ant.version Version of the Apache Ant installation.
basedir The basedir of the build, as specified in the basedir attribute of the project element.
ant.java.version The version of the JDK that is used by Ant.
ant.project.name 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.

Example Build File :

<?xml version="1.0"?>
<project name="Hello World Project" default="info">
   <target name="info">
     <echo>${ant.version}</echo>
     <echo>${ant.file}</echo>
     <echo>${basedir}</echo>
     <echo>${ant.java.version}</echo>
     <echo>${ant.project.name}</echo>
     <echo>${ant.project.default-target}</echo>
     <echo>${ant.project.invoked-targets}</echo>
     <echo>${ant.core.lib}</echo>
     <echo>${ant.home}</echo>
     <echo>${ant.library.dir}</echo>
   </target>
</project>

Running ant on the above build file should produce the following output:

C:\example>ant
Buildfile: C:\example\build.xml
info:
     [echo] Apache Ant(TM) version 1.8.3 
               compiled on February 26 2012
     [echo] C:\example\build.xml
     [echo] C:\example
     [echo] 1.6
     [echo] Hello World Project
     [echo] info
     [echo] info
     [echo] C:\Softwares\apache-ant-1.8.3\lib\ant.jar
     [echo] C:\Softwares\apache-ant-1.8.3
     [echo] C:\Softwares\apache-ant-1.8.3\lib
BUILD SUCCESSFUL
Total time: 0 seconds
C:\example>

Define custom properties :

  1. If user want to create the custom property task then user can define additional properties using the property element.
  2. If we need to make build file which contain the different value of property Ant depending on the environment we can use the custom properties.
<?xml version="1.0"?>
<project name="Hello World Project" default="info">
   <property name="website" value="www.c4learn.com"/>
   <property name="year" value="2014"/>
   <target name="info">
     <echo>${website}</echo>
     <echo>${year}</echo>
   </target>
</project>

Output :

C:\example>ant
Buildfile: C:\example\build.xml
info:
     [echo] www.c4learn.com
     [echo] 2014
BUILD SUCCESSFUL
Total time: 0 seconds
C:\example>

In the above example, we have defined two custom properties i.e website and year using property tag.