gantt is a semi-clone of Apache Ant, written in C. It's small, fast, and extensible without knowledge of Java. The idea is to provide a free Ant-like tool for Java projects that will run on systems that don't necessarily have a Java virtual machine installed.
gantt is distributed under the GNU GPL.
gantt uses the Gnome libxml2 and glib libraries to provide multi-platform support. It processes standard Ant buildfiles and has the same syntax. However, you cannot (yet) use Ant Java extensions in gantt. Instead, you can define your own tags and they will be executed as regular programs.
Most of the core Ant tasks are implemented in gantt. Some of these use
the extensibility feature described above: when gantt encounters a
task tag it doesn't have built-in support for, it tries to find and
execute a program of that name, setting various evironment variables
appropriately. For instance, all attributes of the tag are available as
environment variables of the same name, and the list of files
defined by a fileset are available as an environment variable
"files
". gantt first tries to execute a program of the name
gantt_name
, where name is the name of the
tag, and falls back to name
, so you can easily
write wrapper scripts for simple commands.
There's still quite a bit to do. The remainder of the core tasks as well as all the extra tasks still need to be implemented, and support for conditions as well as some of the more esoteric options is still absent. One possible task would be to integrate with Ant Java extensions using JNI and a libxmlj-like interface.
Hope you enjoy working with gantt!