Antoine Levy Lambert wrote:
Hi,
The self description of Ant on the home page might not have changed
since the first release in 2000. I have just written a draft for a new
version (see below).
Let me know what you think.
Antoine
What is Ant
----------
Ant is a Java library and command line tool. Ant's mission is to
schedule processes described in build files as targets and extension
points dependent upon each other. The main known usage of Ant is the
build of java applications, for which Ant supplies a number of built-in
tasks allowing to compile, assemble, test and run java applications. Ant
can also be used effectively to build non java applications, for
instance C or C++ applications. More generally, Ant can be used to
schedule any type of process which can be described in terms of targets
and tasks.
Ant is written in Java. Users of Ant can develop their own antlibs
containing Ant tasks and types, and are offered a large number of
ready-made commercial or open source antlibs.
Ant is extremely flexible and does not impose coding conventions or
directory layouts to the Java projects which adopt it as a build tool.
Software development projects looking for a solution combining build
tool and dependency management can use Ant in combination with Ivy.
Alternatives to Ant
-------------------
When Ant was first released in July 2000, Ant compared itself to Make,
the usual command line tool used to build software, probably still the
most common solution to build C applications. Make is extensible too,
but only by writing shell-scripts or executable programs that Make can
execute. Makefiles are syntactically difficult to write and sensitive to
invisible or little noticeable characters such as spaces ...
Currently, in the Java world, one of the most famous alternatives to Ant
is Maven. Maven defines itself with a wider scope than Ant as a project
management tool. Maven provides built-in build, packaging, testing and
running capabilities, and tools to create a website and project metrics.
Java projects adopting Maven as a project management tool are given some
conventions to follow, particularly concerning the layout of source and
test directories. These conventions can be overriden by configuration.
Maven also integrates dependency management and the maven team maintains
a public repository containing a large number of artifacts. Maven
implements a predefined build cycle containing predefined phases and goals.
A recent, and worth mentioning alternative to Ant is Gradle, a new tool
which allows to write build files in Groovy, which a lot of people feel
is easier and more expressive than the traditional Ant XML. One nice
thing for Ant is that Gradle is actually built on top of Ant and Ivy, so
our tasks and types are used inside Gradle.
Just a note...I also noticed recently that the Wikipedia entry on Ant
is pretty out-of-date too. Perhaps after the Ant developers have
approved a new description, some of it can be transplanted to update
that description as well...just a thought...
-The Wabbit
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org
For additional commands, e-mail: dev-h...@ant.apache.org