blob: 95f6fd62a1ddd2be69222dddb540d616ae6d01c2 [file] [log] [blame]
BOOTSTRAP FOLDER README
---------------------------------------------------------------------
The utilities provided here are used by the developers of Ant to
bootstrap builds of Ant and will be used by the nightly build process
to build Ant from a zero state.
That said, there is no reason for most folks -- even hard core Ant
developers -- to use the files here on a regular basis. You should
really have the latest stable version of Ant installed somewhere so
that you can easily build Ant using itself. Check out the
installation guidelines in the documentation for suggestions on how
Ant can be installed as a full time program of your system.
HOW TO USE
So, you really want to use the bootstrap facilities instead of just
downloading a build from somewhere? Ok. Here's how it works:
* Make sure that sun.tools.javac.Main is on your classpath.
Sometimes it is, sometimes it isn't -- it depends on the JDK
installed on your machine. You can do a quick check using
the 'javap sun.tools.javac.Main' command to see if it is.
* Make sure that you have xml-crimson checked out next to
the jakarta-ant workspace so that the Bootstrap can find
this necessary code.
* Compile Bootstrap.java. You should end up with Bootstrap.class
and maybe a few other classes (depending).
* Execute the Bootstrap class.
How this will work in practice is:
% javac Bootstrap.java
% java Bootstrap
The Bootstrap class will grind out a preliminary build in the directory
'temp/' which will be placed in this directory, then use that build to
build a real copy of Ant into '../Build' using Ant's own makefile. After
doing this, the Boostrap class will remove the intermediate build in
the 'temp/' directory.
HISTORICAL NOTE
The Bootstrap class is somewhat the same rough hack as the first sketch
of Ant itself -- a proof of concept that a Java based build system
could work out halfway decently. Of course, Ant has expanded much past
the capabilities of this, but this little start serves as a useful
tool to bootstrap builds.