               --------------------------------------------------------------
                   muCommander Configuration API compilation instructions
               --------------------------------------------------------------

1. Configuration

  The first step to compiling the muCommander Configuration API 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

- 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.

- 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.

- 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 the muCommander Configuration APIb

  There are various ways of compiling muCommander Configuration API.
The most immediately useful are:

- ant
  This will create a ./lib/mucommander-conf.jar file containing the
  compiled, obfuscated and compressed muCommander Configuration API.

- ant conf-doc
  This will generate the muCommander Configuration API documentation in ./docs

- ant conf-release
  This will package the binary and documentation files of the muCommander
  Configuration API in ./docs

- ant conf-reports
  This will Generate reports about various aspects of the Configuration API.
