<?xml version="1.0" encoding="utf-8" ?>
<project name="clientrk-compile">

  <property name="gli" value="standalone-client-gli"/>

  <!-- TODO: 3 artificial vars -->
  <!--
  <property name="branch.path" value="trunk"/>
  <property name="branch.revision" value="HEAD"/>
  <property name="svn.root" value="https://svn.greenstone.org"/>
  -->
  
  <target name="compile">

    <!-- checkout GLI source code -->
    <exec executable="svn">
      <arg value="checkout"/>
      <arg value="${svn.root}/main/${branch.path}/gli"/>
      <arg value="${gli}"/>
      <arg value="-r"/><arg value="${branch.revision}"/>
    </exec>
    
    <!-- run makegli and makejar -->
    <if>
      <bool><equals arg1="${rk.os}" arg2="windows"/></bool>
      
      <exec executable="cmd">
	<arg value="/c"/>
	<arg value="makegli.bat"/>
      </exec>		  
      <exec executable="cmd">
	<arg value="/c"/>
	<arg value="makejar.bat"/>
      </exec>
      
      <else>
	<exec executable="/bin/bash" dir="${gli}">
	  <arg value="-c"/>
	  <arg value="makegli.sh"/>
	</exec>
	<exec executable="/bin/bash" dir="${gli}">
	  <arg value="-c"/>
	  <arg value="makejar.sh"/>
	</exec>		    
      </else>
    </if>
    
    <!-- Now that GLI.jar but also GLIServer.jar are generated,
	 can delete the src, classes and jar folders.
	 If classes didn't exist, compile failed.
	 If jar folder didn't exist, makejar failed.
	 TODO: Or is it best to test for the existence of the two .jar files?
    -->
    <delete dir="${gli}/src" quiet="true" />
    <delete dir="${gli}/classes" failonerror="true" />
    <delete dir="${gli}/jar" failonerror="true" />
    
    <!-- strip out .svn dirs -->
    <antcall target="strip-svn-dirs"><param name="dir" value="${gli}"/></antcall>
    
    <!-- create a tarball of the standalone client-gli folder -->
    <exec executable="tar" dir="${gli}">
      <arg value="xvzf"/>
      <arg value="${gli}.tar.gz"/>
    </exec>

    <!-- delete everything but the tarball -->
    <delete dir="${gli}"/>
    
  </target>  
</project>
