antworld is the java build system used by stroy and fausterize. It is a set of conventions and ant.xml files to achive the following goals:

  • one click to build everthing
  • builds osx app, unix apps, windows app
  • aids with localization
  • simple dependency management
  • support multi module projects
  • all sources in one place


  • Checkout from repostitory
  • cd to current module
  • call 'ant dist.dependencies'


Project Layout

  • project name
    • modules
      • name of module 1
        • src
        • test
        • build.xml
      • name of module 2
        • src
        • test
        • build.xml
    • externals
      • build
        • build relevant libraries
      • production
        • runtime libraries
      • test
        • test relavant libraries
  • build-common.xml
  • dependencies.xml


antworld is not packaged yet. Just have a look a fausterize in


The idea and technique of using pure ant to set up multi module projects is from

Why Not X?

Why not maven?

Maven does only some of the stuff I want to have, e.g. no exe are os apps. But more important it does does things I don't want it to do, i.e. automatic downloads and
uses an extra source repository. You can suppress the downloads but why is that not the default? The second point is about the maven repo which is as general scm very limited.
A build system should be scm agnostic so that all the sources can live in it.

Why not Ivy?

May actually work for me but I have to get it off the automatic downloads.


  • test integration
  • windows exe
  • debian packages
  • rpm packages
  • javadoc generation
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License