This document assumes that you have obtained the Javolin build environment from the SVN repository at SourceForge.net, and wish to build Javolin or Testbench. ------------ Requirements ------------ To build Javolin, you need: - Java 1.4.1 or higher. - Apache Ant; see http://ant.apache.org/ for info and download - Various third party libraries on which Javolin depends. See the "Libraries" section below before attempting to build Javolin. -------- Building -------- Currently Apache Ant is used for building Javolin. The build.xml file specifies several commands. To invoke a command, simply execute: ant command at the command line, where "command" is the desired command. The following commands are available: archive - Compiles Javolin and builds the Javolin.jar file. This is the default, so you can just execute "ant" by itself, without specifying a command. libarchive - Compiles and builds Javolin.jar, containing all the third party libraries needed for it to run. Use this version to create a Javolin for public release. testbench - Compiles Testbench and builds the Testbench.jar file. libtestbench - Compiles and builds Testbench.jar, containing all the third party libraries needed for it to run. Use this version to create a Testbench for public release. doc - Uses Javadoc to generate Javolin API documentation in a directory called "doc". all - builds archive, testbench, doc. clean - Deletes everything created by the other commands: the build directory, the doc directory, and the jar files. --------- Libraries --------- Javolin relies on third party libraries. If you don't have these libraries, you cannot build or run Javolin. The easiest way to get these libraries is from the Javolin project web site: http://volity.org/projects/javolin/buildlib/ Grab all the .jar files from there and place them in the Javolin/lib directory. You will then be able to compile Javolin. The following is a list of the libraries currently used, along with the download site that each one originated from. In some cases this is a third- party binary download. Other libraries require you to build a .jar file from source. The Lib file(s) item tells you what file or files must be copied into the Jaovlin/lib directory so that Javolin can be compiled and run. (Please keep this list up-to-date when new library dependencies are added to Javolin, as well as when we move to a new version of a library that we are already using.) --- Name: Smack (modified version in Volity SVN) Home page: http://www.jivesoftware.org/smack/ Version: 2.0.0-v-2 Download: svn checkout -r 960 https://svn.sourceforge.net/svnroot/volity/trunk/smack-dev-2.0-vol % cd smack-dev-2.0-vol/build % ant jar Lib files: smack.jar, smackx.jar After building, both .jar files will be in the top level directory (smack-dev-2.0-vol). --- Name: Rhino Home page: http://www.mozilla.org/rhino/ Version: 1.6R2 with modifications (see Batik) Download: from Batik distribution Lib file: js.jar Comments: This is Rhino as of 2006-03-24, plus the patch described at https://bugzilla.mozilla.org/attachment.cgi?id=214133 --- Name: Batik Home page: http://xmlgraphics.apache.org/batik/ Version: 1.6 Download: svn checkout -r 526187 http://svn.apache.org/repos/asf/xmlgraphics/batik/trunk (The "-r 526187" fetches the source as of 2007-Apr-06, which works with the current Javolin source.) % cd trunk % setenv JAVA_HOME /usr (Set JAVA_HOME so that $JAVA_HOME/bin/java points to your java runtime. The line above is correct for MacOSX.) % sh build.sh all-jar Lib files: batik-all.jar, xml-apis-dom3.jar, js.jar (This throws warnings, but will build successfully with Java 1.4.2. After building, batik-all.jar will be in the batik-1.6/lib directory; the other jar files are in the lib directory.) Comments: I had to build Batik with Java 1.4.2 to produce a client that was compatible with both 1.4.2 and 1.5. If you want to save space, you can delete the directories test-resources, test-sources, test-references, samples from the Batik source tree. --- Name: Flying Saucer (xhtmlrenderer) Home page: https://xhtmlrenderer.dev.java.net/ Version: R6 Download: http://www.pdoubleya.com/projects/flyingsaucer/downloads/r6/flyingsaucer_R6-pre1-src.zip (Then, after unpacking the source...) % ant jar Lib files: core-renderer.jar, cssparser-0-9-4-fs.jar (After the "ant jar" command, core-renderer.jar will be in the build directory; cssparser-0-9-4-fs.jar is in the lib directory.) Comments: You might want to delete the "System.out.println()" call from line 185 of src/java/org/xhtmlrenderer/util/Configuration.java. It is unsightly. --- Name: MP3SPI Home page: http://www.javazoom.net/mp3spi/mp3spi.html Version: 1.9.4 Download: http://www.javazoom.net/mp3spi/sources/mp3spi1.9.4.tar.gz Lib files: mp3spi1.9.4.jar, jl1.0.jar, tritonus_share.jar (mp3spi1.9.4.jar is at the top level of the distribution; jl1.0.jar and tritonus_share.jar are in the lib directory.)