antworld
pele.png

Overview

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

Use

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

Setup

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

Download

antworld is not packaged yet. Just have a look a fausterize in http://code.google.com/p/stroy/source/browse.

References

The idea and technique of using pure ant to set up multi module projects is from http://www.exubero.com/ant/dependencies.html.

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.

Open

  • 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