added two tests to ensure a vamsasArchive is readable and accessible as a Jar File.
[vamsas.git] / build.xml
1 <?xml version="1.0"?>
2 <project name="vamsas-client" default="build" basedir=".">
3
4         <target name="init">
5                 <property name="libDir" value="lib"/>
6                 <property name="toolsDir" value="tools"/>
7                 <property name="resourceDir" value="resources"/>
8                 <property name="sourceDir" value="src" />
9                 <property name="outputDir" value="classes" />
10                 <property name="packageDir" value="packages" />
11                 <property name="vamsasClient.jar" value="vamsas-client.jar" />
12                 <property name="vamsas.schema" value="schemas/vamsas.xsd" />
13                 <property name="vamsas.doc.schema" value="schemas/vamsasDocument.xsd" />
14                 <property name="vamsas.schema.package" value="uk.ac.vamsas.objects.core" />
15                 <property name="vamsas.schema.package.src" value="uk/ac/vamsas/objects/core" />
16                 <property name="vamsas.schema.sourcegen.properties" value="schemas/castorbuilder.properties"/>
17                 <path id="castor.classpath">
18                         <fileset dir="tools">
19                                 <include name="*.jar"/>
20                                 <include name="**/*.jar"/>
21                         </fileset>
22                         <fileset dir="lib">
23                                 <include name="*.jar"/>
24                                 <include name="**/*.jar"/>
25                         </fileset>
26                 </path>
27                         
28                 <!--
29                 Build classpath
30                 -->
31                 <path id="build.classpath">
32                         <fileset dir="${toolsDir}">
33                                 <include name="*.jar"/>
34                                 <include name="**/*.jar"/>
35                         </fileset>
36
37                         <fileset dir="${libDir}">
38                                 <include name="*.jar"/>
39                                 <include name="**/*.jar"/>
40                         </fileset>
41                         <!--            path refid="axis.classpath"  -->
42                 </path>
43         </target>
44         <target name="cleancoresource" depends="init" description="Clean automatically generated packages">
45                 <delete>
46                         <fileset dir="${sourceDir}/${vamsas.schema.package.src}">
47                                 <include name="*.java"/>
48                                 <include name="descriptors/*.java"/>
49                         </fileset>
50                 </delete>
51         </target>
52         <target name="makecoresource" depends="init, cleancoresource" description="Generate Java source files from XSD.">
53         <taskdef name="castor-srcgen"
54                   classname="org.castor.anttask.CastorCodeGenTask"
55               classpathref="castor.classpath" />
56         <!-- Should apply this to every schema file in ${vamsas.schemas} directory -->
57                 <castor-srcgen file="${vamsas.schema}"
58               todir="${sourceDir}"
59               package="${vamsas.schema.package}"
60               warnings="true" 
61                   nodesc="false"
62                 properties="${vamsas.schema.sourcegen.properties}"
63         />      
64                 <castor-srcgen file="${vamsas.doc.schema}"
65                               todir="${sourceDir}"
66                               package="${vamsas.schema.package}"
67                               warnings="true" 
68                                   nodesc="false"
69                                 properties="${vamsas.schema.sourcegen.properties}"
70                         />      
71         </target>
72         <target name="prepare" depends="init">
73                 <mkdir dir="${packageDir}"/>
74                 <mkdir dir="${outputDir}"/>
75                 <copy todir="${outputDir}">
76                         <fileset dir="${resourceDir}" />
77                 </copy>
78         </target>
79         <target name="clean" depends="init">
80                 <delete>
81                         <fileset dir="${outputDir}">
82                                 <include name="*"/>
83                                 <include name="*.*"/>
84                                 <include name="**/*"/>
85                                 <include name="**/*.*"/>
86                         </fileset>
87                 </delete>
88                 <delete dir="${axisbuild}"/>
89                 <!--    <ant dir="test" antfile="build.xml" target="clean"
90 inheritRefs="true"/> -->
91         </target>
92         <target name="realclean" depends="init, clean">
93                 <delete dir="${packageDir}"/>
94         </target>
95         <target name="distclean" depends="init, realclean">
96                 <echo message="REMOVING ALL BACKUP/AUTOSAVES!"/>
97                 <delete>
98                         <fileset dir=".">
99                                 <include name="#*#"/>
100                                 <include name="#*.*#"/>
101                                 <include name="**/#*#"/>
102                                 <include name="**/#*.*#"/>
103                                 <include name="*~"/>
104                                 <include name="*.*~"/>
105                                 <include name="**/*~"/>
106                                 <include name="**/*.*~"/>
107                         </fileset>
108                 </delete>
109         </target>
110
111         <target name="build" depends="init, prepare">
112                 <!-- not efficient yet. : use excludes="*/localtest/*.java" if local tests are not building -->
113                 <javac classpathref="build.classpath" debug="on" srcdir="${sourceDir}" destdir="${outputDir}" deprecation="on" source="1.4" target="1.4">
114         <exclude name="uk/ac/ebi/msd/vamsas/**"/>
115                 </javac>
116         </target>
117         <target name="jar" depends="build, javadoc">
118                 <jar destfile="${packageDir}/${vamsasClient.jar}">
119                 <fileset dir="${outputDir}">
120                   <exclude name="cache*/**"/>
121                   <include name="**/*" />
122                   <exclude name="*.jar.*" />
123                   <exclude name="**/*.jar" />
124                   <exclude name="**/*.jar.*" />
125                           <exclude name="*.java"/>
126                           <exclude name="**/*.java"/>
127                           <exclude name="uk/*.class"/>
128                           <exclude name="log4j.properties"/>
129                         <exclude name="commons-logging.properties"/>
130                 </fileset>
131                 </jar>
132         </target>
133         
134         <target name="javadoc" depends="init">
135         <javadoc destdir="docs/api"  classpathref="build.classpath" author="true" version="true" use="true">      
136       <fileset dir="${sourceDir}" defaultexcludes="yes">
137         <exclude name="**/.castor.cdr"/>
138         <!-- this was for the old ebi packages.
139         <exclude name="uk/**"/>
140         <exclude name="uk/*.java"/> -->
141             </fileset>
142     </javadoc>
143   </target>
144         
145 </project>
146
147