blob: ccdb516fe98d85d0c417d63564136f93e10db2f9 [file] [log] [blame]
<?xml version="1.0" ?>
<project name="XDoclet" default="main">
<property name="log4j.jar" location="../../lib/optional/log4j.jar"/>
<property name="xdoclet.jar" location="lib/xdoclet.jar"/>
<property name="src.dir"
location="../../src/main/org/apache/tools/ant"/>
<property name="src.root"
location="../../src/main"/>
<property name="docs.src"
location="../../xdocs"/>
<property name="build.dir" location="build"/>
<property name="gen.dir" location="${build.dir}/gen"/>
<property name="template.dir" location="templates"/>
<property name="task.properties.template"
location="${template.dir}/task_defaults_properties.template"/>
<property name="type.properties.template"
location="${template.dir}/type_defaults_properties.template"/>
<property name="task_xdoc.template"
location="${template.dir}/task_xdoc.template"/>
<property name="datatype_xdoc.template"
location="${template.dir}/datatype_xdoc.template"/>
<target name="init">
<mkdir dir="${build.dir}" />
<mkdir dir="${gen.dir}" />
<!-- hack, this should be outside a target but ${build.dir} gets stripped ?? -->
<path id="xdoclet.classpath">
<pathelement location="${log4j.jar}"/>
<pathelement location="${xdoclet.jar}"/>
<!-- javadoc is needed -->
<pathelement path="${java.class.path}"/>
<pathelement location="${build.dir}"/>
</path>
<taskdef name="document"
classname="xdoclet.doc.DocumentDocletTask"
classpathref="xdoclet.classpath"/>
</target>
<target name="clean">
<delete dir="${build.dir}"/>
</target>
<target name="compile" depends="init">
<javac srcdir="src" destdir="${build.dir}"
debug="true" classpathref="xdoclet.classpath"/>
<taskdef name="xdocs"
classname="org.apache.tools.ant.xdoclet.AntXDocletTask"
classpathref="xdoclet.classpath"/>
</target>
<target name="gen" depends="compile">
<xdocs sourcepath="${src.root}"
destdir="${gen.dir}"
mergedir="${basedir}/src"
classpathref="xdoclet.classpath">
<fileset dir="${src.dir}">
<include name="**/*.java" unless="class.name"/>
<include name="**/${class.name}.java" if="class.name"/>
</fileset>
<!-- Generate XML task descriptor files -->
<tasks templateFile="${task_xdoc.template}"
destinationfile="{0}.xml"/>
<!-- Generate XML datatype descriptor files -->
<datatypes templateFile="${datatype_xdoc.template}"
destdir="${gen.dir}/datatypes"
destinationfile="{0}.xml"/>
<!-- @todo - with some additional logic in these subtasks, they
could be used similar to above instead of <template> -->
<!-- Generate task defaults.properties -->
<template subTaskClassName="org.apache.tools.ant.xdoclet.TaskSubTask"
templateFile="${task.properties.template}"
destinationfile="task_defaults.properties"/>
<!-- Generate datatype defaults.properties -->
<template subTaskClassName="org.apache.tools.ant.xdoclet.DatatypeSubTask"
templateFile="${type.properties.template}"
destinationfile="type_defaults.properties"/>
<!-- Generate to-do list -->
<info destdir="${gen.dir}/todo/ant"
header="To-do List"
projectname="Ant"/>
</xdocs>
</target>
<target name="document" depends="init">
<document sourcepath="${basedir}/src"
destdir="${gen.dir}"
mergedir="${basedir}/src"
classpathref="xdoclet.classpath">
<fileset dir="${basedir}/src">
<include name="**/*.java" unless="class.name"/>
<include name="**/${class.name}.java" if="class.name"/>
</fileset>
<info destdir="${gen.dir}/todo/xdocs"/>
<!-- This is currently broken, checking into...
<documenttags/> -->
</document>
</target>
<target name="docs" depends="gen">
<mkdir dir="${build.dir}/docs" />
<!-- Copy stuff so things are in the correct relative location. -->
<copy todir="${build.dir}/docs">
<fileset dir="${basedir}/../../docs" includes="artwork/**" />
</copy>
<mkdir dir="${basedir}/xdocs" />
<copy todir="${basedir}/xdocs">
<fileset dir="${docs.src}" includes="stylesheets/project.xml" />
</copy>
<!-- Generate HTML using DVSL -->
<ant dir="dvsl"/>
</target>
<target name="main" depends="gen,document"/>
</project>