SAXTreeViewer requires java 1.5 or later.
[vamsas.git] / build.xml
1 <?xml version="1.0"?>
2 <!--
3   This file is part of the Vamsas Client version 0.1. 
4   Copyright 2009 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                 <property name="vamsasClient.jar" value="vamsas-client.jar" />
34                 <property name="vamsasClientDoc.jar" value="vamsas-client-docs.jar" />
35                 <property name="vamsasClientSource.jar" value="vamsas-client-src-doc.jar" />
36                 <property name="vamsasSchemaDocs.jar" value="vamsas-schema-and-doc.jar" />
37                 <property name="vamsas.schema" value="schemas/vamsas.xsd" />
38                 <property name="vamsas.doc.schema" value="schemas/vamsasDocument.xsd" />
39                 <property name="vamsas.schema.package" value="uk.ac.vamsas.objects.core" />
40                 <property name="vamsas.schema.package.src" value="uk/ac/vamsas/objects/core" />
41                 <property name="vamsas.schema.sourcegen.properties" value="schemas/castorbuilder.properties" />
42                 <path id="castor.classpath">
43                         <fileset dir="tools">
44                                 <include name="*.jar" />
45                                 <include name="**/*.jar" />
46                         </fileset>
47                         <fileset dir="lib">
48                                 <include name="*.jar" />
49                                 <include name="**/*.jar" />
50                         </fileset>
51                 </path>
52
53                 <!--
54                 Build classpath
55                 -->
56                 <path id="build.classpath">
57                         <fileset dir="${toolsDir}">
58                                 <include name="*.jar" />
59                                 <include name="**/*.jar" />
60                         </fileset>
61
62                         <fileset dir="${libDir}">
63                                 <include name="*.jar" />
64                                 <include name="**/*.jar" />
65                         </fileset>
66                         <!--            path refid="axis.classpath"  -->
67                 </path>
68         </target>
69         <target name="cleancoresource" depends="init" description="Clean automatically generated packages">
70                 <delete>
71                         <fileset dir="${sourceDir}/${vamsas.schema.package.src}">
72                                 <include name="*.java" />
73                                 <include name="descriptors/*.java" />
74                         </fileset>
75                 </delete>
76         </target>
77         <target name="makecoresource" depends="init, cleancoresource" description="Generate Java source files from XSD.">
78                 <taskdef name="castor-srcgen" classname="org.castor.anttask.CastorCodeGenTask" classpathref="castor.classpath" />
79                 <!-- Should apply this to every schema file in ${vamsas.schemas} directory -->
80                 <castor-srcgen file="${vamsas.schema}" todir="${sourceDir}" package="${vamsas.schema.package}" warnings="true" nodesc="false" properties="${vamsas.schema.sourcegen.properties}" />
81                 <castor-srcgen file="${vamsas.doc.schema}" todir="${sourceDir}" package="${vamsas.schema.package}" warnings="true" nodesc="false" properties="${vamsas.schema.sourcegen.properties}" />
82         </target>
83         <target name="prepare" depends="init">
84                 <mkdir dir="${packageDir}" />
85                 <mkdir dir="${outputDir}" />
86                 <copy todir="${outputDir}">
87                         <fileset dir="${resourceDir}" />
88                         <fileset dir="${basedir}">
89                                 <include name="LICENS*" />
90                                 <include name="COPYING*" />
91                                 <include name="CONTRIB" />
92                                 <include name="README" />
93                         </fileset>
94                 </copy>
95         </target>
96         <target name="clean" depends="init">
97                 <delete>
98                         <fileset dir="${outputDir}">
99                                 <include name="*" />
100                                 <include name="*.*" />
101                                 <include name="**/*" />
102                                 <include name="**/*.*" />
103                         </fileset>
104                 </delete>
105                 <delete dir="${axisbuild}" />
106                 <!--    <ant dir="test" antfile="build.xml" target="clean"
107 inheritRefs="true"/> -->
108         </target>
109         <target name="realclean" depends="init, clean">
110                 <delete dir="${packageDir}" />
111         </target>
112         <target name="distclean" depends="init, realclean">
113                 <echo message="REMOVING ALL BACKUP/AUTOSAVES!" />
114                 <delete>
115                         <fileset dir=".">
116                                 <include name="#*#" />
117                                 <include name="#*.*#" />
118                                 <include name="**/#*#" />
119                                 <include name="**/#*.*#" />
120                                 <include name="*~" />
121                                 <include name="*.*~" />
122                                 <include name="**/*~" />
123                                 <include name="**/*.*~" />
124                         </fileset>
125                 </delete>
126         </target>
127         <target name="build1.4" depends="init,prepare" if="target1.4">
128                 <javac classpathref="build.classpath" debug="on" srcdir="${sourceDir}" destdir="${outputDir}" deprecation="on" source="1.4" target="1.4">
129                         <exclude name="uk/ac/ebi/msd/vamsas/**" />
130                         <exclude name="uk/ac/vamsas/test/document/SAXTreeViewer.*"/>
131                 </javac>
132         </target>
133         <target name="build1.5" depends="init,prepare" unless="target1.4">
134                 <javac classpathref="build.classpath" debug="on" srcdir="${sourceDir}" destdir="${outputDir}" deprecation="on" source="1.5" target="1.5">
135                         <exclude name="uk/ac/ebi/msd/vamsas/**" />
136                 </javac>
137         </target>
138         <target name="build" depends="build1.4,build1.5">
139                 <echo message="Finished building" />
140         </target>
141         <target name="jar" depends="build, javadoc">
142                 <jar destfile="${packageDir}/${vamsasClient.jar}">
143                         <fileset dir="${outputDir}">
144                                 <exclude name="cache*/**" />
145                                 <include name="**/*" />
146                                 <exclude name="*.jar.*" />
147                                 <exclude name="**/*.jar" />
148                                 <exclude name="**/*.jar.*" />
149                                 <exclude name="*.java" />
150                                 <exclude name="**/*.java" />
151                                 <exclude name="uk/*.class" />
152                                 <exclude name="log4j.properties" />
153                                 <exclude name="commons-logging.properties" />
154                         </fileset>
155                 </jar>
156                 <jar destfile="${packageDir}/${vamsasClientDoc.jar}">
157                         <fileset dir="docs/api">
158                                 <include name="**/*" />
159                         </fileset>
160                         <fileset dir="${basedir}">
161                                 <include name="README" />
162                                 <include name="CONTRIB" />
163                                 <include name="LICEN*" />
164                                 <include name="COPYING*" />
165                         </fileset>
166                 </jar>
167                 <jar destfile="${packageDir}/${vamsasSchemaDocs.jar}">
168                         <fileset dir="${basedir}/schemas">
169                                 <include name="*.xsd" />
170                         </fileset>
171                         <fileset dir="${basedir}/docs/schema">
172                                 <include name="**/*" />
173                         </fileset>
174                         <fileset dir="${basedir}">
175                                 <include name="COPYING*" />
176                         </fileset>
177                 </jar>
178                 <jar destfile="${packageDir}/${vamsasClientSource.jar}">
179                         <fileset dir="${basedir}">
180                                 <include name="src/**/*.java" />
181                                 <include name="src/**/*.cdr" />
182                                 <exclude name="*~" />
183                                 <exclude name="**/*.java~" />
184                                 <include name="resources/**" />
185                                 <include name="utils/**" />
186                                 <include name="tools/**" />
187                                 <include name="schemas/**" />
188                                 <include name="test" />
189                                 <include name="docs/**" />
190                                 <include name="tools/**" />
191                                 <include name="lib/**" />
192                                 <include name="README" />
193                                 <include name="CONTRIB" />
194                                 <include name="LICEN*" />
195                                 <include name="COPYING*" />
196                                 <include name="*.eclipse*" />
197                                 <include name="*.launch" />
198                                 <include name="build.xml" />
199                         </fileset>
200                 </jar>
201         </target>
202
203         <target name="javadoc" depends="init">
204                 <javadoc destdir="docs/api" classpathref="build.classpath" author="true" version="true" use="true">
205                         <fileset dir="${sourceDir}" defaultexcludes="yes">
206                                 <exclude name="**/.castor.cdr" />
207                                 <!-- this was for the old ebi packages.
208         <exclude name="uk/**"/>
209         <exclude name="uk/*.java"/> -->
210                         </fileset>
211                 </javadoc>
212         </target>
213
214 </project>
215
216