<?xml version="1.0" encoding="UTF-8"?>

<project
    name="javadoc"
    default="main"
    basedir=".">
	
    <property
        name="buildDirectory"
        value="${basedir}/../.." />

    <!-- = = = standard properties pattern = = = -->
    <!-- 
        First get environment variables
        Note to be cross-platform, "environment variables" are only appropriate for 
        some variables, e.g. ones we set, since properties are case sensitive, even if 
        the environment variables on your operating system are not, e.g. it will 
        be ${env.Path} not ${env.PATH} on Windows -->
    <property environment="env" />

    <!-- 
        Let users override standard properties, if desired.
        If this directory/files does not exist, then it will be ignored, 
        and defaults used.
    -->
    <property
        file="${env.LOCAL_BUILD_PROPERTIES_DIR}/${ant.project.name}.properties" />



    <property file="envjavadoc.properties" />
    <property
        name="outputDir"
        value="${basedir}" />

    <target
        name="main"
        depends="javadoc, packagetoc"
        description="Builds Plugin Javadoc" />

    <target
        name="javadoc"
        depends="getSkipJavaDocParam"
        unless="doskipJavaDoc">
    	<echo message="basedir: ${basedir}" />
    	<echo message="outputdir: ${outputDir}" />
        <echo message="classpath: ${J2SE-1.5}" />
        <echo message="buildDirectory: ${buildDirectory}" />

        <javadoc
            access="public"
            author="false"
            destdir="${outputDir}/reference/envapi"
            doctitle="${api.title}"
            nodeprecated="false"
            nodeprecatedlist="false"
            noindex="false"
            nonavbar="false"
            notree="false"
            Encoding="ISO-8859-1"
            packagenames="${api.packages}"
            sourcepath="${plugin.sourcefolders}"
            splitindex="true"
            use="true"
            version="true"
            breakiterator="yes"
            verbose="false"
        	classpath=""
            failonerror="false">
        	
            <classpath>
                <fileset dir="${buildDirectory}/plugins">
                    <include name="**/*.jar" />
                </fileset>
            </classpath>
            

        </javadoc>
    </target>

    <target name="packagetoc">
        <loadfile
            failonerror="false"
            property="wtp.packages"
            srcFile="${outputDir}/reference/envapi/package-list">
            <filterchain>
                <filterreader
                    classname="org.apache.tools.ant.filters.PrefixLines">
                    <param
                        name="prefix"
                        value="&lt;/package&gt;&lt;package&gt;" />
                </filterreader>
                <striplinebreaks />
            </filterchain>
        </loadfile>

        <!-- Create packages.xml file -->
        <echo file="envpackages.xml">
            &lt;packages&gt;&lt;package&gt;${wtp.packages}&lt;/package&gt;&lt;/packages&gt;
        </echo>

        <xslt
            basedir="${basedir}"
            in="envpackages.xml"
            out="envjavadoctoc.xml"
            style="envjavadocToc.xsl">
            <outputproperty
                name="method"
                value="xml" />
            <outputproperty
                name="indent"
                value="yes" />
        </xslt>
    </target>
    
    <target
        name="getSkipJavaDocParam"
        if="skipJavaDoc">
        <echo message="skipJavaDoc: ${skipJavaDoc}" />
        <condition property="doskipJavaDoc">
            <equals
                arg1="${skipJavaDoc}"
                arg2="true"
                trim="true"
                casesensitive="false" />
        </condition>
    </target>
</project>