               ------------------------------------------------------
                   muCommander Ant Tools compilation instructions
               ------------------------------------------------------

1. Configuration

  The first step to compiling the muCommander Ant Tools is making sure all
the proper libraries and tools are installed.

  Pre-requesites are:
- JDK 1.4 or greater
  This can be retrieved from http://java.sun.com/

- Ant 1.6.5 or greater
  This can be retrieved from http://ant.apache.org/

  Optional tools are:
- FindBugs 1.3.1 or greater.
  This is used to generate bytecode analysis reports.
  It can be retrieved from http://findbugs.sourceforge.net/

- p7zip 4.43 or greater
  This is used to compress JAR files further than the Sun tools can.
  It can be retrieved from http://p7zip.sourceforge.net/

  Once these tools have been installed, you might want / need to configure
the build process.
This is done by copying ./build/local_template.xml to ./local.xml and
editing it.

  The values that need to be set are:
- java.lib (defaults to a best guess system-dependant value)
  Path to the Java 1.4's classes JAR.
  This is usually found in /path/to/jre/lib/rt.jar
  Apple, however, decided to use non-standard paths for reasons of their own.
  Under Mac OS X, you'll find the classes JAR file in:
  /System/Library/Frameworks/JavaVM.framework/Versions/1.4.0/Classes/classes.jar

- jsse.lib (defaults to a system-dependant best guess)
  Path to the JSSE JAR file.
  This is usually found in /path/to/jre/lib/jsse.jar
  Apple, however, decided to use non-standard paths for reasons of their own.
  Under Mac OS X, you'll find the classes JAR file in:
  /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Classes/jsse.jar

- ant.lib (defaults to /path/to/ant/lib/ant.jar)
  Path to the Ant JAR file.
  This value only needs to be set if the Ant JAR file is not in its standard
  location.

- proguard.lib (defaults to ./tools/proguard.jar)
  Path to the ProGuard JAR file.
  The one used by muCommander can be found in ./tools/proguard.jar, but you can
  modify that if you wish to try out other versions.

- antcontrib.lib (defaults to ./tools/ant-contrib.jar)
  Path to the Ant Contrib JAR file.
  The one used by muCommander can be found in ./tools/ant-contrib.jar, but you can
  modify that if you wish to try out other versions.

- doccheck.lib (defaults to ./tools/doccheck.jar)
  Path to the Doccheck JAR file.
  The one used by muCommander can be found in ./tools/doccheck.jar, but you can
  modify that if you wish to try out other versions.

- 7za.executable (non-required)
  Path to the 7za executable.
  This is used to compress muCommander's JAR file better than Java's ZIP
  implementation.
  If this property is not set, standard WIP compression will be used.

- antdoclet.lib (defaults to ./tools/antdoclet.jar)
  Path to the AntDoclet JAR file.
  This is used to generate the Ant tools documentation.
  The one used by muCommander can be found in ./tools/antdoclet.jar, but you can
  modify that if you wish to try out other versions.

- velocity.lib (defaults to ./tools/velocity.jar)
  Path to the Velocity JAR file.
  This is used to generate the Ant tools documentation.
  The one used by muCommander can be found in ./tools/velocity.jar, but you can
  modify that if you wish to try out other versions.

- case-sensitive-fs (defaults to false)
  Whether the file system is case sensitive.
  Case sensitive systems allow ProGuard to perform slightly more agressive
  obfuscation of the bytecode. If unsure, leave this value to false.

- findbugs.home (non-required).
  Path to the FindBugs installation directory.
  Thi sis used to generate bytecode analysis reports.
  If this property is not set, bytecode analysis reports won't be generated.

- simian.lib (Defaults to ./tools/simian.jar)
  Path to the Simian JAR file.
  The one used by muCommander can be found in ./tools/simian.jar, but you can
  modify that if you wish to try out other versions.

- javancss.lib (Defaults to ./tools/javancss.jar)
  Path to the JavaNCSS JAR file.
  The one used by muCommander can be found in ./tools/javancss.jar, but you can
  modify that if you wish to try out other versions.

  Some external tools need additional configuration to work properly:

- JUnit
  To ensure that unit testing can be performed, the
  ./lib/noinclude/junit.jar file must be copied to $ANT_HOME/lib.
  If this isn't done, unit testing will most likely be skipped.

- JDepend
  To ensure that dependency analysis can be performed, the
  ./tools/jdepend.jar file must be copied to $ANT_HOME/lib.
  If this isn't done, dependency analysis will most likely
  be skipped.



2. Compiling muCommander Ant Tools

  There are various ways of compiling the muCommander Ant Tools.
The most common ways are:
- ant
  This will create a ./lib/mucommander-ant-tools.jar file containing all the
  compiled, obfuscated and compressed muCommander Ant Tools.

- ant tools-doc
  This will generate the muCommander Ant Tools documentation in ./docs

- ant tools-release
  This will package the binary and documentation files of the muCommander
  Ant Tools in ./dist.

- ant tools-reports
  This will Generate reports about various aspects of the Ant tools.
