- Build.xml is the backbone file for running ANT.
- It has one project tag and at least one target tag.
- Project Tag has three attributes
- Name:- Project Name
- Default:-Default target to be called
- Basedir:- Basic Directory to do the needful.(More specifically it contains the absolute path.)
- Example:
<project name="My Project" default="compile" basedir="."> - Then the target tag
- Name:- target name(Required)
- Depends:-if dependent on other targets..(We can even use if statement like if there exist the property then the target is dependent on other target )
- Description:- description.
- Example:<target name="clean" description="Removing the all generated files.">
<delete dir="${dir.build}"/>
<delete dir="${dir.dest}"/>
</target> - Then the property tag.
- Name:-name of the property
- Location:- It contains the property name.
- Value:- we can place the property value between ${"name }
- File:- The name of the property file.
- Example:<property name="build" value="${build}"/>
<property name="build" location="src"/>
<property file="build.properties"/> - Sample: build.xml
<property name="build" value="${build}"/>
<property name="src" location="src"/>
<property file="build.properties"/>
<project name="My Project" default="jar" basedir=".">
<property name="dir.src" value="src"/>
<property name="dir.build" value="build"/>
<property name="dir.dest" value="dest"/>
<property name="dir.src" value="src"/>
<property name="dir.build" value="build"/>
<property name="dir.dest" value="dest"/>
<target name="clean" description="Removing the all generated files.">
<delete dir="${dir.build}"/>
<delete dir="${dir.dest}"/>
<delete dir="${dir.build}"/>
<delete dir="${dir.dest}"/>
</target>
<target name="prepare" depends="clean">
<mkdir dir="${dir.build}"/>
<mkdir dir="${dir.dest}"/>
<mkdir dir="${dir.src}"/>
</target>
<target name="prepare" depends="clean">
<mkdir dir="${dir.build}"/>
<mkdir dir="${dir.dest}"/>
<mkdir dir="${dir.src}"/>
</target>
<target name="compile" depends="prepare" description="Compilation of all source code.">
<javac srcdir="${dir.src}" destdir="${dir.build}"/>
</target>
<javac srcdir="${dir.src}" destdir="${dir.build}"/>
</target>
<target name="jar" depends="compile" description="Generates Sample.jar file in the dest folder">
<jar jarfile="${dir.dest}/sample.jar" basedir="${dir.build}"/>
</target>
</project>
<jar jarfile="${dir.dest}/sample.jar" basedir="${dir.build}"/>
</target>
</project>
<target name="buildWar" depends="init" description="build a war file"/>
<target name="init" if="build"/>
<target name="init" unless="build"/>