AFC - Abacus Formula Compiler for Java

Build Tools

AFC comes with an Ant build script in build.xml. This document lists the tools required to run it.


Many open-source libraries in the Java world include in the download everything needed to build a product from its sources. With AFC, I have relaxed this a little. The source download does include all of the required run-time libraries, as well as all the libraries required to build the .jar files, with the exception of Ant itself.

It does not include all the libraries and tools to build an entire distribution. Those are described here, with instructions on how to get and configure them. Except for Ant and JUnit, all of the tools should be configured in Look in to see what you can configure.

Prepackaged Download

The easiest setup is to simply download, unpack it to a central folder, and then set tools.dir to this folder in If you unpack it into AFC’s install folder as tools/, then you don’t even have to create

The download contains Ant and, contained within it, JUnit 3.x. So running


should properly build AFC.


You still need to install the prerequisites for Rextile and Graphviz.

Manual Setup

Mandatory Tools

The following are the tools you need to set up in order to build a complete new distribution package for AFC. I strongly suggest you install them all if you consider contributing to AFC.

You do, of course, need. Since Ant is rather big and such a widespread tool, I have chosen to not include it with AFC’s source distribution. This is the only install you need to run ant build which builds the AFC jars.
is needed to run the tests with ant test. As per the instructions and, in particular, this discussion, I suggest that you copy junit.jar to the lib/ folder of your Ant installation.
checks class and package dependencies. AFC uses it to enforce the most important dependency rules. Configure it in (see above).
checks source code conformance. AFC uses it to check for missing JavaDoc tags and header comments. Configure it in (see above).
runs configuration scripts.
compiles documentation sources in Textile format to XHTML. AFC’s main documentation is written in Rextile’s format (this here, too). Please observe Rextile’s own installation instructions. Configure it in (see above).
cites Java source code and Excel sheets into HTML documentation. AFC uses this extensively. Configure it in (see above).
renders textual specifications of graphs to .png images. The dot command must be available on the system path.

Optional Tools

The following tools are not required to build a distribution, but they certainly help to maintain high quality.

is a code coverage analysis tool, which you can run with ant cover. Configure it in (see above).
is, too, a code coverage analysis tool. It runs much faster than Cobertura, but produces—in my view—slightly less visually pleasing output. Configure it in (see above).