autoj - Automated Java Build System

CVS Logo

autoj is an automated build system for Java based on autoconf, make, bash and some other GNU tools. It evolved, and is still evolving, during the daily work at Puzzle ITC GmbH.

The current version automatically performs the following tasks:
  • Adapts the package to the current system configuration (e.g. selects a Java compiler)
  • Sets the CLASSPATH
  • Compiles all Java classes
  • Compiles all JFlex scanners
  • Compiles all CUP parsers
Additionally the following make targets are available:
  • clean: Removes all intermediate and binary files
  • lib: Downloads all dependencies (.jar files)
  • javadoc: Creates the JavaDoc Documentation
  • cvscheck: Checks if the current cvs version can be compiled
  • jar: Creates a jar file of the project
  • dist: Creates a distribution tarball including all dependencies

autoj also contains a bash script that sets the correct CLASSPATH and allows to start a project by specifying an unqualified or partially qualified class name. In order for all this to work autoj requires a project to follow certain guidelines. All jar files must be in one directory for example. The name of this directory can be specified, though.
autoj is useful for compiling on the console or for integration into editors like jEdit and runs on all Unix like system including Win32 with Cygwin.

Daniel Tschan