Skip to main content

Ant Tutorial


  • 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
<project name="My Project" default="compile" basedir=".">
<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"/>
<target name="clean" description="Removing the all generated files.">
<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="compile" depends="prepare" description="Compilation of all source code.">
<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>
<target name="buildWar" depends="init" description="build a war file"/>

 
<target name="init" if="build"/>

 
<target name="init" unless="build"/>

Popular posts from this blog

Primitive Obsession with Example

Primitive Obsession is the name of a code smell that occurs when we use primitive data types to represent domain ideas. For example, we use a string to represent a message or an integer to represent an amount of money. For Example: Code with Primitive Obsession // primitiveObsession.java public class primitiveObsession { public static void main ( String args []) { Integer [] cityPopulations = { 13000000 , // London 21903623 , // New York 12570000 , // Tokyo 1932763 , // Stockholm 1605602 , // Barcelona 4119190 // Sydney }; for ( Integer cityPopulation : cityPopulations ) { System . out . println ( cityPopulation ); } } } public class City { private final String name ; private final int population ; private final Continent continent ; public String getName () { return name ; } public int getPopulation () { return population ; } public Continent ge...

Singleton Pattern

Lazy Initialization :- The instantiation of an object can be delayed until it is actually needed. Usage: This especially beneficial when the constructor is doing a costly job like, accessing a remote database. Example: This code demonstrates how the Singleton pattern can be used to create a counter to provide unique sequential numbers, such as might be required for use as primary keys in a Database:   Sequence.java   public class Sequence { private static Sequence instance; private static int counter; private Sequence() { counter = 0; // May be necessary to obtain // starting value elsewhere... } public static synchronized Sequence getInstance() { if(instance==null) // Lazy instantiation { instance = new Sequence(); } return instance; } public static synchronized int getNext() { return ++counter; } }   Some things to note about this implementation: Synchronized methods are used to ensure that the class is thread-safe. This class cannot be subclassed because the constructor is private ...

MVC Design Patterns

Context MVC is an architectural pattern that is used when developing interactive application such as a shopping cart on the Internet. Problem User interfaces change often, especially on the internet where look-and-feel is a competitive issue. Also, the same information is presented in different ways. The core business logic and data is stable . Solution Use the concept of dividing the concerns to divide the application into three areas Model :- Encapsulates the core data and the functionality View :- Encapsulates the presentation of the data there can be many views of the common data Controller:- accepts input from the user and makes request from the model for the data to produce a new view The model represents the structure of the data and the operations that can be performed on that data. The view represents the data that is in a presentable format. The controller translates the user action like mouse events, submit, keystrokes, words spoken with user input to call the call t...