<?xml version="1.0" encoding="utf-8" ?>
<!--
		.......................................................... 
		July 2009
		Source Release Kit for Greenstone3 (sork3)
		Oran Fry
		..........................................................
-->

<project name="sork3-build" default="sork3">
	
	<!-- IMPORT OTHER ANT SCRIPTS -->
	<import file="${rk.home}/shared/core/ant-scripts/shared.xml"/>
	<import file="${rk.home}/shared/greenstone3/ant-scripts/greenstone3-shared.xml"/>

	<!-- THE MAIN TARGET -->
	<target name="sork3" depends="init,gs3-init">

		<!-- store the name of the distribution -->
		<property name="dist.name" value="Greenstone-${version}-source-distribution"/>

		<!-- export the greenstone3 base code -->
		<exec executable="svn"><arg line="${global-svn-args}"/><arg value="export"/><arg value="${svn.root}/main/${branch.path}/greenstone3"/><arg value="distributions/${dist.name}"/></exec>
		<antcall target="persist-forwarded-properties">
			<param name="greenstone3basedir" value="distributions/${dist.name}"/>
		</antcall>

		<!-- set version numbers -->
		<antcall target="greenstone3-set-version-numbers"><param name="greenstone3basedir" value="${basedir}/distributions/${dist.name}"/></antcall>

		<!-- run ant prepare -->
		<ant dir="distributions/${dist.name}" target="prepare">
			<property name="properties.accepted" value="true"/>
			<property name="app.version" value="${version}"/>
			<propertyset refid="forward.properties"/>
		</ant>

		<!-- set gli version numbers -->
		<antcall target="gli-set-version-numbers"><param name="glibasedir" value="${basedir}/distributions/${dist.name}/gli"/></antcall>

		<!-- insert windows binaries -->
		<delete dir="distributions/${dist.name}/gs2build/bin/windows"/>
        <exec executable="svn"><arg line="${global-svn-args}"/><arg value="export"/><arg value="${svn.root}/main/${branch.path}/binaries/windows/bin"/><arg value="distributions/${dist.name}/gs2build/bin/windows"/></exec>
		<delete dir="distributions/${dist.name}/gs2build/bin/windows/imagemagick"/>
		<delete dir="distributions/${dist.name}/gs2build/bin/windows/ghostscript"/>

        <!-- Makes source-dist too large source to have every OS' perl-with-cpan -->
        <!-- insert perl-with-cpan for the 3 OS -->
        <!--
		<property name="win.bin" value="distributions/${dist.name}/gs2build/bin/windows"/>
		<property name="win.perl.version" value="strawberry-perl-5.32.1.1"/>
		<property name="win.perl.zip" value="${win.perl.version}-MSWin32-x86-multi-thread.zip"/>			
		<exec executable="svn" dir="${win.bin}">
		  <arg line="${global-svn-args}"/>
		  <arg value="export"/>
		  <arg value="${svn.gs2.extensions}/perl-with-cpan/${win.perl.zip}"/>
		</exec>        

		<property name="unix.perl.version" value="perl-5.32.1"/>
        
		<property name="lin.bin" value="distributions/${dist.name}/gs2build/bin/linux"/>
		<exec executable="svn">
          <arg line="${global-svn-args}"/>
		  <arg value="export"/>
		  <arg value="${svn.gs2.extensions}/perl-with-cpan/${unix.perl.version}-i686-linux-gnu-thread-multi.tar.gz"/>
		  <arg value="${lin.bin}/${unix.perl.version}-i686-linux-gnu-thread-multi.tar.gz"/>
		</exec>
        <exec executable="svn">
          <arg line="${global-svn-args}"/>
		  <arg value="export"/>
		  <arg value="${svn.gs2.extensions}/perl-with-cpan/trunk/${unix.perl.version}-x86_64-linux-thread-multi.tar.gz"/>
		  <arg value="${lin.bin}/${unix.perl.version}-x86_64-linux-thread-multi.tar.gz"/>
		</exec>
		
        <property name="mac.bin" value="distributions/${dist.name}/gs2build/bin/darwin"/>
		<property name="mac.perl.tarball" value="${unix.perl.version}-darwin-thread-multi-2level.tar.gz"/>
        <exec executable="svn">
          <arg line="${global-svn-args}"/>
          <arg value="export"/>
          <arg value="${svn.gs2.extensions}/perl-with-cpan/trunk/${mac.perl.tarball}"/>
          <arg value="${mac.bin}/${mac.perl.tarball}"/>
        </exec>
        -->
		<!-- DONE perl-with-cpan for the 3 OS -->
		
		<!-- clean up -->
		<delete file="distributions/${dist.name}/gs2build/bin/linux/mgquery_old" />
		<delete file="distributions/${dist.name}/build.properties.svn"/>
		<delete><fileset dir="distributions/${dist.name}/packages" includes="**/*.zip,**/*.tar.gz"/></delete>

		<!-- run greenstone3's own targets for fixing execute permissions -->
		<ant dir="distributions/${dist.name}">
			<target name="fix-execute-permissions"/>
			<target name="fix-execute-permissions-source"/>
			<propertyset refid="forward.properties"/>
			<property name="properties.accepted" value="true"/>
		</ant>

		<!-- create the archives -->
		<mkdir dir="products"/>
		<delete file="products/${dist.name}.zip"/>
		<zip destfile="products/${dist.name}.zip"  basedir="distributions" includes="${dist.name}/**/*"/>
		<exec dir="distributions" executable="tar">
			<arg line="-czf ../products/${dist.name}.tar.gz ${dist.name}"/>
		</exec>

		<!-- create the sourcecode component -->
		<ant dir="${basedir}" antfile="${rk.home}/kits/${rk.name}/ant-scripts/create-sourcecode-component.xml" target="create-sourcecode-component"/>
	</target>

	<target name="properties" depends="core-properties,gs3-properties"/>

</project>
