added SelectionMessage, Properties.isValid methods, and bug-fixed exceptions generate...
[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="vamsasClientDoc.jar" value="vamsas-client-docs.jar" />
13                 <property name="vamsasClientSource.jar" value="vamsas-client-src-doc.jar" />
14                                 <property name="vamsas.schema" value="schemas/vamsas.xsd" />
15                 <property name="vamsas.doc.schema" value="schemas/vamsasDocument.xsd" />
16                 <property name="vamsas.schema.package" value="uk.ac.vamsas.objects.core" />
17                 <property name="vamsas.schema.package.src" value="uk/ac/vamsas/objects/core" />
18                 <property name="vamsas.schema.sourcegen.properties" value="schemas/castorbuilder.properties"/>
19                 <path id="castor.classpath">
20                         <fileset dir="tools">
21                                 <include name="*.jar"/>
22                                 <include name="**/*.jar"/>
23                         </fileset>
24                         <fileset dir="lib">
25                                 <include name="*.jar"/>
26                                 <include name="**/*.jar"/>
27                         </fileset>
28                 </path>
29                         
30                 <!--
31                 Build classpath
32                 -->
33                 <path id="build.classpath">
34                         <fileset dir="${toolsDir}">
35                                 <include name="*.jar"/>
36                                 <include name="**/*.jar"/>
37                         </fileset>
38
39                         <fileset dir="${libDir}">
40                                 <include name="*.jar"/>
41                                 <include name="**/*.jar"/>
42                         </fileset>
43                         <!--            path refid="axis.classpath"  -->
44                 </path>
45         </target>
46         <target name="cleancoresource" depends="init" description="Clean automatically generated packages">
47                 <delete>
48                         <fileset dir="${sourceDir}/${vamsas.schema.package.src}">
49                                 <include name="*.java"/>
50                                 <include name="descriptors/*.java"/>
51                         </fileset>
52                 </delete>
53         </target>
54         <target name="makecoresource" depends="init, cleancoresource" description="Generate Java source files from XSD.">
55         <taskdef name="castor-srcgen"
56                   classname="org.castor.anttask.CastorCodeGenTask"
57               classpathref="castor.classpath" />
58         <!-- Should apply this to every schema file in ${vamsas.schemas} directory -->
59                 <castor-srcgen file="${vamsas.schema}"
60               todir="${sourceDir}"
61               package="${vamsas.schema.package}"
62               warnings="true" 
63                   nodesc="false"
64                 properties="${vamsas.schema.sourcegen.properties}"
65         />      
66                 <castor-srcgen file="${vamsas.doc.schema}"
67                               todir="${sourceDir}"
68                               package="${vamsas.schema.package}"
69                               warnings="true" 
70                                   nodesc="false"
71                                 properties="${vamsas.schema.sourcegen.properties}"
72                         />      
73         </target>
74         <target name="prepare" depends="init">
75                 <mkdir dir="${packageDir}"/>
76                 <mkdir dir="${outputDir}"/>
77                 <copy todir="${outputDir}">
78                         <fileset dir="${resourceDir}" />
79                         <fileset dir="${basedir}">
80                                 <include name="LICENS*"/>
81                                 <include name="CONTRIB"/>
82                                 <include name="README"/>
83                         </fileset>
84                 </copy>
85         </target>
86         <target name="clean" depends="init">
87                 <delete>
88                         <fileset dir="${outputDir}">
89                                 <include name="*"/>
90                                 <include name="*.*"/>
91                                 <include name="**/*"/>
92                                 <include name="**/*.*"/>
93                         </fileset>
94                 </delete>
95                 <delete dir="${axisbuild}"/>
96                 <!--    <ant dir="test" antfile="build.xml" target="clean"
97 inheritRefs="true"/> -->
98         </target>
99         <target name="realclean" depends="init, clean">
100                 <delete dir="${packageDir}"/>
101         </target>
102         <target name="distclean" depends="init, realclean">
103                 <echo message="REMOVING ALL BACKUP/AUTOSAVES!"/>
104                 <delete>
105                         <fileset dir=".">
106                                 <include name="#*#"/>
107                                 <include name="#*.*#"/>
108                                 <include name="**/#*#"/>
109                                 <include name="**/#*.*#"/>
110                                 <include name="*~"/>
111                                 <include name="*.*~"/>
112                                 <include name="**/*~"/>
113                                 <include name="**/*.*~"/>
114                         </fileset>
115                 </delete>
116         </target>
117
118         <target name="build" depends="init, prepare">
119                 <!-- not efficient yet. : use excludes="*/localtest/*.java" if local tests are not building -->
120                 <javac classpathref="build.classpath" debug="on" srcdir="${sourceDir}" destdir="${outputDir}" deprecation="on" source="1.4" target="1.4">
121         <exclude name="uk/ac/ebi/msd/vamsas/**"/>
122                 </javac>
123         </target>
124         <target name="jar" depends="build, javadoc">
125                 <jar destfile="${packageDir}/${vamsasClient.jar}">
126                 <fileset dir="${outputDir}">
127                   <exclude name="cache*/**"/>
128                   <include name="**/*" />
129                   <exclude name="*.jar.*" />
130                   <exclude name="**/*.jar" />
131                   <exclude name="**/*.jar.*" />
132                           <exclude name="*.java"/>
133                           <exclude name="**/*.java"/>
134                           <exclude name="uk/*.class"/>
135                           <exclude name="log4j.properties"/>
136                         <exclude name="commons-logging.properties"/>
137                 </fileset>
138                 </jar>
139                 <jar destfile="${packageDir}/${vamsasClientDoc.jar}">
140                         <fileset dir="docs/api">
141                                 <include name="**/*"/>
142                                 <include name="README"/>
143                                 <include name="CONTRIB"/>
144                                 <include name="LICEN*"/>
145                         </fileset>
146                 </jar>
147                 <jar destfile="${packageDir}/${vamsasClientSource.jar}">
148                         <fileset dir="${basedir}">
149                                 <include name="src/**/*.java"/>
150                                 <include name="src/**/*.cdr"/>
151                                 <exclude name="*~"/>
152                                 <exclude name="**/*.java~"/>
153                                 <include name="resources/**"/>
154                                 <include name="utils/**"/>
155                                 <include name="tools/**"/>
156                                 <include name="schemas/**"/>
157                                 <include name="test"/>
158                                 <include name="docs/**"/>
159                                 <include name="tools/**"/>
160                                 <include name="lib/**"/>
161                                 <include name="README"/>
162                                 <include name="CONTRIB"/>
163                                 <include name="LICEN*"/>
164                                 <include name="*.eclipse*"/>
165                                 <include name="*.launch"/>
166                                 <include name="build.xml"/>
167                         </fileset>
168                         </jar>
169         </target>
170         
171         <target name="javadoc" depends="init">
172         <javadoc destdir="docs/api"  classpathref="build.classpath" author="true" version="true" use="true">      
173       <fileset dir="${sourceDir}" defaultexcludes="yes">
174         <exclude name="**/.castor.cdr"/>
175         <!-- this was for the old ebi packages.
176         <exclude name="uk/**"/>
177         <exclude name="uk/*.java"/> -->
178             </fileset>
179     </javadoc>
180   </target>
181         
182 </project>
183
184