<project name="XalanC" default="docs" basedir=".">

  <property name="name" value="xalan"/>
  <property name="Name" value="Xalan-C++"/>
  <property name="year" value="2004"/>
  
  <property name="version.VERSION" value="1"/>
  <property name="version.RELEASE" value="7"/>
  <property name="version.MINOR"   value="0"/>

  <property name="xdocs.dir" value="./xdocs"/>
  <property name="xdocs.book" value="${xdocs.dir}/sources/xalanLocal.xml"/>
  <property name="xdocs.site" value="${xdocs.dir}/sources/xalan.xml"/>  
  <property name="xdocs.style" value="${xdocs.dir}/style"/>
  <property name="xdocs.apidocs" value="${xdocs.dir}/html/apiDocs"/>  

  <property name="doc.generator" value="org.apache.stylebook.StyleBook"/>
  <property name="doc.generator.styletargz" value="${xdocs.dir}/xml-site-style.tar.gz"/>
  <property name="doc.generator.styletar" value="${xdocs.dir}/xml-site-style.tar"/>
  
  <property name="build.dir" value="./build"/>

  <property name="build.docs" value="${build.dir}/docs"/>
  <property name="build.apidocs" value="${build.docs}/apidocs"/>  
  <property name="site.dir" value="./xml-site"/>
  
  <property name="package.name"         value="Xalan-C"/>
  <property name="docs.package.name"    value="${build.dir}/${package.name}_${version.VERSION}_${version.RELEASE}-docs"/>
  <property name="webdocs.package.name" value="${build.dir}/${package.name}_${version.VERSION}_${version.RELEASE}-webdocs"/>
  <property name="src.package.name"     value="${build.dir}/${package.name}_${version.VERSION}_${version.RELEASE}-src"/>  

  <target name="prepare">
    <gunzip src="${doc.generator.styletargz}"/>
    <untar src="${doc.generator.styletar}" dest="${xdocs.dir}"/>
	<delete file="${doc.generator.styletar}"/>
    <mkdir dir="${build.apidocs}"/>
    <mkdir dir="${site.dir}/apidocs"/>
    <!--echo message="Transform commits.xml and put the result in ${xdocs.dir}/DONE"/>
    <java fork="yes" classname="org.apache.xalan.xslt.Process" classpath="${java.class.path}">
      <arg line="-in commits.xml -xsl ${xdocs.style}/stylesheets/done-c.xsl -out xdocs/sources/xalan/DONE"/>
    </java-->        
    
  </target>

  <target name="docs" depends="prepare, apidocs">
    <java fork="yes" classname="${doc.generator}" classpath="${java.class.path}">
      <arg line="targetDirectory=${build.docs} ${xdocs.book} ${xdocs.style}"/>    
    </java>  
  </target>

  <target name="apidocs" depends="prepare">
    <copy todir="${build.apidocs}">
      <fileset dir="${xdocs.apidocs}"/>
    </copy>
    <exec executable="doxygen" dir="${xdocs.dir}">
      <arg value="DoxyfileXalan"/>
    </exec>  
  </target>
    
  <target name="site" depends="prepare">
    <java fork="yes" classname="${doc.generator}" classpath="${java.class.path}">
      <arg line="targetDirectory=${site.dir} ${xdocs.site} ${xdocs.style}"/>    
    </java>
    <copy todir="${site.dir}/apidocs">
      <fileset dir="${build.apidocs}"/>
    </copy>      
      
  </target>
  
  <target name="clean">
    <delete dir="${build.dir}"/>
    <delete dir="${site.dir}"/>
  </target>
  
  <!-- =================================================================== -->
  <!-- Use FOP to create preliminary print (pdf) doc                       -->
  <!-- Note: fop.jar and xml.jar (from xml-fop) must be on classpath       -->

  <!-- This is VERY preliminary, not yet for inclusion in distribution     -->
  <!-- =================================================================== -->

  <!--Collate the xml sources into a single xml source with a litle extra structure -->
  <target name="print.docs" depends="prepare">
    <echo message="fop.jar and xml.jar must be on the classpath"/>
    <java fork="yes" classname="org.apache.xalan.xslt.Process"
      classpath="${java.class.path}:${build.dir}/xalan.jar">
      <arg line="-xsl ${xdocs.dir}/sources/xalan-c-collate.xsl 
                 -out ${xdocs.dir}/sources/xalan/xalan-c-collate.xml"/>
    </java>
    
    <!-- Transform collation into Formatting Objects 
         (with a little work on links along the way) -->    
    <java fork="yes" classname="org.apache.xalan.xslt.Process"
      classpath="${java.class.path}:${build.dir}/xalan.jar">
      <arg line="-in  ${xdocs.dir}/sources/xalan/xalan-c-collate.xml
                 -param resourceFile '../../sources/xalan/resources.xml'
                 -param project ${Name}
                 -xsl ${xdocs.style}/stylesheets/xml2fo.xsl 
                 -out ${build.docs}/xalan-c-collate.fo"/>
    </java>
    
    <!-- Use FOP to generate a pdf file -->
    <java fork="yes" classname="org.apache.fop.apps.CommandLine"
      classpath="${java.class.path}:${build.dir}/xalan.jar:${bin.dir}/fop.jar:${bin.dir}/w3c.jar">
      <arg line="${build.docs}/xalan-c-collate.fo build/docs/xalan-c.pdf"/>
    </java>
  </target>

  <!-- package documentation (user guide and apidocs) for distribution -->
  <target name="pack.docs">
    <tar tarfile="${docs.package.name}.tar" basedir="${build.docs}" includes="**"/>
    <gzip src="${docs.package.name}.tar" zipfile="${docs.package.name}.tar.gz"/>
    <delete file="${docs.package.name}.tar"/>
    
    <zip zipfile="${docs.package.name}.zip" basedir="${build.docs}" includes="**"/>
  </target>

  <!-- package documentation (user guide and apidocs) for transfer to website -->
  <target name="pack.webdocs">
    <tar tarfile="${webdocs.package.name}.tar" basedir="${site.dir}" includes="**"/>
    <gzip src="${webdocs.package.name}.tar" zipfile="${webdocs.package.name}.tar.gz"/>
    <delete file="${webdocs.package.name}.tar"/>
    
    <zip zipfile="${webdocs.package.name}.zip" basedir="${site.dir}" includes="**"/>
  </target>

  <!-- package source code for distribution -->
  <target name="pack.src">
    <tar tarfile="${src.package.name}.tar" basedir="../.." includes="xml-xalan/**" excludes="xml-xalan/c/build/** xml-xalan/c/xml-site/**" defaultexcludes="no"/>
    <gzip src="${src.package.name}.tar" zipfile="${src.package.name}.tar.gz"/>
    <delete file="${src.package.name}.tar"/>
    
    <!-- this rule is not picking up the CVS directories dd anybody know how to fix? -->
    <zip zipfile="${src.package.name}.zip" basedir="../.." includes="xml-xalan/**" excludes="xml-xalan/c/build/** xml-xalan/c/xml-site/**" defaultexcludes="no"/>
  </target>
  
</project>