<project name="genogrid" default="dist" basedir=".">

<description>
This ant build.xml makes a genogrid file release.  It excludes
some old cruft files, and maybe renames/relocates some others for
handier use. Since the genogrid is mostly Perl, ant doesn't do much else.
</description> 

  <property file="build.properties"/>
	<property environment="env"/>
  <property name="app"       value="genogrid"/>
  <property name="app.version"   value="1.0"/>
  
  <property name="dist.home"     value="${basedir}"/>  
  <property name="build.home"    value="${basedir}/build"/>
  <property name="appsrc.jar"    value="${dist.home}/${app}-${app.version}.zip"/>

  <target name="checkout" description="Checkout genogrid from gmod.cvs.sf.net">
    <cvspass cvsRoot=":pserver:anonymous@gmod.cvs.sourceforge.net:/cvsroot/gmod"
       password=""
     /> 
    <cvs cvsRoot=":pserver:anonymous@gmod.cvs.sourceforge.net:/cvsroot/gmod"
       command="checkout" compression="true"
       package="genogrid"
       dest="${basedir}"
      />
  </target>
  
  <target name="cvsupdate" description="Update genogrid from gmod.cvs.sf.net">
    <cvs cvsRoot=":pserver:anonymous@gmod.cvs.sourceforge.net:/cvsroot/gmod"
       command="update -A -d" compression="true"
       package="genogrid"
       dest="${basedir}"
      />
  </target>

  <target name="gmodrel" description="Create gmod release file set">

    <input
      message="Please enter gmodrelease path [gmodrel]:"
      addproperty="gmod.dir"
      defaultvalue="gmodrel"
    />

    <copy  todir="${gmod.dir}" verbose="true" preservelastmodified="true" >
      <fileset dir="${basedir}"  
      excludes="*.zip **/*.old/**"
      />
     </copy>
  
    <!-- now have scripts/ doc/ tandy/ augustus/ drospege/ : rearrange folders -->
    <!--
    <copy  todir="${gmod.dir}/lib" verbose="true" preservelastmodified="true" >
      <fileset dir="${basedir}/lib"  
      excludes="**/*.old/**"
      />
     </copy>
 
     <copy  todir="${gmod.dir}/bin" verbose="true" preservelastmodified="true" >
      <fileset dir="${basedir}/bin"  
      excludes="**/*.old/**"
      />
     <mapper type="glob" from="*.pl" to="gmod_*.pl"/>
    </copy>

     <copy  todir="${gmod.dir}/scripts" verbose="true" preservelastmodified="true" >
      <fileset dir="${basedir}/scripts"  
      excludes="**/*.old/**"
      />
    </copy>

    <copy  todir="${gmod.dir}/conf" verbose="true" preservelastmodified="true" >
     <fileset dir="${basedir}/conf"  
      excludes="**/*.old/** gmod.conf*"
      />
    </copy>
     
     <copy  todir="${gmod.dir}/doc" verbose="true" preservelastmodified="true" >
     <fileset dir="${basedir}/doc"   
       excludes="**/*.old/**"
      />
    </copy>
    
    -->
    
  </target>
  
  

  <target name="dist"  depends="perldoc" description="Create source file">
    <zip  destfile="${appsrc.jar}" >

    <zipfileset file="README.txt"   fullpath="${app}/README.txt"/>

    <zipfileset dir="${basedir}"  prefix="${app}"
      excludes="*.zip **/*.old/**"
      />

    <!--    
    <zipfileset dir="${basedir}/lib"      prefix="${app}/lib"
      excludes="**/*.old/**"
      />
     <zipfileset dir="${basedir}/bin"  filemode="755" prefix="${app}/bin"
       excludes="**/*.old/**"
      />
    <zipfileset dir="${basedir}/cgi-bin" filemode="755" prefix="${app}/cgi-bin"
       excludes="**/*.old/**"
      />
    <zipfileset dir="${basedir}/conf"   prefix="${app}/conf"
      excludes="**/*.old/**"
      />
    <zipfileset dir="${basedir}/doc"   prefix="${app}/doc"
       excludes="**/*.old/**"
      />
    -->
    
    </zip>
  </target>


  <target name="chkDocBuild" >
  <uptodate property="doc.isUpToDate"
            srcfile="${basedir}/doc/genome-grid-readme.pod"
            targetfile="${basedir}/README.txt"/>
  <!--          
  <uptodate property="doc.isUpToDate"
            srcfile="${basedir}/doc/genome-grid-jobs.pod"
            targetfile="${basedir}/doc/genome-grid-jobs.txt"/>
  -->
  </target>


  <target name="perldoc"  depends="chkDocBuild"  unless="doc.isUpToDate"
   description="Create Perl documentation">

    <!-- // do for each doc/.pod; special README -->
    <exec executable="perldoc">
      <env key="PERL5LIB" value="lib"/>
      <arg line="-otext -d${basedir}/README.txt ${basedir}/doc/genome-grid-readme.pod"/>
    </exec>

    <!--
    <exec executable="perldoc">
      <env key="PERL5LIB" value="lib"/>
      <arg line="-ohtml -d${basedir}/README.html ${basedir}/doc/genome-grid-readme.pod"/>
    </exec>
    -->
    
    <exec executable="pod2html">
      <env key="PERL5LIB" value="lib"/>
      <arg line=" --title='GMOD Genome Grid' --noindex --outfile=${basedir}/README.html --infile=${basedir}/doc/genome-grid-readme.pod"/>
    </exec>
    
    <exec executable="perldoc">
      <env key="PERL5LIB" value="lib"/>
      <arg line="-otext -d${basedir}/doc/genome-grid-jobs.txt ${basedir}/doc/genome-grid-jobs.pod"/>
    </exec>

  </target>


</project>
