<project name="Jmol" default="main" basedir=".">
<property name="version" value="0.7" />
<property name="Jmol.home" value="${user.dir}" />
<property name="source.dir" value="src" />
<property name="generatedSource.dir" value="generatedSource" />
<property name="lib.dir" value="jars" />
<property name="classes.dir" value="classes" />
<property name="dist.dir" value="dist" />
<property name="javadoc.dir" value="javadoc" />
<property name="docbook.dir" value="${user.dir}/../docbook" />
<property name="classpath" value="${lib.dir}/sax.jar:${lib.dir}/aelfred.jar:${lib.dir}/cml.jar:${lib.dir}/Acme.jar:${lib.dir}/vecmath1.1-1.12.jar:${lib.dir}/junit.jar:${lib.dir}/jas.jar"/>
<property name="manifest" value="${source.dir}/manifest"/>
<property name="build.compiler" value="classic"/>
<target name="main" depends="init,jmolGuide,jar"/>
<target name="init" >
<uptodate property="jmolGuilde.uptodate" targetfile="${generatedSource.dir}/org/openscience/jmol/Data/guide/index.html">
<srcfiles dir="doc/source" includes="JMolGuide.docbook.xml" />
</uptodate>
<uptodate property="javadoc.uptodate" targetfile="${javadoc.dir}/index.html">
<srcfiles dir="src" includes="**/*.java" />
</uptodate>
</target>
<target name="jmolGuide" depends="init" unless="jmolGuilde.uptodate" >
<echo message="Generating user's guide" />
<mkdir dir="${generatedSource.dir}/org/openscience/jmol/Data/guide" />
<java fork="true" dir="${generatedSource.dir}/org/openscience/jmol/Data/guide" classname="com.icl.saxon.StyleSheet" classpath="${lib.dir}/saxon.jar" >
<arg value="${user.dir}/doc/source/JMolGuide.docbook.xml" />
<arg value="${docbook.dir}/html/chunk.xsl" />
</java>
</target>
<target name="classes" depends="init">
<mkdir dir="${classes.dir}"/>
<javac srcdir="${source.dir}" destdir="${classes.dir}" classpath="${classpath}"
debug="off" deprecation="on"
/>
<copy todir="${classes.dir}" >
<fileset dir="${source.dir}">
<include name="**/*.jpg" />
<include name="**/*.gif" />
<include name="**/*.html" />
<include name="**/*.dtd" />
<include name="**/Properties/*" />
<include name="**/Data/*" />
</fileset>
</copy>
<copy todir="${classes.dir}" >
<fileset dir="${generatedSource.dir}">
<include name="**/*.jpg" />
<include name="**/*.gif" />
<include name="**/*.html" />
</fileset>
</copy>
</target>
<target name="jar" depends="init,jmolGuide,classes">
<jar jarfile="${lib.dir}/jmol.jar" manifest="${manifest}" >
<fileset dir="${classes.dir}" >
<exclude name="**/.*" />
<exclude name="**/Test*.class" />
<include name="**/jmol/**" />
</fileset>
</jar>
<jar jarfile="${lib.dir}/jmol-applet.jar" >
<fileset dir="${classes.dir}" >
<exclude name="**/.*" />
<include name="**/miniJmol/**" />
<include name="**/jmol/FortranFormat.class" />
<include name="**/jmol/Matrix3D.class" />
<include name="**/jmol/DisplaySettings.class" />
<include name="**/jmol/PhysicalProperty.class" />
</fileset>
</jar>
</target>
<target name="dist" depends="jar">
<mkdir dir="${dist.dir}/jmol-${version}"/>
<copy todir="${dist.dir}/jmol-${version}/${lib.dir}" >
<fileset dir="${lib.dir}">
<exclude name="jmol-applet.jar" />
<exclude name="swing.jar" />
<exclude name="junit.jar" />
<exclude name="saxon.jar" />
</fileset>
</copy>
<copy todir="${dist.dir}/jmol-${version}" >
<fileset dir=".">
<include name="jmol" />
<include name="jmol.mac" />
<include name="jmol.bat" />
<include name="*.txt" />
</fileset>
</copy>
<copy todir="${dist.dir}/jmol-${version}/samples" >
<fileset dir="samples" />
</copy>
<mkdir dir="${dist.dir}/jmol-applet-${version}"/>
<copy todir="${dist.dir}/jmol-applet-${version}/${lib.dir}" >
<fileset dir="${lib.dir}">
<exclude name="jmol.jar" />
<exclude name="jas.jar" />
<exclude name="Acme.jar" />
<exclude name="swing.jar" />
<exclude name="junit.jar" />
<exclude name="multi.jar" />
<exclude name="saxon.jar" />
</fileset>
</copy>
<copy todir="${dist.dir}/jmol-applet-${version}" >
<fileset dir=".">
<include name="*.txt" />
</fileset>
</copy>
</target>
<target name="dist.zip" depends="dist">
<zip zipfile="jmol.zip" basedir="${dist.dir}" includes="**" />
</target>
<target name="dist.tar.gz" depends="dist">
<tar tarfile="jmol.tar" basedir="${dist.dir}" includes="**"/>
<gzip zipfile="jmol.tar.gz" src="jmol.tar"/>
<delete file="jmol.tar" />
</target>
<target name="clean">
<delete dir="${generatedSource.dir}"/>
<delete dir="${classes.dir}"/>
<delete>
<fileset dir="${lib.dir}">
<include name="jmol.jar" />
<include name="jmol-applet.jar" />
</fileset>
</delete>
<delete dir="${javadoc.dir}"/>
<delete dir="${dist.dir}"/>
</target>
<target name="run" depends="classes">
<java fork="true" classpath="${classpath}:classes" classname="org.openscience.jmol.Jmol" />
</target>
<target name="run_tests" depends="classes">
<java fork="true" classpath="${classpath}:classes" classname="org.openscience.jmol.TestAll" />
</target>
<target name="javadoc" depends="init" unless="javadoc.uptodate">
<mkdir dir="${javadoc.dir}"/>
<javadoc destdir="${javadoc.dir}" classpath="${classpath}" sourcepath="src"
private="true" packagenames="org.openscience.*"
/>
</target>
</project>