added legacy import of version 0.1 SessionLists
[vamsas.git] / build.xml
index d42cc2e..ac19664 100644 (file)
--- a/build.xml
+++ b/build.xml
@@ -1,41 +1,68 @@
 <?xml version="1.0"?>
+<!--
+   * This file is part of the Vamsas Client version 0.2. 
+   * Copyright 2010 by Jim Procter, Iain Milne, Pierre Marguerite, 
+   *  Andrew Waterhouse and Dominik Lindner.
+   * 
+   * Earlier versions have also been incorporated into Jalview version 2.4 
+   * since 2008, and TOPALi version 2 since 2007.
+   * 
+   * The Vamsas Client is free software: you can redistribute it and/or modify
+   * it under the terms of the GNU Lesser General Public License as published by
+   * the Free Software Foundation, either version 3 of the License, or
+   * (at your option) any later version.
+   *  
+   * The Vamsas Client is distributed in the hope that it will be useful,
+   * but WITHOUT ANY WARRANTY; without even the implied warranty of
+   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   * GNU Lesser General Public License for more details.
+   * 
+   * You should have received a copy of the GNU Lesser General Public License
+   * along with the Vamsas Client.  If not, see <http://www.gnu.org/licenses/>.
+-->
 <project name="vamsas-client" default="build" basedir=".">
 
        <target name="init">
-               <property name="libDir" value="lib"/>
-               <property name="toolsDir" value="tools"/>
-               <property name="resourceDir" value="resources"/>
+               <!--<property name="target1.4" value="true"> -->
+               <property name="libDir" value="lib" />
+               <property name="toolsDir" value="tools" />
+               <property name="resourceDir" value="resources" />
                <property name="sourceDir" value="src" />
                <property name="outputDir" value="classes" />
                <property name="packageDir" value="packages" />
+               <!-- .jar gets added when the property is used -->
+               <property name="vamsasClient.jar" value="vamsas-client" /> 
+               <property name="vamsasClientDoc.jar" value="vamsas-client-docs" />
+               <property name="vamsasClientSource.jar" value="vamsas-client-src-doc" />
+               <property name="vamsasSchemaDocs.jar" value="vamsas-schema-and-doc" />
                <property name="vamsas.schema" value="schemas/vamsas.xsd" />
                <property name="vamsas.doc.schema" value="schemas/vamsasDocument.xsd" />
-               <property name="vamsas.schema.package" value="org.vamsas.objects.core" />
-               <property name="vamsas.schema.package.src" value="org/vamsas/objects/core" />
-               <property name="vamsas.schema.sourcegen.properties" value="schemas/castorbuilder.properties"/>
+               <property name="vamsas.schema.package" value="uk.ac.vamsas.objects.core" />
+               <property name="vamsas.schema.package.src" value="uk/ac/vamsas/objects/core" />
+               <property name="vamsas.schema.sourcegen.properties" value="schemas/castorbuilder.properties" />
                <path id="castor.classpath">
                        <fileset dir="tools">
-                               <include name="*.jar"/>
-                               <include name="**/*.jar"/>
+                               <include name="*.jar" />
+                               <include name="**/*.jar" />
                        </fileset>
                        <fileset dir="lib">
-                               <include name="*.jar"/>
-                               <include name="**/*.jar"/>
+                               <include name="*.jar" />
+                               <include name="**/*.jar" />
                        </fileset>
                </path>
-                       
+
                <!--
                Build classpath
                -->
                <path id="build.classpath">
                        <fileset dir="${toolsDir}">
-                               <include name="*.jar"/>
-                               <include name="**/*.jar"/>
+                               <include name="*.jar" />
+                               <include name="**/*.jar" />
                        </fileset>
 
                        <fileset dir="${libDir}">
-                               <include name="*.jar"/>
-                               <include name="**/*.jar"/>
+                               <include name="*.jar" />
+                               <include name="**/*.jar" />
                        </fileset>
                        <!--            path refid="axis.classpath"  -->
                </path>
        <target name="cleancoresource" depends="init" description="Clean automatically generated packages">
                <delete>
                        <fileset dir="${sourceDir}/${vamsas.schema.package.src}">
-                               <include name="*.java"/>
+                               <include name="*.java" />
+                               <include name="descriptors/*.java" />
                        </fileset>
                </delete>
        </target>
        <target name="makecoresource" depends="init, cleancoresource" description="Generate Java source files from XSD.">
-       <taskdef name="castor-srcgen"
-                 classname="org.exolab.castor.tools.ant.taskdefs.CastorSourceGenTask"
-             classpathref="castor.classpath" />
-       <!-- Should apply this to every schema file in ${vamsas.schemas} directory -->
-               <castor-srcgen file="${vamsas.schema}"
-             todir="${sourceDir}"
-             package="${vamsas.schema.package}"
-             warnings="false" 
-                 nodesc="false"
-               properties="${vamsas.schema.sourcegen.properties}"
-       />      
-               <castor-srcgen file="${vamsas.doc.schema}"
-                             todir="${sourceDir}"
-                             package="${vamsas.schema.package}"
-                             warnings="false" 
-                                 nodesc="false"
-                               properties="${vamsas.schema.sourcegen.properties}"
-                       />      
+               <taskdef name="castor-srcgen" classname="org.castor.anttask.CastorCodeGenTask" classpathref="castor.classpath" />
+               <!-- Should apply this to every schema file in ${vamsas.schemas} directory -->
+               <castor-srcgen file="${vamsas.schema}" todir="${sourceDir}" package="${vamsas.schema.package}" warnings="true" nodesc="false" properties="${vamsas.schema.sourcegen.properties}" />
+               <castor-srcgen file="${vamsas.doc.schema}" todir="${sourceDir}" package="${vamsas.schema.package}" warnings="true" nodesc="false" properties="${vamsas.schema.sourcegen.properties}" />
        </target>
        <target name="prepare" depends="init">
-               <mkdir dir="${packageDir}"/>
-               <mkdir dir="${outputDir}"/>
+               <mkdir dir="${packageDir}" />
+               <mkdir dir="${outputDir}" />
                <copy todir="${outputDir}">
                        <fileset dir="${resourceDir}" />
+                       <fileset dir="${basedir}">
+                               <include name="LICENS*" />
+                               <include name="COPYING*" />
+                               <include name="CONTRIB" />
+                               <include name="README" />
+                       </fileset>
                </copy>
        </target>
        <target name="clean" depends="init">
                <delete>
                        <fileset dir="${outputDir}">
-                               <include name="*"/>
-                               <include name="*.*"/>
-                               <include name="**/*"/>
-                               <include name="**/*.*"/>
+                               <include name="*" />
+                               <include name="*.*" />
+                               <include name="**/*" />
+                               <include name="**/*.*" />
                        </fileset>
                </delete>
-               <delete dir="${axisbuild}"/>
+               <delete dir="${axisbuild}" />
                <!--    <ant dir="test" antfile="build.xml" target="clean"
 inheritRefs="true"/> -->
        </target>
        <target name="realclean" depends="init, clean">
-               <delete dir="${packageDir}"/>
+               <delete dir="${packageDir}" />
        </target>
        <target name="distclean" depends="init, realclean">
-               <echo message="REMOVING ALL BACKUP/AUTOSAVES!"/>
+               <echo message="REMOVING ALL BACKUP/AUTOSAVES!" />
                <delete>
                        <fileset dir=".">
-                               <include name="#*#"/>
-                               <include name="#*.*#"/>
-                               <include name="**/#*#"/>
-                               <include name="**/#*.*#"/>
-                               <include name="*~"/>
-                               <include name="*.*~"/>
-                               <include name="**/*~"/>
-                               <include name="**/*.*~"/>
+                               <include name="#*#" />
+                               <include name="#*.*#" />
+                               <include name="**/#*#" />
+                               <include name="**/#*.*#" />
+                               <include name="*~" />
+                               <include name="*.*~" />
+                               <include name="**/*~" />
+                               <include name="**/*.*~" />
                        </fileset>
                </delete>
        </target>
+       <target name="build1.4" depends="init,prepare" if="target1.4">
+               <javac classpathref="build.classpath" debug="on" srcdir="${sourceDir}" destdir="${outputDir}" deprecation="on" source="1.4" target="1.4">
+                       <exclude name="uk/ac/ebi/msd/vamsas/**" />
+                       <exclude name="uk/ac/vamsas/test/document/SAXTreeViewer.*"/>
+               </javac>
+       </target>
+       <target name="build1.5" depends="init,prepare" unless="target1.4">
+               <javac classpathref="build.classpath" debug="on" srcdir="${sourceDir}" destdir="${outputDir}" deprecation="on" source="1.5" target="1.5">
+                       <exclude name="uk/ac/ebi/msd/vamsas/**" />
+               </javac>
+       </target>
+       <target name="build" depends="build1.4,build1.5">
+               <echo message="Finished building" />
+       </target>
+       <target name="jartarget1.4" if="target1.4" depends="init">
+               <property name="vamsasClient.jar.real" value="${vamsasClient.jar}"/>
+       </target>
+       <target name="jartarget1.5" unless="target1.4" depends="init">
+                       <property name="vamsasClient.jar.real" value="${vamsasClient.jar}-j1.5"/>
+       </target>
+       <target name="jar" depends="build, javadoc,jartarget1.4,jartarget1.5">
+               <jar destfile="${packageDir}/${vamsasClient.jar.real}.jar">
+                       <fileset dir="${outputDir}">
+                               <exclude name="cache*/**" />
+                               <include name="**/*" />
+                               <exclude name="*.jar.*" />
+                               <exclude name="**/*.jar" />
+                               <exclude name="**/*.jar.*" />
+                               <exclude name="*.java" />
+                               <exclude name="**/*.java" />
+                               <exclude name="uk/*.class" />
+                               <exclude name="log4j.properties" />
+                               <exclude name="commons-logging.properties" />
+                       </fileset>
+               </jar>
+               <jar destfile="${packageDir}/${vamsasClientDoc.jar}.jar">
+                       <fileset dir="docs/api">
+                               <include name="**/*" />
+                       </fileset>
+                       <fileset dir="${basedir}">
+                               <include name="README" />
+                               <include name="CONTRIB" />
+                               <include name="LICEN*" />
+                               <include name="COPYING*" />
+                       </fileset>
+               </jar>
+               <jar destfile="${packageDir}/${vamsasSchemaDocs.jar}.jar">
+                       <fileset dir="${basedir}/schemas">
+                               <include name="*.xsd" />
+                       </fileset>
+                       <fileset dir="${basedir}/docs/schema">
+                               <include name="**/*" />
+                       </fileset>
+                       <fileset dir="${basedir}">
+                               <include name="COPYING*" />
+                       </fileset>
+               </jar>
+               <jar destfile="${packageDir}/${vamsasClientSource.jar}.jar">
+                       <fileset dir="${basedir}">
+                               <include name="src/**/*.java" />
+                               <include name="src/**/*.cdr" />
+                               <exclude name="*~" />
+                               <exclude name="**/*.java~" />
+                               <include name="resources/**" />
+                               <include name="utils/**" />
+                               <include name="tools/**" />
+                               <include name="schemas/**" />
+                               <include name="test" />
+                               <include name="docs/**" />
+                               <include name="tools/**" />
+                               <include name="lib/**" />
+                               <include name="README" />
+                               <include name="CONTRIB" />
+                               <include name="LICEN*" />
+                               <include name="COPYING*" />
+                               <include name="*.eclipse*" />
+                               <include name="*.launch" />
+                               <include name="build.xml" />
+                       </fileset>
+               </jar>
+       </target>
 
-       <target name="build" depends="init, prepare">
-               <!-- not efficient yet. : use excludes="*/localtest/*.java" if local tests are not building -->
-               <javac classpathref="build.classpath" debug="on" srcdir="${sourceDir}" destdir="${outputDir}" />
+       <target name="javadoc" depends="init">
+               <javadoc destdir="docs/api" classpathref="build.classpath" author="true" version="true" use="true">
+                       <fileset dir="${sourceDir}" defaultexcludes="yes">
+                               <exclude name="**/.castor.cdr" />
+                               <!-- this was for the old ebi packages.
+       <exclude name="uk/**"/>
+       <exclude name="uk/*.java"/> -->
+                       </fileset>
+               </javadoc>
        </target>
 
 </project>