added two tests to ensure a vamsasArchive is readable and accessible as a Jar File.
[vamsas.git] / build.xml
index c8d6513..575c193 100644 (file)
--- a/build.xml
+++ b/build.xml
@@ -1,17 +1,35 @@
-<xml version="1.0" />
-  <project name="vamsas-client" default="build" basedir=".">
-       <target name="init">
-               <property name="libDir" value="lib"/>
+<?xml version="1.0"?>
+<project name="vamsas-client" default="build" basedir=".">
+
+       <target name="init">
+               <property name="libDir" value="lib"/>
+               <property name="toolsDir" value="tools"/>
                <property name="resourceDir" value="resources"/>
                <property name="sourceDir" value="src" />
                <property name="outputDir" value="classes" />
-               <property name="packageDir" value="packages" />
-                
+               <property name="packageDir" value="packages" />
+               <property name="vamsasClient.jar" value="vamsas-client.jar" />
+               <property name="vamsas.schema" value="schemas/vamsas.xsd" />
+               <property name="vamsas.doc.schema" value="schemas/vamsasDocument.xsd" />
+               <property name="vamsas.schema.package" value="uk.ac.vamsas.objects.core" />
+               <property name="vamsas.schema.package.src" value="uk/ac/vamsas/objects/core" />
+               <property name="vamsas.schema.sourcegen.properties" value="schemas/castorbuilder.properties"/>
+               <path id="castor.classpath">
+                       <fileset dir="tools">
+                               <include name="*.jar"/>
+                               <include name="**/*.jar"/>
+                       </fileset>
+                       <fileset dir="lib">
+                               <include name="*.jar"/>
+                               <include name="**/*.jar"/>
+                       </fileset>
+               </path>
+                       
                <!--
                Build classpath
                -->
                <path id="build.classpath">
-                       <fileset dir="utils">
+                       <fileset dir="${toolsDir}">
                                <include name="*.jar"/>
                                <include name="**/*.jar"/>
                        </fileset>
                                <include name="*.jar"/>
                                <include name="**/*.jar"/>
                        </fileset>
-                  <!--                 <path refid="axis.classpath"/> --->
+                       <!--            path refid="axis.classpath"  -->
                </path>
-        </target>
-    
+       </target>
+       <target name="cleancoresource" depends="init" description="Clean automatically generated packages">
+               <delete>
+                       <fileset dir="${sourceDir}/${vamsas.schema.package.src}">
+                               <include name="*.java"/>
+                               <include name="descriptors/*.java"/>
+                       </fileset>
+               </delete>
+       </target>
+       <target name="makecoresource" depends="init, cleancoresource" description="Generate Java source files from XSD.">
+       <taskdef name="castor-srcgen"
+                 classname="org.castor.anttask.CastorCodeGenTask"
+             classpathref="castor.classpath" />
+       <!-- Should apply this to every schema file in ${vamsas.schemas} directory -->
+               <castor-srcgen file="${vamsas.schema}"
+             todir="${sourceDir}"
+             package="${vamsas.schema.package}"
+             warnings="true" 
+                 nodesc="false"
+               properties="${vamsas.schema.sourcegen.properties}"
+       />      
+               <castor-srcgen file="${vamsas.doc.schema}"
+                             todir="${sourceDir}"
+                             package="${vamsas.schema.package}"
+                             warnings="true" 
+                                 nodesc="false"
+                               properties="${vamsas.schema.sourcegen.properties}"
+                       />      
+       </target>
        <target name="prepare" depends="init">
-          <mkdir dir="${packageDir}"/>
-          <mkdir dir="${outputDir}"/>
+               <mkdir dir="${packageDir}"/>
+               <mkdir dir="${outputDir}"/>
                <copy todir="${outputDir}">
                        <fileset dir="${resourceDir}" />
                </copy>
        </target>
-    <target name="clean" depends="init">
-       <delete>
-        <fileset dir="${outputDir}">
-       <include name="*"/>
-       <include name="*.*"/>
-       <include name="**/*"/>
-       <include name="**/*.*"/>
-       </fileset>
-       </delete>
-       <delete dir="${axisbuild}"/>
-<!--   <ant dir="test" antfile="build.xml" target="clean"
+       <target name="clean" depends="init">
+               <delete>
+                       <fileset dir="${outputDir}">
+                               <include name="*"/>
+                               <include name="*.*"/>
+                               <include name="**/*"/>
+                               <include name="**/*.*"/>
+                       </fileset>
+               </delete>
+               <delete dir="${axisbuild}"/>
+               <!--    <ant dir="test" antfile="build.xml" target="clean"
 inheritRefs="true"/> -->
-     </target>
-     <target name="realclean" depends="init, clean">
+       </target>
+       <target name="realclean" depends="init, clean">
                <delete dir="${packageDir}"/>
-     </target>
-     <target name="distclean" depends="init, realclean">
-       <echo message="REMOVING ALL BACKUP/AUTOSAVES!"/>
-       <delete>
-                <fileset dir=".">
-               <include name="#*#"/>
-               <include name="#*.*#"/>
-               <include name="**/#*#"/>
-               <include name="**/#*.*#"/>
-               <include name="*~"/>
-               <include name="*.*~"/>
-               <include name="**/*~"/>
-               <include name="**/*.*~"/>
-               </fileset>
-       </delete>
+       </target>
+       <target name="distclean" depends="init, realclean">
+               <echo message="REMOVING ALL BACKUP/AUTOSAVES!"/>
+               <delete>
+                       <fileset dir=".">
+                               <include name="#*#"/>
+                               <include name="#*.*#"/>
+                               <include name="**/#*#"/>
+                               <include name="**/#*.*#"/>
+                               <include name="*~"/>
+                               <include name="*.*~"/>
+                               <include name="**/*~"/>
+                               <include name="**/*.*~"/>
+                       </fileset>
+               </delete>
        </target>
 
        <target name="build" depends="init, prepare">
-       <!-- not efficient yet. : use excludes="*/localtest/*.java" if local tests are not building -->
-       <javac classpathref="build.classpath" debug="on" srcdir="${sourceDir}" destdir="${outputDir}" />
+               <!-- not efficient yet. : use excludes="*/localtest/*.java" if local tests are not building -->
+               <javac classpathref="build.classpath" debug="on" srcdir="${sourceDir}" destdir="${outputDir}" deprecation="on" source="1.4" target="1.4">
+       <exclude name="uk/ac/ebi/msd/vamsas/**"/>
+               </javac>
        </target>
-
-  </project>
+       <target name="jar" depends="build, javadoc">
+               <jar destfile="${packageDir}/${vamsasClient.jar}">
+               <fileset dir="${outputDir}">
+                 <exclude name="cache*/**"/>
+                 <include name="**/*" />
+                 <exclude name="*.jar.*" />
+                 <exclude name="**/*.jar" />
+                 <exclude name="**/*.jar.*" />
+                         <exclude name="*.java"/>
+                         <exclude name="**/*.java"/>
+                         <exclude name="uk/*.class"/>
+                         <exclude name="log4j.properties"/>
+                       <exclude name="commons-logging.properties"/>
+               </fileset>
+               </jar>
+       </target>
+       
+       <target name="javadoc" depends="init">
+       <javadoc destdir="docs/api"  classpathref="build.classpath" author="true" version="true" use="true">      
+      <fileset dir="${sourceDir}" defaultexcludes="yes">
+       <exclude name="**/.castor.cdr"/>
+       <!-- this was for the old ebi packages.
+       <exclude name="uk/**"/>
+       <exclude name="uk/*.java"/> -->
+           </fileset>
+    </javadoc>
+  </target>
+       
+</project>