beginning of 'simple' interface for newick string based tree representation
[vamsas.git] / build.xml
index 10f8e49..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"/>
+               <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="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>
                        <!--            path refid="axis.classpath"  -->
                </path>
        </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}"/>
@@ -65,9 +110,38 @@ inheritRefs="true"/> -->
 
        <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}" />
+               <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>
-
+       <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>