<?xml version="1.0" encoding="UTF-8"?>
<!-- Apache Ant script to build spec. -->

<project name="mediaann" default="main" basedir=".">
    <path id="saxon8.classpath">
        <pathelement location="saxon8/saxon8.jar"/>
    </path>
    <property name="mediaont-req-dir" value="mediaont-req/"/>
    <property name="mediaont-1.0-dir" value="mediaont-1.0/"/>
    <property name="mediaont-api-1.0-dir" value="mediaont-api-1.0/"/>
    <property name="api1.0-dir" value="api-1.0/"/>
    <property name="xmlspec2html" value="xmlspec-mediaann.xsl"/>
    
    <property name="diffformat" value="diffspec.xsl"/>
    <property name="last-public-draft" value="mediaont-req20090119"/>
    
    <target name="clean">
        <delete quiet="true" file="${mediaont-req-dir}mediaont-req.html"/>
        <delete quiet="true" file="${mediaont-1.0-dir}mediaont-1.0.html"/>
        <delete quiet="true" file="${mediaont-api-1.0-dir}mediaont-api-1.0.html"/>
    </target>
    
    <target name="validate-xsl" description="Validates all XSL files.">
        <xmlvalidate lenient="true">
            <fileset dir="." includes="*.xsl"/>
            
        </xmlvalidate>
    </target>
    
    <target name="validate-drafts" description="Validates all Media annotation spec files.">
        <xmlvalidate lenient="false" warn="yes" file="${mediaont-req-dir}mediaont-req.xml"/>        
        <xmlvalidate lenient="false" warn="yes" file="${mediaont-1.0-dir}mediaont-1.0.xml"/>        
        <xmlvalidate lenient="false" warn="yes" file="${mediaont-api-1.0-dir}mediaont-api-1.0.xml"/>
    </target>
    
    <target name="validate" depends="validate-xsl,validate-drafts"/>
    
    <target name="updateAcks"
        description="Update acknowledgements.">
        
        <get src="http://www.w3.org/2000/09/dbwg/details?group=42786&amp;public=1" dest="ackcurrent.xml"
/>
        <get src="http://www.w3.org/2000/09/dbwg/details?group=42786&amp;former=1&amp;public=1" dest="ackold.xml" 
  />
        <java fork="true" classname="net.sf.saxon.Transform">
            <classpath refid="saxon8.classpath"/>
            <arg value="-o"/>
            <arg value="acknowledgements-current.txt"/>
            <arg value="ackcurrent.xml"/>
            <arg value="generate-acknowledgements.xsl"/>
            <arg value="participating=1"/>
            
        </java>
        <java fork="true" classname="net.sf.saxon.Transform">
            <classpath refid="saxon8.classpath"/>
            <arg value="-o"/>
            <arg value="acknowledgements-old.txt"/>
            <arg value="ackold.xml"/>
            <arg value="generate-acknowledgements.xsl"/>
            <arg value="participating=0"/>
        </java>
        
    </target>
    
    <target name="html" description="Transforms xml into html.">
         <echo>Generating mediaont-req.html</echo>
        <java fork="true" classname="net.sf.saxon.Transform">
            <classpath refid="saxon8.classpath"/>
            <arg value="-o"/>
            <arg value="${mediaont-req-dir}mediaont-req.html"/>
            <arg value="${mediaont-req-dir}mediaont-req.xml"/>            
            <arg value="${xmlspec2html}"/>
            <arg value="changelogdoc=${mediaont-req-dir}/changelog.xml"/>
        </java>  
 <!--          <echo>Generating mediaont-1.0.html</echo>
        <java fork="true" classname="net.sf.saxon.Transform">
            <classpath refid="saxon8.classpath"/>
            <arg value="-o"/>
            <arg value="${mediaont-1.0-dir}mediaont-1.0.html"/>
            <arg value="${mediaont-1.0-dir}mediaont-1.0.xml"/>            
            <arg value="${xmlspec2html}"/>
            <arg value="changelogdoc=${mediaont-1.0-dir}/changelog.xml"/>
            </java>   
     <echo>Generating mediaont-api-1.0.html</echo>
        <java fork="true" classname="net.sf.saxon.Transform">
            <classpath refid="saxon8.classpath"/>
            <arg value="-o"/>
            <arg value="${mediaont-api-1.0-dir}mediaont-api-1.0.html"/>
            <arg value="${mediaont-api-1.0-dir}mediaont-api-1.0.xml"/>            
            <arg value="${xmlspec2html}"/>
            <arg value="changelogdoc=${mediaont-api-1.0-dir}/changelog.xml"/>
            </java>      -->
    </target>
    

        <path id="diffmk.classpath">
        <pathelement location="${basedir}/diffmk.jar"/>
        <pathelement location="${basedir}DiffMk.properties"/>
        </path>
        <target name="generateXMLdiff">
        <java classname="com.sun.xtc.diffmk.DiffMk" fork="true" classpath="diffmk.jar">
        <arg value="-doctype"/>
        <arg value="xmlspec"/>
        <arg value="-diff"/>
        <arg value="both"/>
        <arg value="-words"/>
        <arg value="mediaont-req/${last-public-draft}.xml"/>
        <arg value="mediaont-req/mediaont-req.xml"/>
        <arg value="diff/diff.xml"/>
        <classpath path="diffmk.jar:DiffMk.properties"> </classpath>
        </java>
        </target>
        <target name="generateHTMLdiff">
        <java fork="true" classname="net.sf.saxon.Transform">
        <classpath refid="saxon8.classpath"/>
        <arg value="-o"/>
        <arg value="diff/diff.html"/>
        <arg value="diff/diff.xml"/>
        <arg value="diffspec.xsl"/>
        </java>
        </target>
        
        <target name="postprocess-diff">
        <java fork="true" classname="net.sf.saxon.Transform">
        <classpath refid="saxon8.classpath"/>
        <arg value="-o"/>
        <arg value="diff/temp.xml"/>
        <arg value="diff/diff.xml"/>
        <arg value="diff-postprocess.xsl"/>
        </java>
        <copy tofile="diff/diff.xml"
        file="diff/temp.xml" overwrite="true"/>
        <delete file="diff/temp.xml"/>
        </target>
        
        <target name="diff" depends="generateXMLdiff, postprocess-diff, generateHTMLdiff"/>
    
    <target name="changelog" description="Update the CVS change log to be added into the specification">
        <!--        <cvschangelog destfile="changelog.xml"/> -->
        <get src="http://www.w3.org/2000/06/webdata/xslt?xslfile=http%3A%2F%2Fwww.w3.org%2F2008%2F05%2Fcvswebrss.xsl&amp;xmlfile=http%3A%2F%2Fcgi.w3.org%2Fcgi-bin%2Ftidy%3FdocAddr%3Dhttp%253A%252F%252Fdev.w3.org%252Fcvsweb%252F2008%252Fvideo%252Fmediaann%252Fmediaont-req%252Fmediaont-req.xml%26forceXML%3Don" dest="${mediaont-req-dir}/changelog.xml"/>
        <get src="http://www.w3.org/2000/06/webdata/xslt?xslfile=http%3A%2F%2Fwww.w3.org%2F2008%2F05%2Fcvswebrss.xsl&amp;xmlfile=http%3A%2F%2Fcgi.w3.org%2Fcgi-bin%2Ftidy%3FdocAddr%3Dhttp%253A%252F%252Fdev.w3.org%252Fcvsweb%252F2008%252Fvideo%252Fmediaann%252Fmediaont-1.0%252Fmediaont-1.0.xml%26forceXML%3Don" dest="${mediaont-1.0-dir}/changelog.xml"/> 
        <get src="http://www.w3.org/2000/06/webdata/xslt?xslfile=http%3A%2F%2Fwww.w3.org%2F2008%2F05%2Fcvswebrss.xsl&amp;xmlfile=http%3A%2F%2Fcgi.w3.org%2Fcgi-bin%2Ftidy%3FdocAddr%3Dhttp%253A%252F%252Fdev.w3.org%252Fcvsweb%252F2008%252Fvideo%252Fmediaann%252Fmediaont-api-1.0%252Fmediaont-api-1.0.xml%26forceXML%3Don" dest="${mediaont-api-1.0-dir}/changelog.xml"/> 
    </target>
    
    <target name="generate" description="Generate the specification without updating changelog and acknowledgments sections"
        depends="validate-drafts,html">
        <echo>WARNING: changelog.xml and acknowledgments.xml MAY be out of date. Use "main" target if necessary.</echo>
    </target>
    
    <target name="main" description="Generate the specification for a CVS commit"
        depends="updateAcks,changelog,validate-drafts,html">
        <echo>soapjms.html is ready for CVS commit</echo>
        <echo>Use target "generate" to avoid regenerating changelog.xml and acknowledgments.xml</echo>
        
    </target>
    
</project>
