• avi

    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 

    Sr.No.Properties & Description
    1
    ant.file
    The full location of the build file.
    2
    ant.version
    The version of the Apache Ant installation.
    3
    basedir
    The basedir of the build, as specified in the basedir attribute of the project element.
    4
    ant.java.version
    The version of the JDK that is used by Ant.
    5
    ant.project.name
    The name of the project, as specified in the name atrribute of the project element.
    6
    ant.project.default-target
    The default target of the current project.
    7
    ant.project.invoked-targets
    Comma separated list of the targets that were invoked in the current project.
    8
    ant.core.lib
    The full location of the Ant jar file.
    9
    ant.home
    The home directory of Ant installation.
    10
    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 = "www.tutorialspoint.com"/>
       
       <target name = "info">
          <echo>Apache Ant version is ${ant.version} - You are at ${sitename} </echo>
       </target>
    </project>

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

    C:\>ant
    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 www.tutorialspoint.com

    BUILD SUCCESSFUL
    Total time: 0 seconds
    C:\>