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.
7 * Earlier versions have also been incorporated into Jalview version 2.4
8 * since 2008, and TOPALi version 2 since 2007.
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.
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.
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/>.
23 <project name="vamsas-client" default="build" basedir=".">
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">
45 <include name="*.jar" />
46 <include name="**/*.jar" />
49 <include name="*.jar" />
50 <include name="**/*.jar" />
57 <path id="build.classpath">
58 <fileset dir="${toolsDir}">
59 <include name="*.jar" />
60 <include name="**/*.jar" />
63 <fileset dir="${libDir}">
64 <include name="*.jar" />
65 <include name="**/*.jar" />
67 <!-- path refid="axis.classpath" -->
70 <target name="cleancoresource" depends="init" description="Clean automatically generated packages">
72 <fileset dir="${sourceDir}/${vamsas.schema.package.src}">
73 <include name="*.java" />
74 <include name="descriptors/*.java" />
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}" />
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" />
97 <target name="clean" depends="init">
99 <fileset dir="${outputDir}">
101 <include name="*.*" />
102 <include name="**/*" />
103 <include name="**/*.*" />
106 <delete dir="${axisbuild}" />
107 <!-- <ant dir="test" antfile="build.xml" target="clean"
108 inheritRefs="true"/> -->
110 <target name="realclean" depends="init, clean">
111 <delete dir="${packageDir}" />
113 <target name="distclean" depends="init, realclean">
114 <echo message="REMOVING ALL BACKUP/AUTOSAVES!" />
117 <include name="#*#" />
118 <include name="#*.*#" />
119 <include name="**/#*#" />
120 <include name="**/#*.*#" />
121 <include name="*~" />
122 <include name="*.*~" />
123 <include name="**/*~" />
124 <include name="**/*.*~" />
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.*"/>
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/**" />
139 <target name="build" depends="build1.4,build1.5">
140 <echo message="Finished building" />
142 <target name="jartarget1.4" if="target1.4" depends="init">
143 <property name="vamsasClient.jar.real" value="${vamsasClient.jar}"/>
145 <target name="jartarget1.5" unless="target1.4" depends="init">
146 <property name="vamsasClient.jar.real" value="${vamsasClient.jar}-j1.5"/>
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" />
163 <jar destfile="${packageDir}/${vamsasClientDoc.jar}.jar">
164 <fileset dir="docs/api">
165 <include name="**/*" />
167 <fileset dir="${basedir}">
168 <include name="README" />
169 <include name="CONTRIB" />
170 <include name="LICEN*" />
171 <include name="COPYING*" />
174 <jar destfile="${packageDir}/${vamsasSchemaDocs.jar}.jar">
175 <fileset dir="${basedir}/schemas">
176 <include name="*.xsd" />
178 <fileset dir="${basedir}/docs/schema">
179 <include name="**/*" />
181 <fileset dir="${basedir}">
182 <include name="COPYING*" />
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" />
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"/> -->