This is version . It is not the current version, and thus it cannot be edited.
[Back to current version]   [Restore this version]

Ant does not mean an insect in this text; instead it is the name of a platform independent build tool. Ant can be used for the same purposes as Make: to compile project modules and to build release packages.

When compared to traditional systems such as Make, Ant has some clear advantages:

  • Truly cross-platform, written in Java.
  • Compilation is very fast (compiler is only instantiated once, removing the need to do class loading for each module).
  • Strict XML syntax means that grammatic errors are easy to catch.
  • Ant supports most common tasks out-of-box, such as JUnit or CVS. Doing these tasks is very easy.
  • Very powerful file inclusion/exclusion mechanism.

Ant does have some drawbacks, too:

  • XML syntax was not meant to be human-readable. For example, commenting is harder.
  • Ant syntax is limited, meaning that for someone used to the expressiveness of Makefiles, Ant can feel very restrictive.
    • This also means that if someone brings out a new Java compiler, you will need to write a custom task to handle that as well.
  • Doing something that does not have a task can be troublesome, and usually requires a custom module to be written. You can use shell commands as well, but that means you become OS limited.
  • Build files become larger.
  • Does not handle other languages than Java.
  • Code reuse is difficult.

Summa summarum, doing simple things in ANT is very simple. Doing moderately complex things is more complex than Make. Doing really complex things - well, Make can handle those. But with great difficulty.

The complete Ant documentation, source code, and binary downloads can be found from The Apache Ant Project.

There is now a SampleAntBuildFile for an example.

Add new attachment

Only authorized users are allowed to upload new attachments.
« This particular version was published on 08-Sep-2003 09:39 by