<?xml version="1.0"?>

<!-- 
  Copyright (c) 2002, 2003,2004 Eteration Bilisim A.S.
  Naci Dai and others.
  
   
  All rights reserved. This program and the accompanying materials
  are made available under the terms of the Eclipse Public License v1.0
  which accompanies this distribution, and is available at
  https://www.eclipse.org/legal/epl-2.0/
  
  Contributors:
      Eteration Bilisim A.S. - initial API and implementation
      Naci Dai
  For more information on eteration, please see
  <http://www.eteration.com/>.
 -->



<project name="xdocletBuild" default="webdoclet" basedir=".">

   <!-- Init -->
   <target name="init">
      <property file="build.properties"/>

      <property name="web.dd.dir" value="${web.module.webinf}"/>
      <property name="xdoclet.force" value="true"/>
      <property name="container.type" value="web-war"/>
      
   	  <!-- Set up java.class.path -->
      <path id="project.class.path">
        <pathelement location="${web.project.dir}/${web.bin.dir}" />
        <pathelement path="${web.project.classpath}" />


     	<fileset dir="${ant.home}">
        	<include name="*/**/ant.jar"/>
      	</fileset>
        <fileset dir="${xdoclet.home}">
            	<include name="**/*.jar"/>
        </fileset>

        <!-- append the external classpath lastly -->
        <pathelement path="${java.class.path}" />
                
     </path>


   </target>

   <!-- Run EJBDoclet -->
   <target name="webdoclet" depends="init">

    <taskdef name="webdoclet" classname="xdoclet.modules.web.WebDocletTask">
		<classpath refid="project.class.path"/>
	</taskdef>

    <webdoclet 
    		destdir="${web.module.webinf}"
    		mergedir="${xdoclet.merge.dir}"
    	    excludedtags="@version,@author,@todo"
    	    addedtags="@wtp generated"
    	    force="${xdoclet.force}"
    	    verbose="true" >
    	
    	<!-- SERVLETS START -->
    	 	   <fileset dir="${web.module.src}" defaultexcludes="yes"> 
    	   	    @servlets@
    	 	   </fileset>
    	<!-- SERVLETS END -->
     	


    	  @webDoclet@
            

    	
   	</webdoclet>
 
   </target>

</project>
