added legacy import of version 0.1 SessionLists
[vamsas.git] / build.xml
1 <?xml version="1.0"?>
2 <!--
3    * This file is part of the Vamsas Client version 0.2. 
4    * Copyright 2010 by Jim Procter, Iain Milne, Pierre Marguerite, 
5    *  Andrew Waterhouse and Dominik Lindner.
6    * 
7    * Earlier versions have also been incorporated into Jalview version 2.4 
8    * since 2008, and TOPALi version 2 since 2007.
9    * 
10    * The Vamsas Client is free software: you can redistribute it and/or modify
11    * it under the terms of the GNU Lesser General Public License as published by
12    * the Free Software Foundation, either version 3 of the License, or
13    * (at your option) any later version.
14    *  
15    * The Vamsas Client is distributed in the hope that it will be useful,
16    * but WITHOUT ANY WARRANTY; without even the implied warranty of
17    * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18    * GNU Lesser General Public License for more details.
19    * 
20    * You should have received a copy of the GNU Lesser General Public License
21    * along with the Vamsas Client.  If not, see <http://www.gnu.org/licenses/>.
22 -->
23 <project name="vamsas-client" default="build" basedir=".">
24
25         <target name="init">
26                 <!--<property name="target1.4" value="true"> -->
27                 <property name="libDir" value="lib" />
28                 <property name="toolsDir" value="tools" />
29                 <property name="resourceDir" value="resources" />
30                 <property name="sourceDir" value="src" />
31                 <property name="outputDir" value="classes" />
32                 <property name="packageDir" value="packages" />
33                 <!-- .jar gets added when the property is used -->
34                 <property name="vamsasClient.jar" value="vamsas-client" /> 
35                 <property name="vamsasClientDoc.jar" value="vamsas-client-docs" />
36                 <property name="vamsasClientSource.jar" value="vamsas-client-src-doc" />
37                 <property name="vamsasSchemaDocs.jar" value="vamsas-schema-and-doc" />
38                 <property name="vamsas.schema" value="schemas/vamsas.xsd" />
39                 <property name="vamsas.doc.schema" value="schemas/vamsasDocument.xsd" />
40                 <property name="vamsas.schema.package" value="uk.ac.vamsas.objects.core" />
41                 <property name="vamsas.schema.package.src" value="uk/ac/vamsas/objects/core" />
42                 <property name="vamsas.schema.sourcegen.properties" value="schemas/castorbuilder.properties" />
43                 <path id="castor.classpath">
44                         <fileset dir="tools">
45                                 <include name="*.jar" />
46                                 <include name="**/*.jar" />
47                         </fileset>
48                         <fileset dir="lib">
49                                 <include name="*.jar" />
50                                 <include name="**/*.jar" />
51                         </fileset>
52                 </path>
53
54                 <!--
55                 Build classpath
56                 -->
57                 <path id="build.classpath">
58                         <fileset dir="${toolsDir}">
59                                 <include name="*.jar" />
60                                 <include name="**/*.jar" />
61                         </fileset>
62
63                         <fileset dir="${libDir}">
64                                 <include name="*.jar" />
65                                 <include name="**/*.jar" />
66                         </fileset>
67                         <!--            path refid="axis.classpath"  -->
68                 </path>
69         </target>
70         <target name="cleancoresource" depends="init" description="Clean automatically generated packages">
71                 <delete>
72                         <fileset dir="${sourceDir}/${vamsas.schema.package.src}">
73                                 <include name="*.java" />
74                                 <include name="descriptors/*.java" />
75                         </fileset>
76                 </delete>
77         </target>
78         <target name="makecoresource" depends="init, cleancoresource" description="Generate Java source files from XSD.">
79                 <taskdef name="castor-srcgen" classname="org.castor.anttask.CastorCodeGenTask" classpathref="castor.classpath" />
80                 <!-- Should apply this to every schema file in ${vamsas.schemas} directory -->
81                 <castor-srcgen file="${vamsas.schema}" todir="${sourceDir}" package="${vamsas.schema.package}" warnings="true" nodesc="false" properties="${vamsas.schema.sourcegen.properties}" />
82                 <castor-srcgen file="${vamsas.doc.schema}" todir="${sourceDir}" package="${vamsas.schema.package}" warnings="true" nodesc="false" properties="${vamsas.schema.sourcegen.properties}" />
83         </target>
84         <target name="prepare" depends="init">
85                 <mkdir dir="${packageDir}" />
86                 <mkdir dir="${outputDir}" />
87                 <copy todir="${outputDir}">
88                         <fileset dir="${resourceDir}" />
89                         <fileset dir="${basedir}">
90                                 <include name="LICENS*" />
91                                 <include name="COPYING*" />
92                                 <include name="CONTRIB" />
93                                 <include name="README" />
94                         </fileset>
95                 </copy>
96         </target>
97         <target name="clean" depends="init">
98                 <delete>
99                         <fileset dir="${outputDir}">
100                                 <include name="*" />
101                                 <include name="*.*" />
102                                 <include name="**/*" />
103                                 <include name="**/*.*" />
104                         </fileset>
105                 </delete>
106                 <delete dir="${axisbuild}" />
107                 <!--    <ant dir="test" antfile="build.xml" target="clean"
108 inheritRefs="true"/> -->
109         </target>
110         <target name="realclean" depends="init, clean">
111                 <delete dir="${packageDir}" />
112         </target>
113         <target name="distclean" depends="init, realclean">
114                 <echo message="REMOVING ALL BACKUP/AUTOSAVES!" />
115                 <delete>
116                         <fileset dir=".">
117                                 <include name="#*#" />
118                                 <include name="#*.*#" />
119                                 <include name="**/#*#" />
120                                 <include name="**/#*.*#" />
121                                 <include name="*~" />
122                                 <include name="*.*~" />
123                                 <include name="**/*~" />
124                                 <include name="**/*.*~" />
125                         </fileset>
126                 </delete>
127         </target>
128         <target name="build1.4" depends="init,prepare" if="target1.4">
129                 <javac classpathref="build.classpath" debug="on" srcdir="${sourceDir}" destdir="${outputDir}" deprecation="on" source="1.4" target="1.4">
130                         <exclude name="uk/ac/ebi/msd/vamsas/**" />
131                         <exclude name="uk/ac/vamsas/test/document/SAXTreeViewer.*"/>
132                 </javac>
133         </target>
134         <target name="build1.5" depends="init,prepare" unless="target1.4">
135                 <javac classpathref="build.classpath" debug="on" srcdir="${sourceDir}" destdir="${outputDir}" deprecation="on" source="1.5" target="1.5">
136                         <exclude name="uk/ac/ebi/msd/vamsas/**" />
137                 </javac>
138         </target>
139         <target name="build" depends="build1.4,build1.5">
140                 <echo message="Finished building" />
141         </target>
142         <target name="jartarget1.4" if="target1.4" depends="init">
143                 <property name="vamsasClient.jar.real" value="${vamsasClient.jar}"/>
144         </target>
145         <target name="jartarget1.5" unless="target1.4" depends="init">
146                         <property name="vamsasClient.jar.real" value="${vamsasClient.jar}-j1.5"/>
147         </target>
148         <target name="jar" depends="build, javadoc,jartarget1.4,jartarget1.5">
149                 <jar destfile="${packageDir}/${vamsasClient.jar.real}.jar">
150                         <fileset dir="${outputDir}">
151                                 <exclude name="cache*/**" />
152                                 <include name="**/*" />
153                                 <exclude name="*.jar.*" />
154                                 <exclude name="**/*.jar" />
155                                 <exclude name="**/*.jar.*" />
156                                 <exclude name="*.java" />
157                                 <exclude name="**/*.java" />
158                                 <exclude name="uk/*.class" />
159                                 <exclude name="log4j.properties" />
160                                 <exclude name="commons-logging.properties" />
161                         </fileset>
162                 </jar>
163                 <jar destfile="${packageDir}/${vamsasClientDoc.jar}.jar">
164                         <fileset dir="docs/api">
165                                 <include name="**/*" />
166                         </fileset>
167                         <fileset dir="${basedir}">
168                                 <include name="README" />
169                                 <include name="CONTRIB" />
170                                 <include name="LICEN*" />
171                                 <include name="COPYING*" />
172                         </fileset>
173                 </jar>
174                 <jar destfile="${packageDir}/${vamsasSchemaDocs.jar}.jar">
175                         <fileset dir="${basedir}/schemas">
176                                 <include name="*.xsd" />
177                         </fileset>
178                         <fileset dir="${basedir}/docs/schema">
179                                 <include name="**/*" />
180                         </fileset>
181                         <fileset dir="${basedir}">
182                                 <include name="COPYING*" />
183                         </fileset>
184                 </jar>
185                 <jar destfile="${packageDir}/${vamsasClientSource.jar}.jar">
186                         <fileset dir="${basedir}">
187                                 <include name="src/**/*.java" />
188                                 <include name="src/**/*.cdr" />
189                                 <exclude name="*~" />
190                                 <exclude name="**/*.java~" />
191                                 <include name="resources/**" />
192                                 <include name="utils/**" />
193                                 <include name="tools/**" />
194                                 <include name="schemas/**" />
195                                 <include name="test" />
196                                 <include name="docs/**" />
197                                 <include name="tools/**" />
198                                 <include name="lib/**" />
199                                 <include name="README" />
200                                 <include name="CONTRIB" />
201                                 <include name="LICEN*" />
202                                 <include name="COPYING*" />
203                                 <include name="*.eclipse*" />
204                                 <include name="*.launch" />
205                                 <include name="build.xml" />
206                         </fileset>
207                 </jar>
208         </target>
209
210         <target name="javadoc" depends="init">
211                 <javadoc destdir="docs/api" classpathref="build.classpath" author="true" version="true" use="true">
212                         <fileset dir="${sourceDir}" defaultexcludes="yes">
213                                 <exclude name="**/.castor.cdr" />
214                                 <!-- this was for the old ebi packages.
215         <exclude name="uk/**"/>
216         <exclude name="uk/*.java"/> -->
217                         </fileset>
218                 </javadoc>
219         </target>
220
221 </project>
222
223