<?xml version="1.0"?>
<project name="bridgedb" default="dist" basedir=".">
  
  <property file="org.bridgedb/version.props"/>
  <property name="svn.exec.svnversion" value="svnversion"/>
  
   <macrodef name="iterate">
		<attribute name="target"/>
		<sequential>
			<subant target="@{target}">
				<filelist dir=".">
					<!-- NOTE: order is important! -->
					<file name="org.bridgedb/build.xml"/>
					<file name="org.bridgedb.bio/build.xml"/>
					<file name="org.bridgedb.rdb/build.xml"/>
					<file name="org.bridgedb.tools.batchmapper/build.xml"/>
					<file name="org.bridgedb.server/build.xml"/>
					<file name="org.bridgedb.webservice.picr/build.xml"/>
					<file name="org.bridgedb.webservice.cronos/build.xml"/>
					<file name="org.bridgedb.webservice.synergizer/build.xml"/>
					<file name="org.bridgedb.webservice.biomart/build.xml"/>
					<file name="org.bridgedb.webservice.bridgerest/build.xml"/>
				</filelist>
			</subant>
		</sequential>
	</macrodef>

  <target name="dist" depends="doc">
		<iterate target="dist"/>
	
	<property name="zipbase" value="bridgedb-${bridgedb.version}"/>
	<zip destfile="${zipbase}.zip">
		<zipfileset dir="." prefix="bridgedb-${bridgedb.version}">
			<include name="batchmapper.sh"/>
			<include name="batchmapper.bat"/>
			<include name="start-server.sh"/>
			<include name="dist/*.jar"/>
			<include name="LICENSE-2.0.txt"/>
			<include name="README.txt"/>
			<include name="apidoc"/>
			<include name="webservice/gdb.config.template"/>
			<include name="webservice/contrib/bridgedb-example.pl"/>
			<include name="webservice/contrib/bridgedb-example.py"/>
		</zipfileset>
	</zip>
	<tar destfile="${zipbase}.tar.gz" compression="gzip">
		<zipfileset src="${zipbase}.zip"/>
	</tar>
	
	<property name="zipbase2" value="bridgedb-${bridgedb.version}-src"/>
	<zip destfile="${zipbase2}.zip">
		<zipfileset dir="." prefix="bridgedb-${bridgedb.version}-src">
			<include name="batchmapper.sh"/>
			<include name="batchmapper.bat"/>
			<include name="start-server.sh"/>
			<include name="LICENSE-2.0.txt"/>
			<include name="README.txt"/>
			<include name="apidoc"/>
			<include name="org.bridgedb/version.props"/>
			<include name="**/build.xml"/>
			<include name="org.bridgedb.webservice.biomart/src/org/bridgedb/webservice/biomart/filterconversion.txt"/>
			<include name="resources/*"/>
			<include name="**/*.java"/>
			<include name="**/*.jar"/>
			<include name="org.bridgedb.tools.benchmarking/*.txt"/>
			<exclude name="dist/*.jar"/>
			<include name="org.bridgedb.server/gdb.config.template"/>
			<include name="org.bridgedb.server/contrib/bridgedb-example.pl"/>
			<include name="org.bridgedb.server/contrib/bridgedb-example.py"/>
		</zipfileset>
	</zip>
	<tar destfile="${zipbase2}.tar.gz" compression="gzip">
		<zipfileset src="${zipbase2}.zip"/>
	</tar>
	
  </target>

  <target name="clean">
		<iterate target="clean"/>
  </target>

  <target name="test">
		<iterate target="test"/>
  </target>

  <target name="dist-clean">
		<iterate target="dist-clean"/>
  </target>

   <target name="doc">
     <mkdir dir="apidoc"/>
	<tstamp /> <!-- set ${TODAY} and ${TSTAMP} -->
	<exec executable="${svn.exec.svnversion}" outputproperty="subversion_revision" failifexecutionfails="false">
		<arg line="-n ."/>
	</exec>
	<javadoc destdir="apidoc"
			doctitle="BridgeDb"
			header="Revision ${subversion_revision}"
			footer="Generated ${TODAY}">
		<package name="org.bridgedb"/>
		<package name="org.bridgedb.bio"/>
		<package name="org.bridgedb.file"/>
		<package name="org.bridgedb.rdb"/>
        <package name="org.bridgedb.webservice"/>
        <package name="org.bridgedb.webservice.biomart"/>
		<sourcepath>
			<pathelement location="org.bridgedb/src"/>
			<pathelement location="org.bridgedb.bio/src"/>
		</sourcepath>
	</javadoc>
  </target> 

</project>
