
<project name="UmlGraphExample" default="uml" basedir=".">

   <target name="uml" depends="prepare,doclet,dot" />

   <target name="prepare">

      <property name="m2.repo" value="c:\java\m2-repository"/>
      
      <property name="src.dir" value="${basedir}/src"/>
      <property name="uml.dir" value="${basedir}/target/uml"/>
      <property name="src.java.dir" value="${src.dir}/java"/>
      <property name="src.uml.dir" value="${src.dir}/uml"/>

      
      <property name="umlgraph.jar" 
                value="${m2.repo}/umlgraph/UMLGraph/4.2-SNAPSHOT/UMLGraph-4.2-SNAPSHOT.jar"/>

      <echo>m2.repo ${m2.repo}</echo>
      <echo>src.dir ${src.dir}</echo>
      <echo>uml.dir ${uml.dir}</echo>
      <echo>src.java.dir ${src.java.dir}</echo>
      <echo>src.uml.dir ${src.uml.dir}</echo>
      
      <mkdir dir="${uml.dir}"/>

      <path id="uml.source.path">
         <pathelement path="${src.uml.dir}/"/>
         <pathelement path="${src.java.dir}"/>
      </path>

      <path id="classpath">
         <pathelement path="${m2.repo}\javax\servlet\servlet-api\2.4\servlet-api-2.4.jar"/>
         <pathelement path="${m2.repo}\javax\servlet\jsp-api\2.0\jsp-api-2.0.jar"/>
         <pathelement path="${m2.repo}\tiles\tiles-core\SNAPSHOT\tiles-core-SNAPSHOT.jar"/>
         <pathelement path="${m2.repo}\myfaces\myfaces-api\1.1.1\myfaces-api-1.1.1.jar"/>
         <pathelement path="${m2.repo}\commons-logging\commons-logging\1.0.4\commons-logging-1.0.4.jar"/>
         <pathelement path="${m2.repo}\commons-chain\commons-chain\1.0\commons-chain-1.0.jar"/>
         <pathelement path="${m2.repo}\commons-beanutils\commons-beanutils\1.7.0\commons-beanutils-1.7.0.jar"/>
         <pathelement path="${m2.repo}\commons-validator\commons-validator\1.2.0\commons-validator-1.2.0.jar"/>
         <pathelement path="${m2.repo}\commons-collections\commons-collections\3.0\commons-collections-3.0.jar"/>
         <pathelement path="${m2.repo}\commons-digester\commons-digester\1.6\commons-digester-1.6.jar"/>
         <pathelement path="${m2.repo}\commons-fileupload\commons-fileupload\1.0\commons-fileupload-1.0.jar"/>
         <pathelement path="${m2.repo}\junit\junit\3.8.1\junit-3.8.1.jar"/>
         <pathelement path="${m2.repo}\org\springframework\spring\1.2.6\spring-1.2.6.jar"/>
      </path>

   </target>
   
   <target name="doclet">
   
      <javadoc sourcepathref="uml.source.path" packagenames="*" package="true"
            classpathref="classpath">
         <doclet name="gr.spinellis.umlgraph.doclet.UmlGraph" path="${umlgraph.jar}">
            <param name="-d" value="${uml.dir}"/>
            <param name="-views" />
         </doclet>
      </javadoc>

   </target>
    

   <target name="dot">
      <apply executable="dot" dest="${uml.dir}" parallel="false">
         <arg value="-Tpng"/>
         <arg value="-o"/>
         <targetfile/>
         <srcfile/>
         <fileset dir="${uml.dir}" includes="*.dot"/>
         <mapper type="glob" from="*.dot" to="*.png"/>
      </apply>

   </target>

</project>

